Config Connector のインストール

Config Connector は、Kubernetes アドオンであり、Kubernetes の構成により、Google Cloud リソースを管理できます。Anthos Config Management を使用すると、Anthos ユーザーは Config Connector を自動的にインストールおよびアンインストールできます。

準備

  • Anthos Config Management を使用して Config Connector をインストールするには、Anthos の使用権が必要です。Anthos の使用権がない場合は、このトピックの手順に従う代わりに、Config Connector の代替インストール方法のうちのいずれかを使用する必要があります。

  • 以下の手順を実行する前に、Anthos Config Management を v1.1.0 以降にアップグレードする必要があります。

  • Config Connector がインストールされていないクラスタが必要です。

Anthos Config Management を使用した Config Connector のインストール

Anthos Config Management を使用して Config Connector をインストールするには、クラスタの 1 つに 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 が作成されますが、プロジェクト内の Google Cloud リソースを管理するために cnrm-system サービス アカウントが構成されるまで実行されません。

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. 必要となる特定の Google Cloud リソースを構成するために、cnrm-system サービス アカウントに必要なロールと権限を付与します。この例では、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 が正しくインストールされている場合、コマンドは bigquerydatasets.bigquery.cnrm.cloud.google.com のように、.cnrm.cloud.google.com で終わるリソースを一覧表示します。

Config Connector のアンインストール

Config Connector を無効にしてアンインストールするには、Anthos Config Management の構成ファイルを編集し、spec.configConnector.enabled の値を false に設定します。

Config Connector Pod が停止して削除され、各 Google Cloud リソースタイプの CRD が削除されます。既存の Google Cloud リソースは変更されません

次のステップ