ingress-traefik安裝
這里假設你已經了解了ngress-traefik分別是什么,如果你還沒了解請詢問搜索引擎。這篇文章只能讓你快速的部署他們。
安裝之前
安裝之前需要確保你的集群正常運行或主節點再運行:
- 如果集群正常運行:你可以開始安裝了。
- 如果只有master節點在運行:
則在主節點執行kubectl taint nodes --all node-role.kubernetes.io/master-
命令,目的是master節點同時變成worker節點 - 如果不滿足上述情況,請您參考之前的文檔重新部署。
ingress-Traefik安裝
所有的安裝配置安裝以及需要鏡像我們都已經准備好了,只要你按照文檔的步驟執行應該可以順利的完成。
首先,生成Sceret
生成Secret需要使用證書文件,所需的證書文件已經生成好了,你只需要下載即可使用,該證書綁定的域名是:traefik-ui.local
證書:traefik-ui.pem
秘鑰:traefik-ui-key.pem
下面需要生成兩個Secret,一個用於traefik綁定到https,一個用於traefik綁定到ingress上。
//生成treafik-cert
kubectl create secret generic traefik-cert --from-file=traefik-ui-key.pem --from-file=traefik-ui.pem -n kube-system
//生成traefik-ui-cert
kubectl create secret tls traefik-ui-cert --cert=/root/certs/traefik-ui/traefik-ui.pem --key=/root/certs/traefik-ui/traefik-ui-key.pem -n kube-system
然后,創建一個ConfigMap
這個配置文件用來將http跳轉到https,下載traefik.toml配置文件,並執行創建命令:kubectl create configmap traefik-conf --from-file=traefik.toml
,此時便可在default
命名空間下創建traefik-conf
配置,執行kubectl get configmap | grep traefik-conf
命令查看結果。
最后,安裝ingress-traefik
下載ingress-traefik配置文件,使用如下命令部署traefik-controller,命令執行后需要等一段時間(由你的網速決定),因為這需要去聯網下載docker鏡像。
kubectl apply -f ingress-traefik-controller.yaml
如果你的網速實在太慢,請自行下載離線安裝
docker pull traefik:latest
查看部署狀態:kubectl get pods -n kube-system -o wide --watch|grep traefik-ingress
NAMESPACE NAME READY STATUS RESTARTS IP
kube-system traefik-ingress-controller-7994d698d8-v7cr5 1/1 Running 0 192.168.169.182
當狀態變為`Running`時便是部署成功了,這里你只會看到一個ip(這也是與ingress-nginx不同的地方):
其中192.168.169.182是docker所在網絡的ip,宿主機可以訪問。
測試ingress-nginx是否安裝成功
因為traefik自帶了服務界面,所以我們可以通過訪問該服務界面來確認traefik是否安裝成功。
配置hosts
k8s宿主機ip:194.168.1.15
測試機ip:194.168.1.5
修改測試機hosts文件,添加如下行:traefik-ui.local 194.168.1.15
最后,打開瀏覽器訪問:http://traefik-ui.local
后會自動跳轉到https://traefik-ui.local
,至此你就能看到traefik的ui界面了 。