K8s Ingress Controller

💡
注意!K3s 預設會裝好 Ingress controller:Traefik,不是 Nginx!!!

檢查 Traefik

kk get all -n kube-system
結果:
NAME READY STATUS RESTARTS AGE pod/coredns-597584b69b-9dhft 1/1 Running 0 24d pod/local-path-provisioner-79f67d76f8-dz2hx 1/1 Running 0 24d pod/helm-install-traefik-crd-qhjdv 0/1 Completed 0 24d pod/svclb-traefik-a930c50e-fwt8b 2/2 Running 0 24d pod/helm-install-traefik-krfpw 0/1 Completed 1 24d pod/traefik-66c46d954f-cw9wc 1/1 Running 0 24d pod/metrics-server-5f9f776df5-wg8jf 1/1 Running 0 24d NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP,9153/TCP 24d service/metrics-server ClusterIP 10.43.4.183 <none> 443/TCP 24d service/traefik LoadBalancer 10.43.206.173 140.119.163.226 80:32280/TCP,443:30895/TCP 24d NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/svclb-traefik-a930c50e 1 1 1 1 1 <none> 24d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/coredns 1/1 1 1 24d deployment.apps/local-path-provisioner 1/1 1 1 24d deployment.apps/traefik 1/1 1 1 24d deployment.apps/metrics-server 1/1 1 1 24d NAME DESIRED CURRENT READY AGE replicaset.apps/coredns-597584b69b 1 1 1 24d replicaset.apps/local-path-provisioner-79f67d76f8 1 1 1 24d replicaset.apps/traefik-66c46d954f 1 1 1 24d replicaset.apps/metrics-server-5f9f776df5 1 1 1 24d NAME COMPLETIONS DURATION AGE job.batch/helm-install-traefik-crd 1/1 17s 24d job.batch/helm-install-traefik 1/1 19s 24d
確認有 Traefik 之後就可以進一步檢查 ingressClassName
kk get ingressClass -n kube-system
結果:
NAME CONTROLLER PARAMETERS AGE traefik traefik.io/ingress-controller <none> 24d
可以看到 ingress class name 就是 traefik,可以填上去你的 ingress YAML 設定裡面了
可以點進去看看
K8s Ingress
大功告成!
 
 
最後弱弱附上 NGINX / Traefik 比較
 

如果是用 K3s 的話就不用在乎下面這個了

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/cloud/deploy.yaml