開始使用 Config Connector


本指南將說明 Config Connector 資源管理的基本概念,並教您如何完成下列工作:

事前準備

開始本頁練習之前,請先完成下列工作:

  • 請完成所有手動安裝 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:

  1. 建立名為 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。

  2. 使用 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 主題標籤,請完成下列步驟:

  1. 修改 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 主題名稱
  2. 使用 kubectl apply 更新資源。執行下列指令:

    kubectl apply -f pubsub-topic.yaml
  3. 檢查 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 資源。如果您想保留這項資源,請參閱「管理及刪除資源」一文的操作說明。

後續步驟