安装配置连接器

Config Connector 是一个 Kubernetes 插件,可让您通过 Kubernetes 配置管理您的 Google Cloud 资源。使用 Anthos Config Management,Anthos 用户可以自动安装卸载 Config Connector。

准备工作

  • 您必须具有 Anthos 授权才能使用 Anthos Config Management 安装 Config Connector。如果没有 Anthos 授权,则必须对 Config Connector 使用替代安装方法之一,而不是遵循本主题中的说明。

  • 您必须在遵循以下说明之前将 Anthos Config Management 升级到 v1.1.0 或更高版本。

  • 您必须具有未安装 Config Connector 的集群。

使用 Anthos Config Management 安装 Config Connector

要使用 Anthos Config Management 安装 Config Connector,请配置 Anthos Config Management 以在您的一个集群上安装 Config Connector,然后配置 cnrm-system 服务帐号

配置 Anthos Config Management

  1. Operator 配置文件中将 spec.configConnector.enabled 的值设置为 true

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
    spec:
      # Set to true to install and enable Config Connector
      configConnector:
        enabled: true
    
      # ...other fields...
      ```
    
  2. 使用 kubectl apply 应用配置。

    kubectl apply -f config-management.yaml
    

已创建 Pod,但直到您配置 cnrm-system 服务帐号以管理项目中的 Google Cloud 资源后,该 Pod 才能运行。

配置 cnrm-system 服务帐号

在 Anthos Config Management 可以创建 Google Cloud 资源之前,Config Connector 需要使用 Identity and Access Management 服务帐号进行身份验证。

  1. 创建 cnrm-system 服务帐号:

    gcloud iam service-accounts create cnrm-system --project [PROJECT_ID]
    
  2. 该服务帐号具有自动生成的与之关联的电子邮件地址。要获取此电子邮件地址,请使用以下命令:

    gcloud iam service-accounts list | grep cnrm-system
    

    在以下命令中显示 [SERVICE_ACCOUNT_EMAIL] 的位置使用此值。

  3. 授予 cnrm-system 服务帐号角色和权限,以配置所需的特定 Google Cloud 资源。此示例授予 roles/owner 角色:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
     --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]" \
     --role "roles/owner"
    
  4. 为服务帐号创建一个密钥,该密钥在本地存储为 key.json

    gcloud iam service-accounts keys create \
     --iam-account "[SERVICE_ACCOUNT_EMAIL]" \
     ./key.json
    
  5. 将密钥插入集群中的 cnrm-system 命名空间:

    kubectl create secret generic gcp-key \
     --from-file ./key.json \
     --namespace cnrm-system
    
  6. 移除密钥的本地副本,因为它包含敏感数据:

    rm ./key.json
    

Config Connector 现在可以通过将存储在代码库中的配置同步到 Anthos Config Management 中注册的集群来管理 Google Cloud 资源。

验证安装

如果正确安装了 Config Connector,则其 Pod 和 CRD 将存在于集群中。

  1. 验证 Config Connector Pod 是否正在运行:

    kubectl wait -n cnrm-system \
     --for=condition=Initialized pod \
     cnrm-controller-manager-0
    

    如果正确安装了 Config Connector,则输出类似于以下内容:

    pod/cnrm-controller-manager-0 condition met

  2. 验证每种受支持的 Google Cloud 资源类型的 CRD 是否安装在集群中:

    kubectl get crds | grep cnrm.cloud.google.com
    

    如果正确安装了 Config Connector,该命令将列出以 .cnrm.cloud.google.com 结尾的资源,例如 bigquerydatasets.bigquery.cnrm.cloud.google.com

卸载 Config Connector

要停用和卸载 Config Connector,请编辑 Anthos Config Management 的配置文件,并将 spec.configConnector.enabled 的值设置为 false。

停止并移除 Config Connector Pod,并移除每种 Google Cloud 资源类型的 CRD。现有的 Google Cloud 资源修改。

后续步骤