Menginstal Config Connector secara manual
Halaman ini menjelaskan cara menginstal Config Connector secara manual.
Untuk mengetahui informasi selengkapnya tentang berbagai opsi penginstalan, lihat Memilih jenis penginstalan.
Penginstalan dengan metode manual memberi Anda update yang lebih cepat daripada menggunakan add-on.
Config Connector dikonfigurasi sebagai mode cluster dalam petunjuk di bawah, yang berarti akan ada satu pengontrol Config Connector global yang ditiru identitasnya sebagai satu akun layanan IAM Google Cloud . Saat menambahkan lebih banyak resource Config Connector dan memperkenalkan lebih banyak namespace Kubernetes di cluster yang sama, Anda mungkin ingin mempertimbangkan untuk beralih ke mode 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:
- Buat atau identifikasi cluster GKE tempat Config Connector belum diinstal dan yang telah mengaktifkan Workload Identity dan Kubernetes Engine Monitoring.
- Konfigurasi
kubectl
untuk terhubung ke cluster Anda.
Menginstal Operator Config Connector
Config Connector menggunakan Kubernetes Operator agar instalasinya tetap terbaru. Untuk menginstal Operator ini, selesaikan langkah-langkah berikut:
Download file tar Operator Config Connector terbaru:
gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
Ekstrak file tar:
tar zxvf release-bundle.tar.gz
Instal operator Config Connector di cluster Anda:
Untuk cluster GKE Autopilot:
kubectl apply -f operator-system/autopilot-configconnector-operator.yaml
Untuk cluster GKE Standard:
kubectl apply -f operator-system/configconnector-operator.yaml
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:
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.
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.
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:
-
Salin file YAML berikut ke dalam file bernama
configconnector.yaml
: Ganti kode berikut:# 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
SERVICE_ACCOUNT_NAME
dengan nama akun layanan Anda.PROJECT_ID
dengan ID project Anda.
-
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 dengankubectl
.
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
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
Menurunkan versi Config Connector
Downgrade Config Connector sepenuhnya tidak didukung. Untuk melakukan downgrade operator dan CRD Config Connector, Anda harus meng-uninstal, menginstal ulang Config Connector, lalu menerapkan kembali resource Anda.
Di Config Connector versi 1.123.1 dan yang lebih baru, Anda dapat melakukan roll back versi operator untuk penginstalan yang menggunakan mode namespace.
Di setiap namespace yang memiliki operator yang ingin Anda roll back, tetapkan kolom spec.version
di objek ConfigConnectorContext
ke versi Config Connector
sebelumnya.
Anda dapat melakukan roll back pengontrol Config Connector hingga maksimal 3 versi minor. Anda harus selalu melakukan roll back ke versi patch terbaru untuk versi sekunder tertentu.
Meng-uninstal Config Connector
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 tinggi 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.
Jalankan perintah berikut untuk menghapus komponen non-CRD sistem Config Connector:
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
Instal Config Connector dengan add-on GKE, atau operator.
Beralih dari add-on ke penginstalan manual
Jika diinstal sebagai add-on, versi Config Connector akan langsung terkait dengan versi GKE yang diinstal.
Penginstalan manual memungkinkan update yang lebih cepat dengan biaya upgrade manual.
Untuk beralih sambil menyimpan semua resource dengan aman:
Menonaktifkan add-on tanpa menghapus objek
ConfigConnector
atauConfigConnectorContext
:gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
Ganti
CLUSTER_NAME
dengan nama cluster tempat Anda menginstal Config Connector.Instal operator manual versi yang dipilih.
Untuk mencegah potensi error validasi CRD (misalnya,
KNV2009: Invalid value: "v1beta1": must appear in spec.versions
, versi operator manual yang dipilih harus sama atau lebih baru dari versi yang Anda gunakan untuk add-on. Melakukan downgrade versi operator manual dapat menyebabkan error (misalnya, KNV2009) karena add-on GKE mungkin telah mengupgrade CRD tertentu ke versi Config Connector yang lebih baru.
Langkah berikutnya
- Mulai menggunakan Config Connector.
- Pelajari praktik terbaik untuk Config Connector.