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 setiap opsi penginstalan beserta kelebihan dan kekurangannya, lihat Memilih jenis penginstalan.

Sebelum memulai

Sebelum memulai, pastikan Anda telah melakukan 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 mengonfigurasi penginstalan Config Connector dengan akun layanan Google dan namespace Anda.

Persyaratan

Add-on Config Connector memiliki persyaratan berikut:

  • Anda harus menggunakan versi GKE:

    • 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 workload identity pool 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 add-on Config Connector yang diaktifkan

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 Google Cloud project ID Anda.

Google Cloud console

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 Buat. Halaman Buat cluster Kubernetes akan muncul.

  3. Tentukan Nama untuk cluster Anda.

  4. Pilih versi Master yang didukung.

  5. Konfigurasi cluster lainnya sesuai keinginan Anda.

  6. Dari panel navigasi, di bagian Cluster, klik Security.

  7. Pilih kotak centang Enable Workload Identity.

  8. Dari panel navigasi di sisi kiri, di bagian Cluster, klik Fitur.

  9. Centang kotak Enable Config Connector.

  10. Klik Buat.

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 sudah 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 Federation untuk GKE di cluster tempat Anda ingin menginstal Config Connector.

Untuk mengaktifkan Workload Identity Federation untuk GKE bagi 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 sudah ada dengan Google Cloud CLI atau konsol Google Cloud .

gcloud

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

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

Ganti CLUSTER_NAME dengan nama cluster GKE Anda.

Google Cloud console

  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 Features, temukan baris Config Connector, lalu klik Edit.

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

Membuat identitas

Config Connector membuat dan mengelola resource Google Cloud dengan melakukan autentikasi menggunakan akun layanan Identity and Access Management (IAM) dan menggunakan Workload Identity Federation untuk GKE guna 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 sudah ada, Anda dapat menggunakan akun tersebut dan melewati langkah ini:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
    

    Ganti SERVICE_ACCOUNT_NAME dengan nama untuk akun layanan Anda.

    Untuk mempelajari lebih lanjut cara membuat akun layanan, lihat Membuat dan mengelola akun layanan.

  2. Beri akun layanan IAM izin yang lebih tinggi 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 PROJECT_ID dengan project ID Anda.

  3. Buat binding kebijakan IAM antara akun layanan IAM dan akun layanan Kubernetes standar yang menjalankan 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"
    

Mengonfigurasi Config Connector

Untuk menyelesaikan penginstalan, buat file konfigurasi untuk ConfigConnector CustomResource, lalu terapkan menggunakan perintah kubectl apply. Operator Config Connector menginstal CRD resourceGoogle 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 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 Google Cloud project ID 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 membuat anotasi 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 Google Cloud project.

Memverifikasi penginstalan Anda

Config Connector menjalankan semua komponennya dalam 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 add-on Config Connector cluster Anda dikelola oleh Google Cloud.

Resource di cluster Anda dipertahankan setiap kali upgrade terjadi.

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

Cara Google Cloud mengelola upgrade add-on Config Connector

Versi Config Connector yang didapatkan cluster GKE bergantung sepenuhnya 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

Saat versi memenuhi syarat, Google Cloud 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 didapatkan 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 yang baru.

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

Google Cloud tidak meluncurkan versi Config Connector baru ke versi minor GKE yang cukup lama untuk tersedia di versi saluran rilis Reguler atau Stabil karena alasan stabilitas, kecuali dalam situasi darurat ketika masalah luas 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 Config Connector versi 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 Config Connector, lalu pilih Dinonaktifkan.

    5. Klik Simpan untuk memperbarui cluster.

Langkah berikutnya