從叢集產生設定檔

本文說明如何從現有叢集產生一組設定檔。

建立叢集的方法之一是使用 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 LoggingCloud 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 LoggingCloud 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,系統就會產生這個檔案