Menginstal Config Connector dalam mode namespace
Halaman ini menjelaskan cara menginstal Config Connector dalam mode namespace.
Menginstal dalam mode namespace adalah ekstensi penginstalan Config Connector. Mode dengan namespace mendukung pengelolaan beberapa project, masing-masing dengan identitas Google Cloud -nya sendiri.
Sebelum memulai
Sebelum mengonfigurasi Config Connector untuk berjalan dalam mode namespace, pastikan Anda telah menginstal Config Connector.
Mengonfigurasi Config Connector untuk berjalan dalam mode namespace
Untuk mengaktifkan mode dengan namespace, selesaikan langkah-langkah berikut:
Salin manifes YAML berikut ke dalam file bernama
configconnector.yaml
:apiVersion: core.cnrm.cloud.google.com/v1beta1 kind: ConfigConnector metadata: # the name is restricted to ensure that there is only ConfigConnector resource installed in your cluster name: configconnector.core.cnrm.cloud.google.com spec: mode: namespaced stateIntoSpec: Absent
Terapkan konfigurasi ke cluster Anda dengan
kubectl apply
:kubectl apply -f configconnector.yaml
Mengonfigurasi Config Connector untuk mengelola resource di namespace Anda
Di bagian berikut, Google Cloud project tempat Anda menginstal Config Connector dikenal sebagai project host, atau HOST_PROJECT_ID. Project lain tempat Anda mengelola resource dikenal sebagai project terkelola, atau MANAGED_PROJECT_ID. Keduanya dapat berupa project yang sama jika Anda hanya ingin menggunakan Config Connector untuk membuat resource Google Cloud dalam project yang sama dengan cluster Anda.
Membuat namespace
Anda dapat melewati langkah ini jika sudah memiliki namespace yang akan digunakan untuk mengatur resourceGoogle Cloud .
Gunakan kubectl
untuk membuat namespace baru dengan menjalankan perintah berikut:
kubectl create namespace NAMESPACE
Mengganti NAMESPACE dengan nama untuk namespace.
Mengonfigurasi kebijakan IAM untuk terhubung ke Google Cloud API
Agar Config Connector dapat mengelola resource Google Cloud Anda menggunakan Workload Identity Federation untuk GKE, buat kebijakan IAM.
Untuk mengonfigurasi binding kebijakan, buat kebijakan izin IAM yang mereferensikan ServiceAccount Kubernetes yang dibuat secara otomatis saat Anda menginstal Config Connector di cluster:
gcloud projects add-iam-policy-binding projects/PROJECT_ID \
--role=roles/iam.workloadIdentityUser \
--member=principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.svc.id.goog/subject/ns/NAMESPACE/sa/cnrm-system/cnrm-controller-manager \
--condition=None
Ganti kode berikut:
PROJECT_ID
: Google Cloud Project ID Anda.PROJECT_NUMBER
: nomor project Google Cloud numerik Anda.NAMESPACE
: nama namespace Kubernetes untuk ServiceAccount Config Connector. Jika Anda tidak membuat namespace secara eksplisit, nilainya adalahdefault
.
Membuat ConfigConnectorContext
Untuk membuat resource Google Cloud , Anda perlu mengonfigurasi Config Connector untuk memantau namespace dengan menambahkan objek ConfigConnectorContext
di namespace yang ingin digunakan.
Untuk membuat ConfigConnectorContext
, selesaikan langkah-langkah berikut:
Salin manifes YAML berikut ke dalam file bernama
configconnectorcontext.yaml
:apiVersion: core.cnrm.cloud.google.com/v1beta1 kind: ConfigConnectorContext metadata: # you can only have one ConfigConnectorContext per namespace name: configconnectorcontext.core.cnrm.cloud.google.com namespace: NAMESPACE spec: googleServiceAccount: "NAMESPACE_GSA@HOST_PROJECT_ID.iam.gserviceaccount.com" stateIntoSpec: Absent
Ganti kode berikut:
- NAMESPACE dengan nama namespace Anda.
- NAMESPACE_GSA dengan nama akun layanan Google yang terikat ke namespace Anda.
- HOST_PROJECT_ID dengan ID project host Anda.
Terapkan file ke cluster Anda dengan
kubectl
:kubectl apply -f configconnectorcontext.yaml
Pastikan Operator Config Connector membuat akun layanan Kubernetes untuk namespace Anda dengan
kubectl
dengan menjalankan perintah berikut:kubectl get serviceaccount/cnrm-controller-manager-NAMESPACE -n cnrm-system
Ganti NAMESPACE dengan nama namespace Anda.
Pastikan Pod pengontrol Config Connector berjalan untuk namespace Anda dengan
kubectl
dengan menjalankan perintah berikut:kubectl wait -n cnrm-system \ --for=condition=Ready pod \ -l cnrm.cloud.google.com/component=cnrm-controller-manager \ -l cnrm.cloud.google.com/scoped-namespace=NAMESPACE
Ganti NAMESPACE dengan nama namespace Anda.
Jika pengontrol Config Connector sedang berjalan, outputnya akan mirip dengan:
cnrm-controller-manager-abcdefghijk-0 condition met.
Mengonfigurasi Config Connector agar tidak lagi mengelola resource di namespace Anda
Untuk mengonfigurasi Config Connector agar tidak lagi mengelola namespace, Anda harus menghapus semua resource Config Connector di namespace dan menghapus ConfigConnectorContext
di namespace.
Menghapus resource Konektor Konfigurasi di namespace Anda
Untuk menyelesaikan penghapusan ConfigConnectorContext
, hapus semua resource Config Connector dari namespace Anda.
Untuk menemukan semua resource Config Connector di namespace Anda, untuk setiap Definisi Resource Kustom Config Connector, buat daftar semua resource.
kubectl get gcp -n NAMESPACE
Ganti NAMESPACE dengan nama namespace Anda.
Untuk menghapus semua resource Config Connector, untuk setiap resource dalam output langkah sebelumnya, berikan perintah hapus.
kubectl delete -n NAMESPACE KIND NAME
Ganti kode berikut:
NAMESPACE
: nama namespace AndaKIND
: jenis resource yang ditemukan pada langkah sebelumnyaNAME
: nama resource yang ditemukan di langkah sebelumnya
Menghapus ConfigConnectorContext
Untuk mengonfigurasi Config Connector agar tidak lagi mengelola resource Config Connector
di namespace Anda, hapus ConfigConnectorContext
di namespace Anda.
kubectl delete -n NAMESPACE ConfigConnectorContext configconnectorcontext.core.cnrm.cloud.google.com
Ganti NAMESPACE dengan nama namespace Anda.
Penghapusan ConfigConnectorContext
tidak akan selesai hingga semua resource Config Connector dihapus dari namespace Anda.
Meng-uninstal Config Connector
Jangan gunakan langkah-langkah berikut untuk meng-uninstal cluster Pengontrol Konfigurasi.
Gunakan kubectl delete
untuk menghapus CRD Config Connector beserta
komponen pengontrol:
kubectl delete ConfigConnectorContext --all -A –wait=false
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
Langkah berikutnya
- Mulai menggunakan Config Connector.
- Pelajari praktik terbaik untuk Config Connector.