本文主要介紹如何建立起Flow與Kubernetes 服務的串連,從而對Kubernetes叢集進行管理。
串連Kubernetes 叢集
使用者可以通過 Kubernetes雲端服務授權和認證檔案的方式,讓 Flow 將應用發布到Kubernetes 叢集中。目前,Flow提供的串連方式如下:
串連自訂 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 0client-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從阿里雲Container Service控制台擷取 config 檔案
對於使用了阿里雲Container Service的使用者,您可以直接從阿里雲控制台中的,在所展示的叢集列表中找到您所需要關聯的叢集資訊,點擊詳情,在串連資訊中擷取到您所需要的 config 檔案。
重要使用認證的方式需要使用者叢集的 API Server 對外暴露公網訪問地址
在串連資訊頁面,選擇公網訪問或內網訪問標籤頁,單擊複製擷取 KubeConfig 憑證內容。
-
建立Kubernetes 叢集
選擇自訂叢集,輸入集群名稱,並添加叢集設定檔,配置完成後,點擊儲存即可。在後續的發布任務中將使用該設定檔發布應用到遠程叢集。
對話方塊中包含叢集名稱輸入框、自動產生的叢集 ID欄位,以及叢集設定檔文本域(placeholder 為
~/.kube/config)。 -
Kubernetes 叢集許可權管理
儲存之後,可在目的地組群點擊修改,選擇成員許可權,進行許可權管理。
使用Kubernetes叢集
進入目標流水線編輯頁面,流水線點擊Kubernetes 發布任務,在的下拉式清單裡可以選擇建立好的Kubernetes目的地組群。流水線運行時,自動發布到Kubernetes目的地組群中,詳情請參見Kubernetes Kubectl 發布。
在右側編輯面板的叢集串連下拉式清單中選擇已建立的目的地組群(如 corefile-test),並根據需要配置Kubectl 版本、命名空間和YAML 路徑等參數。