Config Connector 使用入门

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

准备工作

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

  • 安装 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 查看 SpannerInstance 资源的 API 说明:

kubectl describe crd spannerinstances.spanner.cnrm.cloud.google.com

启用 Cloud Spanner 服务

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

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

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

    kubectl --namespace [CC_NAMESPACE] apply -f enable-spanner.yaml

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

创建 Cloud Spanner 实例

创建一个名为 spanner-instance.yaml 的文件,其中包含以下内容:

apiVersion: spanner.cnrm.cloud.google.com/v1beta1
kind: SpannerInstance
metadata:
  annotations:
    cnrm.cloud.google.com/project-id: [PROJECT_ID]
  labels:
    label-one: "value-one"
  name: spannerinstance-sample
spec:
  config: regional-us-west1
  displayName: Spanner Instance Sample
  numNodes: 1

[PROJECT_ID] 替换为项目 ID。

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

使用 kubectl apply 命令创建资源。要创建 Cloud Spanner 实例,请复制以下命令:

kubectl apply -f spanner-instance.yaml --namespace [CC_NAMESPACE]

[CC_NAMESPACE] 替换为 Config Connector 命名空间。

描述资源

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

例如,要查看 Cloud Spanner 实例,请运行以下命令:

kubectl describe spannerinstance spannerinstance-sample

更新资源

您可以通过更新 YAML 文件并使用 kubectl 重新应用该文件,来更新资源上的元数据。要更新先前创建的 Spanner 实例上的元数据,请执行以下操作:

  1. 修改 spanner-instance.yaml 文件以将 spec.displayName 从“Spanner Instance Sample”更改为“My Spanner Instance”。

    apiVersion: spanner.cnrm.cloud.google.com/v1beta1
    kind: SpannerInstance
    metadata:
      annotations:
        cnrm.cloud.google.com/project-id: [PROJECT_ID]
      labels:
        label-one: "value-one"
      name: spannerinstance-sample
    spec:
      config: regional-us-west1
      displayName: My Spanner Instance
      numNodes: 1
    

    [PROJECT_ID] 替换为项目 ID。

  2. 使用 kubectl apply 更新资源。请运行以下命令:

    kubectl apply -f spanner-instance.yaml
  3. 检查 Cloud Spanner 实例名称的更改。

    kubectl describe spannerinstance spannerinstance-sample

    说明应包含新名称 My Spanner Instance

删除资源

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

kubectl delete -f spanner-instance.yaml

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

spannerinstance.spanner.cnrm.cloud.google.com "spannerinstance-sample" deleted

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

后续步骤