Menginstal dengan add-on GKE


Halaman ini menjelaskan cara menginstal Config Connector di cluster Google Kubernetes Engine (GKE) menggunakan add-on Config Connector.

Untuk mengetahui detail tentang setiap opsi penginstalan beserta kelebihan dan kekurangannya, lihat Memilih jenis penginstalan.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Menginstal add-on Config Connector

Anda menggunakan add-on Config Connector dengan membuat cluster GKE baru, atau mengaktifkannya di cluster yang ada. Setelah menginstal add-on Config Connector, Anda akan mengonfigurasi penginstalan Config Connector dengan akun layanan Google dan namespace Anda.

Persyaratan

Add-on Config Connector memiliki persyaratan berikut:

  • Anda harus menggunakan versi GKE dari:

    • 1.15.11-gke.5 dan yang lebih baru
    • 1.16.8-gke.8 dan yang lebih baru
    • 1.17.4-gke.5 dan yang lebih baru
  • Anda harus mengaktifkan kumpulan Workload Identity dan Kubernetes Engine Monitoring di cluster tempat Anda mengaktifkan Config Connector.

Menyiapkan cluster GKE

Anda dapat menggunakan add-on Config Connector di cluster baru atau yang sudah ada.

Membuat cluster baru dengan mengaktifkan add-on Config Connector

Anda dapat membuat cluster GKE menggunakan gcloud CLI atau Konsol Google Cloud.

gcloud

Untuk membuat cluster dengan Google Cloud CLI, jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --release-channel CHANNEL \
    --addons ConfigConnector \
    --workload-pool=PROJECT_ID.svc.id.goog \
    --logging=SYSTEM \
    --monitoring=SYSTEM

Ganti kode berikut:

  • CLUSTER_NAME dengan nama cluster GKE Anda.
  • CHANNEL dengan saluran rilis GKE, rapid, dan regular didukung.
  • PROJECT_ID dengan ID project Google Cloud Anda.

Konsol Google Cloud

Untuk membuat cluster dengan Konsol Google Cloud, lakukan langkah-langkah berikut:

  1. Buka menu Google Kubernetes Engine di Konsol Google Cloud.

    Buka menu Google Kubernetes Engine

  2. Klik Create. Halaman Buat cluster Kubernetes akan muncul.

  3. Tentukan Nama untuk cluster Anda.

  4. Pilih Versi master yang didukung.

  5. Konfigurasikan cluster Anda lainnya sesuai keinginan.

  6. Dari panel navigasi, pada Cluster, klik Security.

  7. Pilih kotak centang Enable Workload Identity.

  8. Dari panel navigasi di sebelah kiri, pada bagian Cluster, klik Features.

  9. Centang kotak Enable Config Connector.

  10. Klik Create.

Setelah membuat cluster, lanjutkan ke Membuat identitas.

Mengaktifkan add-on Config Connector di cluster yang ada

Anda dapat mengaktifkan add-on Config Connector di cluster GKE yang ada dengan gcloud atau konsol Google Cloud.

Prasyarat

Mengaktifkan add-on Config Connector di cluster yang ada memiliki prasyarat berikut:

  • Anda memerlukan cluster yang memenuhi persyaratan untuk add-on Config Connector.
  • Siapkan Workload Identity di cluster tempat Anda ingin menginstal Config Connector.

Untuk mengaktifkan Workload Identity untuk node pool, gunakan alat command line gcloud:

gcloud container node-pools update NODE_POOL \
    --workload-metadata=GKE_METADATA \
    --cluster CLUSTER_NAME

Ganti kode berikut:

  • NODE_POOL dengan nama node pool Anda
  • CLUSTER_NAME dengan nama cluster Anda
Mengaktifkan add-on Config Connector

Anda dapat mengaktifkan add-on Config Connector di cluster GKE yang ada dengan Google Cloud CLI atau Konsol Google Cloud.

gcloud

Untuk mengaktifkan add-on Config Connector di cluster GKE yang ada, gunakan Google Cloud CLI:

gcloud container clusters update CLUSTER_NAME \
    --update-addons ConfigConnector=ENABLED

Ganti CLUSTER_NAME dengan nama cluster GKE Anda.

Konsol Google Cloud

  1. Buka menu Google Kubernetes Engine di Konsol Google Cloud.

    Buka menu Google Kubernetes Engine

  2. Pilih cluster tempat Anda ingin menginstal Config Connector. Halaman Cluster Details akan muncul.

  3. Di bagian Fitur, temukan baris Konektor Konfigurasi, lalu klik Edit.

  4. Centang kotak Enable Config Connector, lalu klik Save Changes untuk mengupdate cluster Anda.

Membuat identitas

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

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 ke akun layanan IAM di project Anda:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/editor"
    Ganti kode berikut:
    • PROJECT_ID dengan ID project Anda.
    • SERVICE_ACCOUNT_NAME dengan nama akun layanan Anda.
  4. Buat binding kebijakan IAM antara akun layanan IAM dan akun layanan Kubernetes standar yang dijalankan Config Connector:
    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 kode berikut:
    • SERVICE_ACCOUNT_NAME dengan nama akun layanan Anda.
    • PROJECT_ID dengan ID project Anda.

Mengonfigurasi Config Connector

Untuk menyelesaikan penginstalan, buat file konfigurasi untuk CustomResource ConfigConnector, lalu terapkan menggunakan perintah kubectl apply. Operator Config Connector menginstal CRD resource Google Cloud dan komponen Config Connector di cluster Anda.

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

  1. Salin file YAML berikut ke dalam 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 kode 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 untuk membuat resource

Config Connector dapat mengatur resource menurut project, folder, atau organisasi, yang sama dengan cara Anda mengatur resource dengan Google Cloud.

Sebelum membuat resource dengan Config Connector, Anda harus mengonfigurasi tempat untuk membuat resource. Untuk menentukan tempat membuat resource, Config Connector menggunakan anotasi pada konfigurasi resource atau Namespace yang ada. Untuk mengetahui informasi selengkapnya, lihat Mengelola 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 dalam 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 project, folder, atau organisasi yang sesuai. Untuk mempelajari lebih lanjut 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 memverifikasi bahwa Pod sudah siap dengan menjalankan perintah berikut:

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

Jika Config Connector diinstal dengan benar, outputnya akan mirip dengan berikut:

pod/cnrm-controller-manager-0 condition met

Mengupgrade Config Connector

Upgrade ke add-on Config Connector cluster Anda dikelola oleh Google Cloud.

Resource di cluster Anda akan dipertahankan setiap kali upgrade terjadi.

Baca cara Google Cloud mengelola upgrade add-on Config Connector, atau lanjutkan ke cara mendapatkan versi Config Connector terbaru.

Cara Google Cloud mengelola upgrade add-on Config Connector

Versi Config Connector yang diperoleh cluster GKE sepenuhnya bergantung pada versi minor GKE cluster. Contoh:

Versi minor GKE Versi Config Connector
1,20 1.69.0
1.21 1.69.0
1,22 1.71.0
1.23 1.82.0
1.24 1.89.0

Jika versi memenuhi syarat, Google Cloud akan memetakan ulang versi minor GKE terbaru ke versi Config Connector yang baru dirilis. Hal ini dilakukan untuk semua versi minor GKE yang cukup baru sehingga tidak tersedia di saluran rilis Reguler atau Stabil.

Karena versi Config Connector yang diperoleh cluster bergantung pada versi minor GKE cluster, ada dua kasus saat add-on Config Connector cluster diupgrade secara otomatis oleh Google Cloud:

  1. Cluster diupgrade ke versi minor GKE baru yang dipetakan ke versi Config Connector yang lebih baru.

  2. Cluster menggunakan versi minor GKE yang cukup baru sehingga tidak tersedia di saluran rilis Reguler atau Stabil, dan Google Cloud memetakan ulang versi minor GKE tersebut ke versi Config Connector baru.

Saat Google Cloud memetakan ulang versi minor GKE dan mengupgrade cluster yang ada ke versi Config Connector baru, cluster tersebut dikatakan "meluncurkan versi Config Connector baru" ke versi minor GKE tersebut.

Google Cloud tidak meluncurkan versi Config Connector baru ke versi minor GKE yang sudah cukup lama tersedia di versi saluran rilis Reguler atau Stabil karena alasan stabilitas, kecuali dalam situasi darurat saat masalah yang meluas telah terdeteksi.

Cara mendapatkan versi Config Connector terbaru

Versi Config Connector yang diinstal melalui add-on Config Connector sering kali tertinggal hingga 12 bulan atau lebih. Jika Anda memerlukan versi Config Connector terbaru, sebaiknya beralih ke Config Controller atau menginstal Config Connector secara manual dan melakukan upgrade sendiri. Petunjuk migrasi untuk setiap opsi adalah:

Meng-uninstal Config Connector

Untuk meng-uninstal Config Connector, selesaikan langkah-langkah berikut:

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

    kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=true
    
  2. Nonaktifkan add-on Config Connector di cluster Anda menggunakan gcloud CLI atau konsol Google Cloud:

    gcloud

    Untuk menonaktifkan add-on Config Connector dengan gcloud, jalankan perintah berikut:

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

    Ganti CLUSTER_NAME dengan nama cluster yang telah menginstal add-on Config Connector.

    Cloud Console

    Untuk menonaktifkan add-on Config Connector dari konsol Google Cloud, lakukan langkah-langkah berikut.

    1. Buka halaman Cluster Google Kubernetes Engine di konsol Google Cloud, lalu pilih cluster yang ingin Anda perbarui.

      Buka menu Google Kubernetes Engine

    2. Klik Edit. Layar Edit cluster akan muncul.

    3. Klik Add-on.

    4. Pilih Konektor Konfigurasi, lalu pilih Nonaktif.

    5. Klik Simpan untuk memperbarui cluster.

Langkah selanjutnya