Config Connector 使用入门

本指南通过讲解以下内容,介绍 Config Connector 资源管理的基础知识:

  • 启用 Google Cloud API。
  • 创建和管理 Cloud Storage 存储分区。

准备工作

要完成此页面上的步骤,请执行以下操作:

  • 安装 Config Connector

  • 配置 Config Connector 以使用默认项目

  • Config Connector 使用 Resource Manager API 启用服务 API。要执行这些步骤,您需要启用 Resource Manager API。您可以使用以下 `gcloud` 命令启用此 API。
    gcloud services enable cloudresourcemanager.googleapis.com

发现可用的 Google Cloud 资源

要查看可以使用 Config Connector 创建的 Google Cloud 资源类型,请运行以下命令:

kubectl get crds --selector cnrm.cloud.google.com/managed-by-kcc=true

输出是您的 Config Connector 版本可以创建和管理的所有资源的列表。

例如,您可以使用 kubectl describe 查看 StorageBuckets 资源的 API 说明:

kubectl describe crd storagebuckets.storage.cnrm.cloud.google.com

您还可以在 Config Connector 资源中查看可用资源的相关信息。

启用 Cloud Storage 服务

通过将 YAML 配置应用于集群,您可以使用 Config Connector 来启用 Cloud Storage API。

  1. 将以下 YAML 复制到名为 enable-storage.yaml 的文件中。

    apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1
    kind: Service
    metadata:
      name: storage.googleapis.com
    
  2. 使用 kubectl apply 将配置应用到您的集群:要启用 Cloud Storage API,请运行以下命令:

    kubectl --namespace YOUR_NAMESPACE apply -f enable-storage.yaml

    YOUR_NAMESPACE 替换为 Config Connector 从其管理资源的命名空间。

创建 Cloud Storage 实例

创建名为 storage-bucket.yaml 且包含以下内容的文件:

  apiVersion: storage.cnrm.cloud.google.com/v1beta1
  kind: StorageBucket
  metadata:
    annotations:
      cnrm.cloud.google.com/project-id : PROJECT_ID
    name: BUCKET_NAME
  spec:
    lifecycleRule:
      - action:
          type: Delete
        condition:
          age: 7

请替换以下内容:

  • PROJECT_ID 替换为您的项目 ID。
  • BUCKET_NAME 替换为您存储分区的名称。

创建资源时,如果该资源尚不存在,则 Config Connector 会创建该资源。如果已存在同名的 Google Cloud 资源,则 Config Connector 将获取该资源并进行管理。如需详细了解如何获取现有资源,请参阅管理和删除资源

使用 kubectl apply 命令创建资源。要创建 Cloud Storage 存储分区,请运行以下命令:

kubectl apply -f storage-bucket.yaml --namespace YOUR_NAMESPACE

YOUR_NAMESPACE 替换为 Config Connector 从其管理资源的命名空间。

描述资源

使用 kubectl describe 获取有关资源的详细信息。

例如,如需查看所有 Cloud Storage 存储分区,请运行以下命令:

kubectl describe storagebuckets

更新资源

您可以通过更新 YAML 文件并使用 kubectl 重新应用该文件,来更新资源上的元数据。如需更新您之前创建的存储分区的元数据,请执行以下操作:

  1. 修改 storage-bucket.yaml 文件的 metadata 部分,添加 force-destroy 指令和带有值的标签。

    apiVersion: storage.cnrm.cloud.google.com/v1beta1
    kind: StorageBucket
    metadata:
      annotations:
        cnrm.cloud.google.com/force-destroy: "true"
        cnrm.cloud.google.com/project-id : PROJECT_ID
      labels:
        label-one: "my_bucket" 
      name: BUCKET_NAME
    spec:
      lifecycleRule:
        - action:
            type: Delete
          condition:
            age: 7
    

    请替换以下内容:

    • PROJECT_ID 替换为您的项目 ID。
    • BUCKET_NAME 替换为您存储分区的名称。
  2. 使用 kubectl apply 更新资源。运行以下命令:

    kubectl apply -f storage-bucket.yaml
  3. 检查 Cloud Storage 实例,以查看名称是否已更改。

    kubectl describe storagebuckets

    您的存储分区应包含新标签和注释:

    ...
    Labels:       label-one=my_bucket
    Annotations:  cnrm.cloud.google.com/force-destroy: true
    ...
    

删除资源

使用 kubectl delete 删除资源。例如,如需删除您之前创建的 StorageBucket,请使用 storage-bucket.yaml 文件运行 kubectl delete

kubectl delete -f storage-bucket.yaml

您收到该资源已删除的确认消息。

storage.cnrm.cloud.google.com "BUCKET_NAME" deleted

默认情况下,Config Connector 会删除 StorageBucket 资源。如果您希望保留此资源,请参阅管理和删除资源中的说明。

后续步骤