Menginstal di distribusi Kubernetes lainnya
Halaman ini menunjukkan cara menginstal Config Connector pada Kubernetes distribusi selain Google Kubernetes Engine (GKE) di Google Cloud, misalnya GKE di AWS.
Sebelum memulai
Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:
- Pilih atau membuat project Google Cloud untuk menginstal Config Connector.
- Pastikan Anda memiliki izin untuk membuat dan mendownload akun layanan untuk proyek tersebut.
- Membuat atau mengidentifikasi cluster Kubernetes tempat Anda belum menginstal Konektor Konfigurasi.
Menginstal Config Connector
Untuk menginstal Config Connector di lingkungan Kubernetes lain setelah Anda membuat atau mengidentifikasi cluster Kubernetes, membuat Identity and Access Management (IAM) akun layanan, lalu instal komponen Config Connector di cluster Anda.
Membuat ClusterRoleBinding
Config Connector memerlukan izin untuk membuat peran Kubernetes sebelum dapat melakukannya membuat sumber daya.
Pastikan Anda dapat membuat peran dengan menjalankan perintah berikut:
kubectl auth can-i create roles
Jika output-nya adalah yes
, lanjutkan ke Membuat identitas
bagian.
Jika output-nya adalah no
, buat ClusterRoleBinding
di cluster Anda, yang
memungkinkan Anda membuat peran:
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user ACCOUNT_EMAIL
Ganti ACCOUNT_EMAIL dengan email yang Anda gunakan untuk login ke Akun Penagihan Cloud Anda.
Output harus berisi frasa cluster-admin-binding created
. Jika hal tersebut
muncul, hubungi akun Penagihan Cloud atau GKE Anda
administrator cluster terkait izin.
Membuat identitas
Config Connector memerlukan Cloud Identity untuk berkomunikasi dengan Google Cloud Platform. Untuk menyiapkan identitas, buat IAM akun layanan dan kunci akun layanan. Setelah itu, Anda mengimpor kredensial kunci sebagai Secret di setiap cluster yang menjalankan Config Connector.
Dalam serangkaian petunjuk berikutnya, Anda akan mengimpor Kunci Kredensial Akun Layanan ke cluster Kubernetes. Mengimpor Kredensial Akun Layanan secara langsung ke cluster dianggap tidak aman, terutama jika Anda menjalankan beban kerja pihak ketiga atau khusus di cluster yang sama. Pendekatan ini berpotensi memanfaatkan node ke cluster celah eskalasi dan meniru identitas akun layanan Google Cloud melalui rahasia ini. Jika Anda menggunakan cluster GKE, sebaiknya menggunakan Workload Identity Federation for GKE.
Membuat akun layanan
Untuk membuat akun layanan, selesaikan langkah-langkah berikut:
Buat akun layanan IAM. Jika Anda sudah memiliki akun layanan, Anda dapat menggunakannya daripada membuat akun layanan baru.
Gunakan gcloud CLI untuk membuat akun layanan dengan menjalankan perintah berikut:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Ganti
SERVICE_ACCOUNT_NAME
dengan nama akun layanan Anda.Untuk mempelajari lebih lanjut cara membuat akun layanan, lihat Membuat dan mengelola akun layanan.
Memberi akun layanan IAM izin yang ditingkatkan pada proyek:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/owner"
Ganti kode berikut:
PROJECT_ID
dengan ID project Google Cloud Anda.SERVICE_ACCOUNT_NAME
dengan nama akun layanan Anda.
Membuat kunci akun layanan dan mengekspor kredensialnya ke file bernama
key.json
:gcloud iam service-accounts keys create --iam-account \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com key.json
Ganti kode berikut:
SERVICE_ACCOUNT_NAME
dengan nama akun layanan Anda.PROJECT_ID
dengan ID project Google Cloud Anda.
Menerapkan kredensial ke cluster Anda
Untuk menerapkan kredensial ke cluster tempat Anda ingin menjalankan Config Connector, selesaikan langkah-langkah berikut:
Buat namespace
cnrm-system
:kubectl create namespace cnrm-system
Impor kredensial kunci sebagai Secret.
kubectl create secret generic SECRET_NAME \ --from-file key.json \ --namespace cnrm-system
Ganti SECRET_NAME dengan nama yang ingin Anda berikan Secret Anda.
Hapus kredensial dari sistem Anda:
rm key.json
Menginstal Operator Config Connector
Selesaikan langkah-langkah berikut untuk menginstal Operator Config Connector:
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:
kubectl apply -f operator-system/configconnector-operator.yaml
Mengonfigurasi Config Connector
Untuk mengonfigurasi Config Connector menggunakan operator, Anda membuat konfigurasi
file untuk ConfigConnector
CustomResource,
lalu menerapkannya
menggunakan perintah kubectl apply
.
Untuk mengonfigurasi Config Connector menggunakan operator:
Salin YAML berikut ke 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 # instance installed in your cluster name: configconnector.core.cnrm.cloud.google.com spec: mode: cluster credentialSecretName: SECRET_NAME stateIntoSpec: Absent
Ganti SECRET_NAME dengan nama Secret yang Anda buat sebelumnya.
Terapkan konfigurasi ke cluster Anda dengan
kubectl apply
:kubectl apply -f configconnector.yaml
Menentukan tempat pembuatan resource
Config Connector dapat mengatur resource berdasarkan project, folder, atau organisasi, sama seperti mengatur resource dengan Google Cloud.
Sebelum membuat resource dengan Config Connector, Anda harus mengonfigurasi tempat untuk membuat Google Cloud Platform. Untuk menentukan tempat membuat resource, Config Connector menggunakan anotasi pada konfigurasi resource atau Namespace yang ada. Untuk 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 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 proyek, folder, atau organisasi yang sesuai. Untuk mempelajari lebih lanjut tentang 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 memastikan bahwa Pod sudah siap dengan menjalankan perintah berikut:
kubectl wait -n cnrm-system \
--for=condition=Ready pod --all
Jika Config Connector diinstal dengan benar, output-nya mirip dengan berikut ini:
pod/cnrm-controller-manager-0 condition met
Mengupgrade Config Connector
Untuk mengupgrade Config Connector, download dan instal versi terbaru Operator Config Connector:
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
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
Langkah selanjutnya
- Pelajari lebih lanjut cara memilih jenis penginstalan.
- Pelajari cara memecahkan masalah Config Connector.