Config Connector 使用入门
本指南通过讲解如何完成以下任务,介绍 Config Connector 资源管理的基础知识:
- 启用 Google Cloud API。
- 创建和管理 Pub/Sub 主题。
准备工作
在开始本页面上的练习之前,请完成以下任务:
完成 Config Connector 中的所有步骤 手动安装 Config Connector Operator。
配置 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 资源进行建模。
- 查看 Config Connector 可以管理的 Google Cloud 资源。
- 使用 Config Connector 管理您现有的 Google Cloud 资源。
- 查看其他示例以了解如何使用 GitHub 代码库中的 Config Connector。
- 了解 Kubernetes 如何处理 声明式配置 对象数量。