# snippets for k3s ## Install k3s https://k3s.io/: ``` curl -sfL https://get.k3s.io | sh - ``` ## Disable traeffic-ingress: edit /etc/systemd/system/k3s.service: ``` [...] ExecStart=/usr/local/bin/k3s \ server --disable traefik \ [...] ``` finally `systemctl daemon-reload` and `systemctl restart k3s` ## Enable nginx-ingress ### Installation https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal ### Switch ingress-Service from NodePort to LoadBalancer `kubectl edit service -n ingress-nginx` and change `type: NodePort` to `type: LoadBalancer` Port 80 and 443 should listen now on an *External-IP* `kubectl get all --all-namespaces`: ``` [...] NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE [...] ingress-nginx service/ingress-nginx-controller-admission ClusterIP 10.43.174.128 443/TCP 35m ingress-nginx service/ingress-nginx-controller LoadBalancer 10.43.237.255 10.62.94.246 80:30312/TCP,443:30366/TCP 35m [...] ``` Test: `curl -s http://` should return well known nginx-404-page: ``` dominik@muggler:~$ curl -s http://10.62.94.246 404 Not Found

404 Not Found


nginx/1.19.1
``` ### Enable nginx-ingress tcp- and udp-services for apps other than http/s `kubectl edit deployment -n ingress-nginx` and search for `spec:`/`template`/`spec`/`containers` section: ``` [...] spec: [...] template: metadata: creationTimestamp: null labels: app.kubernetes.io/component: controller app.kubernetes.io/instance: ingress-nginx app.kubernetes.io/name: ingress-nginx spec: containers: - args: - /nginx-ingress-controller - --election-id=ingress-controller-leader - --ingress-class=nginx - --configmap=ingress-nginx/ingress-nginx-controller - --validating-webhook=:8443 - --validating-webhook-certificate=/usr/local/certificates/cert - --validating-webhook-key=/usr/local/certificates/key *** ADD >>> - --tcp-services-configmap=ingress-nginx/tcp-services <<< ADD *** *** ADD >>> - --udp-services-configmap=ingress-nginx/udp-services <<< ADD *** env: [...] ```