本文主要介紹如何建立起Flow與Kubernetes 服務的連接,從而對Kubernetes集群進行管理。
連接Kubernetes 集群
用戶可以通過 Kubernetes云服務授權和證書文件的方式,讓 Flow 將應用發布到Kubernetes 集群中。目前,Flow提供兩種連接方式可供選擇:
連接阿里云容器服務 Kubernetes 集群(ACK)
新建Kubernetes 集群
選擇集群類型為阿里云容器服務集群,添加服務連接后,在ACK集群下拉框中您可以選擇當前綁定賬號可以訪問的所有阿里云容器服務Kubernetes集群列表。
說明如無ACK集群可選須在創建ACK托管集群。
中創建集群,請參見配置集群操作管理權限
點擊邀請按鈕,您可根據具體使用需求設置管理員和使用者,以區分操作權限。
管理Kubernetes 集群
點擊保存,即可在 Kubernetes 集群管理列表中查看所創建的 Kubernetes 集群。
連接自定義 Kubernetes 集群
獲取集群配置config文件
自生成集群管理權限的 config 證書
如果需要對客戶端做細粒度的權限控制,您可以通過以下方式手動生成 config 文件:
curl -k https://<YOUR_API_SERVER_PUBLIC_IP>:6443
創建 ~/.kube/config 文件,并修改文件內容:
apiVersion: v1 clusters: - cluster: # needed if you get error "Unable to connect to the server: x509: certificate signed by unknown authority" insecure-skip-tls-verify: true server: https://YOUR_API_SERVER_PUBLIC_IP:6443 name: kubernetes contexts: - context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetes current-context: kubernetes-admin@kubernetes kind: Config preferences: {} users: - name: kubernetes-admin user: client-certificate-data: LS0tLS1CRUdJTi... (base64 /etc/kubernetes/ssl/node-node1.pem) client-key-data: LS0tLS1CRUdJTiBS.. (base64 /etc/kubernetes/ssl/node-node1-key.pem)
其中 client-certificate-data 來源于:
cat /etc/kubernetes/ssl/node-node1.pem | base64 -w 0
client-key-data 來源于以下命令的輸出:
cat /etc/kubernetes/ssl/node-node1-key.pem | base64 -w 0
驗證證書:
$ kubectl get nodes NAME STATUS AGE VERSION my-kube Ready 2h v1.6.7+coreos.0
從阿里云容器服務控制臺獲取 config 文件
對于使用了阿里云容器服務的用戶,您可以直接從阿里云控制臺中的
,在所展示的集群列表中找到您所需要關聯的集群信息,點擊詳情,在連接信息中獲取到您所需要的 config 文件。重要使用證書的方式需要用戶集群的 API Server 對外暴露公網訪問地址
新建Kubernetes 集群
選擇自定義集群,輸入集群名稱,并添加集群配置文件,配置完成后,點擊保存即可。在后續的發布任務中將使用該配置文件發布應用到遠程集群。
Kubernetes 集群權限管理
保存之后,可在目標集群點擊修改,選擇成員權限,進行權限管理。
使用Kubernetes集群
進入目標流水線編輯頁面,流水線點擊Kubernetes 發布任務,在Kubernetes Kubectl 發布。
的下拉列表里可以選擇創建好的Kubernetes目標集群。流水線運行時,自動發布到Kubernetes目標集群中,詳情請參見文檔內容是否對您有幫助?