開始使用 Config Connector
本指南將說明 Config Connector 資源管理的基本概念,並教您如何完成下列工作:
- 啟用 Google Cloud API。
- 建立及管理 Pub/Sub 主題。
事前準備
開始本頁練習之前,請先完成下列工作:
請完成所有手動安裝 Config Connector Operator 一文中的步驟,即可安裝 Config Connector。
設定 Config Connector 以使用預設命名空間。您設定為預設的命名空間,應與指定建立資源的位置時所新增註解的命名空間相同。
- Config Connector 會使用 Service Usage API 啟用服務 API。如要執行這些步驟,您必須啟用 Service Usage API。您可以使用 Google Cloud CLI 啟用此 API:
gcloud services enable serviceusage.googleapis.com
探索可用的 Google Cloud 資源
如要查看可透過 Config Connector 建立哪些類型的 Google Cloud 資源,請執行以下命令:
kubectl get crds --selector cnrm.cloud.google.com/managed-by-kcc=true
輸出結果會列出 Config Connector 版本可建立及管理的所有資源。
舉例來說,您可以使用 kubectl describe
查看 PubSubTopic
資源的 API 說明:
kubectl describe crd pubsubtopics.pubsub.cnrm.cloud.google.com
您也可以在 Config Connector 資源中查看可用資源的相關資訊。
啟用 Pub/Sub 服務
使用 Config Connector 為叢集套用 YAML 設定,啟用 Pub/Sub API:
建立名為
enable-pubsub.yaml
的檔案,然後將下列 YAML 複製到檔案中:apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 kind: Service metadata: name: pubsub.googleapis.com spec: projectRef: external: projects/PROJECT_ID
將
PROJECT_ID
替換為您的 Google Cloud專案 ID。使用
kubectl apply
將設定套用至叢集。如要啟用 Pub/Sub API,請執行下列指令:kubectl apply -f enable-pubsub.yaml
建立 Pub/Sub 執行個體
建立名為 pubsub-topic.yaml
的檔案,並在其中加入下列內容:
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
annotations:
cnrm.cloud.google.com/project-id: PROJECT_ID
labels:
LABEL_KEY: LABEL_VALUE
name: TOPIC_NAME
更改下列內容:
PROJECT_ID
:您的 Google Cloud 專案 ID。LABEL_KEY: LABEL_VALUE
:標籤的鍵/值組合。例如:environment: production
。TOPIC_NAME
:Pub/Sub 主題名稱。
建立資源時,如果資源不存在,Config Connector 會建立該資源。如果已存在同名的 Google Cloud 資源,Config Connector 會取得並管理該資源。如要進一步瞭解如何取得現有資源,請參閱「管理及刪除資源」。
使用 kubectl apply
指令建立資源。如要建立 Pub/Sub 主題,請執行下列指令:
kubectl apply -f pubsub-topic.yaml
說明資源
使用 kubectl describe
即可取得資源的詳細資料。
舉例來說,如要查看所有 Pub/Sub 主題,請執行下列指令:
kubectl describe pubsubtopics
您應該會在這份清單中看到先前建立的 Pub/Sub 主題。
確認資源是否已準備就緒
建立 Pub/Sub 主題後,您可以查看其 status.condition
。舉例來說,如要檢查 Pub/Sub 主題資源是否就緒,請執行下列指令:
kubectl wait --for=condition=READY pubsubtopics TOPIC_NAME
請將 TOPIC_NAME
替換為 Pub/Sub 主題名稱。
您會看到類似以下範例的輸出內容:
pubsubtopic.pubsub.cnrm.cloud.google.com/TOPIC_NAME condition met
更新資源
您可以更新 YAML 檔案,並使用 kubectl
重新套用,藉此更新資源的中繼資料。
如要變更先前建立的 Pub/Sub 主題標籤,請完成下列步驟:
修改
pubsub-topic.yaml
檔案的metadata
區段,變更標籤:apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 kind: PubSubTopic metadata: annotations: cnrm.cloud.google.com/project-id: PROJECT_ID labels: NEW_LABEL_VALUE name: TOPIC_NAME
更改下列內容:
PROJECT_ID
:您的 Google Cloud 專案 ID。NEW_LABEL_VALUE
:先前新增的標籤更新值。例如:environment: staging
。TOPIC_NAME
:Pub/Sub 主題名稱
使用
kubectl apply
更新資源。執行下列指令:kubectl apply -f pubsub-topic.yaml
檢查 Pub/Sub 執行個體是否已變更名稱:
kubectl describe pubsubtopics
主題應會顯示新標籤。
刪除資源
使用 kubectl delete
刪除資源。舉例來說,如要刪除先前建立的 PubSubTopic
,請使用 pubsub-topic.yaml
檔案執行 kubectl delete
:
kubectl delete -f pubsub-topic.yaml
您會收到資源已刪除的確認通知:
pubsubtopic.pubsub.cnrm.cloud.google.com "TOPIC_NAME" deleted
根據預設,Config Connector 會刪除 PubSubTopic
資源。如果您想保留這項資源,請參閱「管理及刪除資源」一文的操作說明。
後續步驟
- 瞭解 Config Connector 如何使用 Kubernetes 結構體模擬 Google Cloud 資源。
- 請參閱 Google Cloud 資源 Config Connector 可管理的資源。
- 使用 Config Connector 管理現有 Google Cloud 資源。
- 如需其他範例,請參閱 GitHub 存放區,瞭解如何使用 Config Connector。
- 瞭解 Kubernetes 如何處理物件的宣告式設定。