需求:外部 Jenkins 需要連接 Rancher 中的 Kubernetes 集群。
1、集群 config 文件
Rancher 首頁,"集群" --> 右上角"Kubeconfig 文件",后續需要用到該文件內容。
apiVersion: v1 kind: Config clusters: - name: "cicd" cluster: server: "https://rancher.xxxxxx.com/k8s/clusters/c-b5g7r" - name: "cicd-dev-cicd-k8s-master" cluster: server: "https://172.16.5.83:6443" certificate-authority-data: "LS0tLSerashtyjyurkilyrderhaURS0tLS0tCk1JSUN3akNDQ\ WFxZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFTTVJBd0RnWURWUVFERXdkcmRXSmwKT\ DhDazVKem9jTDkzZDlVSnZPTmtjdy8wRHk0SVVJMHlBZnRmb3IKaUJmbXh4K0ZnK2hRK0xMZEN1M\ Hd0MHBMY2lZMWhoS1FqOFdHc09ER0hLeHBrNlZDa2dPbHRyVURwc2E5UmtCdAp2SVVlTjNWSjNie\ mlia1NSVHhMc0t5S3FyRXZ0Y3Zldnd4enM0OTlRbWlFZmI3dmxucXM9Ci0tLS0tRU5EIENFUlRJR\ klDQVRFLS0tLS0K" users: - name: "u-42lyr7ytst" user: token: "kubeconfig-u-42lyr7ytst.c-b5g7r:45kclvgd4bh87rtvtpbqhwhf7s62fqpl" contexts: - name: "cicd" context: user: "u-42lyr7ytst" cluster: "cicd" - name: "cicd-dev-cicd-k8s-master" context: user: "u-42lyr7ytst" cluster: "cicd-dev-cicd-k8s-master" current-context: "cicd"
2、添加憑據
Jenkins 添加一個連接 kubernetes 集群的憑據。
1)類型:Secret text
2)范圍:全局
3)Secret:confi文件中的token值
4)id:kube(自定義命名)
3、配置kubernetes雲
Jenkins 系統設置 --> 最下面,增加一個雲(kubernetes)
1)名稱:kubernetes
2)Kubernetes地址:config文件中的server值,https://rancher.xxxxxx.com/k8s/clusters/c-xg99q
3)Kubernetes服務證書key:config文件中的certificate-authority-data值,但是這個值需要進行轉換,命令:echo xxxxxxxxx | base64 -d >ca.crt
4)憑據:之前創建的憑據
5)Jenkins地址:http://jenkinscicd.xxxxxx.com
連接測試提示:Connection test successful,即表示連接成功。