Instal Config Connector secara manual


Halaman ini menjelaskan cara menginstal Config Connector secara manual.

Untuk informasi selengkapnya tentang berbagai opsi penginstalan, lihat Memilih jenis penginstalan.

Menginstal dengan metode manual akan memberi Anda pembaruan yang lebih cepat dibandingkan menggunakan add-on.

Config Connector dikonfigurasi sebagai mode cluster pada petunjuk di bawah, yang berarti akan ada satu pengontrol Config Connector global yang ditiru identitasnya sebagai satu akun layanan IAM Google Cloud. Saat Anda menambahkan lebih banyak resource Config Connector dan memperkenalkan lebih banyak namespace Kubernetes di cluster yang sama, sebaiknya beralih ke mode dengan namespace, yang lebih skalabel dan menawarkan isolasi izin IAM yang lebih baik untuk kasus penggunaan multi-tenant, misalnya mengelola resource dari beberapa project Google Cloud.

Sebelum memulai

Sebelum menginstal Operator Config Connector secara manual, selesaikan langkah-langkah berikut:

Menginstal Operator Config Connector

Config Connector menggunakan Operator Kubernetes agar penginstalannya tetap terbaru. Untuk menginstal Operator ini, selesaikan langkah-langkah berikut:

  1. Download file tar Operator Config Connector terbaru:

    gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
    
  2. Ekstrak file tar:

    tar zxvf release-bundle.tar.gz
    
  3. Instal operator Config Connector di cluster Anda:

    1. Untuk cluster Autopilot GKE:

      kubectl apply -f operator-system/autopilot-configconnector-operator.yaml
      
    2. Untuk cluster GKE Standard:

      kubectl apply -f operator-system/configconnector-operator.yaml
      

Membuat identitas

Config Connector membuat dan mengelola resource Google Cloud dengan mengautentikasi menggunakan akun layanan Identity and Access Management (IAM) dan layanan GKE Workload Identity untuk mengikat akun layanan IAM dengan Kubernetes akun layanan.

Untuk membuat identitas, selesaikan langkah-langkah berikut:

  1. Buat akun layanan IAM. Jika ingin menggunakan akun layanan yang ada, Anda dapat menggunakan akun tersebut dan melewati langkah ini.

    Untuk membuat akun layanan, gunakan perintah berikut:
      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
    Ganti SERVICE_ACCOUNT_NAME dengan nama untuk akun layanan Anda.
  2. Untuk mempelajari lebih lanjut cara membuat akun layanan, lihat Membuat dan mengelola akun layanan.

  3. Berikan izin yang ditingkatkan pada akun layanan IAM pada project Anda:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/editor"
    Ganti yang berikut:
    • PROJECT_ID dengan ID project Anda.
    • SERVICE_ACCOUNT_NAME dengan nama akun layanan Anda.
  4. Membuat binding kebijakan IAM antara IAM akun layanan dan akun layanan Kubernetes yang telah ditetapkan sebelumnya yang Config Connector berjalan:
    gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \
        --role="roles/iam.workloadIdentityUser"
    Ganti yang berikut:
    • SERVICE_ACCOUNT_NAME dengan nama akun layanan Anda.
    • PROJECT_ID dengan ID project Anda.

Mengonfigurasi Config Connector

Untuk menyelesaikan instalasi, buat file konfigurasi untuk ConfigConnector CustomResource, lalu menerapkannya menggunakan perintah kubectl apply. Penginstalan Operator Config Connector Komponen CRD dan Config Connector resource Google Cloud di cluster Anda.

Untuk mengonfigurasi operator sebagai mode cluster, selesaikan langkah-langkah berikut:

  1. Salin file YAML berikut ke file bernama configconnector.yaml:
    # configconnector.yaml
    apiVersion: core.cnrm.cloud.google.com/v1beta1
    kind: ConfigConnector
    metadata:
      # the name is restricted to ensure that there is only one
      # ConfigConnector resource installed in your cluster
      name: configconnector.core.cnrm.cloud.google.com
    spec:
      mode: cluster
      googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"
      # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec`
      # annotation to `absent` for all Config Connector resources created in the cluster in the future.
      # It prevents Config Connector from populating unspecified fields into the spec.
      stateIntoSpec: Absent
    
    Ganti yang berikut:
    • SERVICE_ACCOUNT_NAME dengan nama akun layanan Anda.
    • PROJECT_ID dengan ID project Anda.
  2. Terapkan konfigurasi ke cluster Anda dengan kubectl apply:
      kubectl apply -f configconnector.yaml

Menentukan tempat pembuatan resource

Config Connector dapat mengatur resource berdasarkan project, folder, atau organisasi, sama seperti mengatur resource dengan Google Cloud.

Sebelum membuat resource dengan Config Connector, Anda harus mengonfigurasi tempat untuk membuat Google Cloud Platform. Untuk menentukan tempat membuat resource, Config Connector menggunakan anotasi pada konfigurasi resource atau Namespace yang ada. Untuk informasi selengkapnya, lihat Mengatur resource.

Jika Anda tidak memiliki Namespace untuk tujuan ini, buat Namespace dengan kubectl.
kubectl create namespace NAMESPACE

Ganti NAMESPACE dengan nama namespace Anda. Contoh config-connector.

Pilih tab untuk memilih tempat Anda ingin Config Connector membuat resource.

Project

Untuk membuat resource di project tertentu, jalankan perintah berikut:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID

Ganti kode berikut:

  • NAMESPACE dengan nama namespace Anda.
  • PROJECT_ID dengan ID project Google Cloud Anda.

Folder

Untuk membuat resource di folder tertentu, jalankan perintah berikut:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID

Ganti kode berikut:

  • NAMESPACE dengan nama namespace Anda.
  • FOLDER_ID dengan ID folder Google Cloud Anda.

Organisasi

Untuk membuat resource di organisasi tertentu, jalankan perintah berikut:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID

Ganti kode berikut:

  • NAMESPACE dengan nama namespace Anda.
  • ORGANIZATION_ID dengan ID organisasi Google Cloud Anda.

Saat Anda menganotasi namespace, Config Connector akan membuat resource di proyek, folder, atau organisasi yang sesuai. Untuk mempelajari lebih lanjut tentang cara Config Connector menggunakan namespace Kubernetes. Lihat Namespace Kubernetes dan project Google Cloud.

Memverifikasi penginstalan

Config Connector menjalankan semua komponennya di namespace bernama cnrm-system. Anda dapat memastikan bahwa Pod sudah siap dengan menjalankan perintah berikut:

kubectl wait -n cnrm-system \
      --for=condition=Ready pod --all

Jika Config Connector diinstal dengan benar, output-nya mirip dengan berikut ini:

pod/cnrm-controller-manager-0 condition met

Mengupgrade Config Connector

Untuk mendownload dan menginstal operator Config Connector versi terbaru:

gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
tar zxvf release-bundle.tar.gz
kubectl apply -f operator-system/configconnector-operator.yaml

Meng-uninstal Config Connector

Jangan gunakan langkah-langkah berikut untuk meng-uninstal Pengontrol Konfigurasi .

Gunakan kubectl delete untuk menghapus CRD Config Connector beserta komponen pengontrol:

kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com \
    --wait=true

Untuk meng-uninstal operator Config Connector, jalankan perintah berikut:

kubectl delete -f operator-system/configconnector-operator.yaml  --wait=true

Mengupgrade dari penginstalan non-operator

Config Connector versi 1.33.0 dan yang lebih baru hanya mendukung penginstalan dengan add-on GKE, atau operator.

Untuk mengupgrade ke operator (dan mempertahankan semua resource Config Connector), Anda harus menghapus semua komponen sistem Config Connector kecuali CRD, lalu menginstal operator.

  1. Jalankan perintah berikut untuk menghapus sistem non-CRD Config Connector komponen:

    kubectl delete sts,deploy,po,svc,roles,clusterroles,clusterrolebindings --all-namespaces -l cnrm.cloud.google.com/system=true --wait=true
    kubectl delete validatingwebhookconfiguration abandon-on-uninstall.cnrm.cloud.google.com --ignore-not-found --wait=true
    kubectl delete validatingwebhookconfiguration validating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true
    kubectl delete mutatingwebhookconfiguration mutating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true
    
  2. Instal Config Connector dengan add-on GKE, atau operator.

Beralih dari add-on ke penginstalan manual

Saat diinstal sebagai add-on, versi Config Connector akan langsung terkait dengan versi GKE yang terinstal.

Penginstalan manual memungkinkan update yang lebih cepat, tetapi memerlukan upgrade manual.

Untuk beralih sambil menyimpan semua resource dengan aman:

  1. Nonaktifkan add-on tanpa menghapus objek ConfigConnector atau ConfigConnectorContext:

    gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
    

    Ganti CLUSTER_NAME dengan nama cluster yang Anda menginstal Config Connector.

  2. Ikuti petunjuk untuk menginstal operator manual versi yang diinginkan.

Langkah selanjutnya