2.8 KiB
2.8 KiB
snippets for k3s
Install k3s
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 <none> 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://<External-IP> should return well known nginx-404-page:
dominik@muggler:~$ curl -s http://10.62.94.246
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.19.1</center>
</body>
</html>
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:
[...]