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 资源。 如果您希望保留此资源,请参阅管理和删除资源中的说明。

后续步骤