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 dengan 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 initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Menginstal add-on Config Connector

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

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 Workload Identity pool dan Kubernetes Engine Monitoring di cluster tempat Anda mengaktifkan Config Connector.

Menyiapkan cluster GKE

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

Membuat cluster baru dengan add-on Config Connector 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 project ID 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 Create a Kubernetes cluster akan muncul.

  3. Tentukan Name 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 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.

Agar dapat mengaktifkan Workload Identity untuk kumpulan node, 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 kumpulan node 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 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 GKE untuk mengikat akun layanan IAM dengan akun layanan Kubernetes.

Untuk membuat identitas, selesaikan langkah-langkah berikut:

  1. Membuat 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 lebih tinggi untuk 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 izin 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 yang telah ditentukan 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 komponen CRD resource Google Cloud dan 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 file 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 berdasarkan project, folder, atau organisasi, sama seperti 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 sudah 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 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 project ID Google Cloud Anda.

Folder

Untuk membuat resource dalam 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 Kubernetes Namespace dan project Google Cloud.

Memverifikasi penginstalan

Config Connector menjalankan semua komponennya dalam namespace yang 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 sudah diinstal dengan benar, outputnya akan serupa dengan berikut ini:

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 langsung baca 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:

GKE versi minor 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

Karena versi memenuhi syarat, Google Cloud akan memetakan ulang GKE versi minor terbaru ke versi Config Connector yang baru dirilis. Hal ini dilakukan untuk semua versi GKE minor 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 ketika add-on Config Connector cluster otomatis diupgrade oleh Google Cloud:

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

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

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

Google Cloud tidak meluncurkan versi Config Connector baru ke GKE versi minor 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 dapat sangat terlambat hingga 12 bulan. 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, lakukan 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 Google Cloud Console:

    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 Google Cloud Console, lakukan langkah-langkah berikut.

    1. Buka halaman Cluster Google Kubernetes Engine di Konsol Google Cloud dan pilih cluster yang ingin diupdate.

      Buka menu Google Kubernetes Engine

    2. Klik Edit. Layar Edit cluster akan muncul.

    3. Klik Add-on.

    4. Pilih Config Connector, lalu pilih Disabled.

    5. Klik Simpan untuk memperbarui cluster Anda.

Langkah selanjutnya