本文說明如何從現有叢集產生一組設定檔。
建立叢集的方法之一是使用 gkectl
指令列工具。首先,您要為叢集建立一組設定檔。然後執行下列其中一個指令:
gkectl create admin
建立管理員叢集gkectl create cluster
建立使用者叢集
隨著時間推移,原始設定檔可能會與叢集的實際狀態不同步。舉例來說,如果您透過編輯自訂資源更新叢集,原始設定檔可能無法準確呈現叢集。
您也可以使用 Google Cloud 控制台建立叢集,但這樣就不會有任何叢集設定檔。日後您可能需要叢集設定檔,才能對叢集進行特定更新。
如果您懷疑原始設定檔與叢集不同步,或是沒有設定檔,可以使用 gkectl get-config
指令產生一組新的設定檔,準確呈現叢集的目前狀態。
gkectl get-config
可與下列項目搭配使用:
- 使用者叢集
- 管理員叢集
產生設定檔
如要為使用者叢集產生一組新的設定檔,請按照下列步驟操作:
gkectl get-config cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster-name USER_CLUSTER_NAME
更改下列內容:
ADMIN_CLUSTER_KUBECONFIG:管理員叢集的 kubeconfig 檔案路徑
USER_CLUSTER_NAME:使用者叢集名稱
如要為管理員叢集產生一組新的設定檔,請按照下列步驟操作:
gkectl get-config admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --bundle-path BUNDLE
更改下列內容:
ADMIN_CLUSTER_KUBECONFIG:管理員叢集的 kubeconfig 檔案
BUNDLE:Google Distributed Cloud 套裝組合檔案的路徑。套裝組合檔案位於管理員工作站,通常在
/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz
。如果沒有套裝組合檔案,可以下載。
根據預設,產生的設定檔會寫入目前目錄的子目錄。如果是使用者叢集,輸出目錄會命名為 user-cluster-config-output
。如果是管理員叢集,輸出目錄會命名為 admin-cluster-config-output
。
如要將產生的檔案放在其他目錄,可以使用 --output-dir
參數指定輸出目錄的路徑。例如:
gkectl get-config cluster --kubeconfig my-kubeconfig \ --cluster-name my-cluster \ --output-dir /home/me/configuration/generated-files
如果預設輸出目錄或指定輸出目錄中已有檔案,您必須加入 --force
標記,新產生的檔案才會取代現有檔案。否則指令會失敗。例如:
gkectl get-config cluster --kubeconfig my-kubeconfig \ --cluster-name my-cluster \ --output-dir /home/me/configuration/generated-files --force
管理員叢集的產生檔案
檔案名稱 | 說明 |
---|---|
admin-cluster.yaml |
管理員叢集設定檔
一律會產生 |
admin-cluster-creds.yaml |
叢集憑證檔案
一律會產生 |
component-access-key.json |
元件存取服務帳戶的 JSON 金鑰檔案
一律會產生 |
vcenter-ca-cert.pem |
vCenter Server 的根憑證
一律會產生 |
admin-cluster-ipblock.yaml |
叢集節點的 IP 區塊檔案
如果叢集節點使用靜態 IP 位址,系統就會產生這個檔案 |
connect-register-key.json |
連線註冊服務帳戶的 JSON 金鑰檔案 一律會產生 |
private-registry-ca.crt |
私人登錄伺服器的根憑證
如果叢集使用私人登錄,系統會產生這項憑證 |
stackdriver-key.json |
記錄監控服務帳戶的 JSON 金鑰檔案
如果叢集設定為將記錄和指標匯出至 Cloud Logging 和 Cloud Monitoring,系統就會產生這個檔案 (叢集設定檔中的 stackdriver 區段)
|
audit-logging-key.json |
稽核記錄服務帳戶的 JSON 金鑰檔案
如果叢集使用 Cloud 稽核記錄,系統會產生這個檔案 |
使用者叢集的產生檔案
檔案名稱 | 說明 |
---|---|
user-cluster.yaml |
使用者叢集設定檔
一律會產生 |
user-cluster-creds.yaml |
叢集憑證檔案
如果叢集未使用準備好的憑證,系統會產生這個檔案 |
vcenter-ca-cert.pem |
vCenter Server 的根憑證
一律會產生 |
user-cluster-ipblock.yaml |
叢集節點的 IP 區塊檔案
如果叢集節點使用靜態 IP 位址,系統就會產生這個檔案 |
private-registry-ca.crt |
私人登錄伺服器的根憑證
如果叢集使用私人登錄,系統就會產生這項憑證 |
component-access-key.json |
元件存取服務帳戶的 JSON 金鑰檔案 如果叢集未使用私有登錄檔,則會產生這個檔案 |
connect-register-key.json |
連線註冊服務帳戶的 JSON 金鑰檔案 一律會產生 |
stackdriver-key.json |
記錄監控服務帳戶的 JSON 金鑰檔案
如果叢集設定為將記錄和指標匯出至 Cloud Logging 和 Cloud Monitoring,系統就會產生這個檔案 (叢集設定檔中的 stackdriver 區段)
|
audit-logging-key.json |
稽核記錄服務帳戶的 JSON 金鑰檔案
如果叢集使用 Cloud 稽核記錄,系統會產生這個檔案 |
usage-metering-key.json |
用量計算服務帳戶的 JSON 金鑰檔案 如果叢集將用量資料儲存在 BigQuery 資料集中,系統就會產生這個檔案 |
secrets.yaml |
密鑰設定檔
如果叢集使用預先準備的憑證,系統就會產生這個檔案。 如要產生這個檔案,您必須在 gkectl get-config cluster 指令中加入 --export-secrets-config 標記。
|
sni-cert.pem |
Kubernetes API 伺服器的額外服務憑證
如果叢集設定為使用伺服器名稱指示 (SNI),系統就會產生這個憑證 |
sni-key.json |
額外服務憑證的私密金鑰檔案
如果叢集設定為使用 SNI,系統就會產生這個檔案 |