Anda dapat mengonfigurasi cluster Google Distributed Cloud agar worker node-nya
dapat menggunakan registry pribadi. Registry pribadi level node dimaksudkan untuk digunakan
dengan workload untuk memberi Anda lebih banyak kontrol atas pengambilan gambar dan
keamanan. Saat mengonfigurasi cluster dengan registry pribadi seperti yang dijelaskan
dalam dokumen ini, Google Distributed Cloud memperbarui konfigurasi container
sebagaimana mestinya. Setelah cluster dikonfigurasi, semua Pod pada node yang memenuhi syarat dapat
dapat menggunakan registry tanpa harus menentukan imagePullSecrets
dalam spesifikasi Pod.
Fitur ini dapat diaktifkan atau dinonaktifkan kapan saja dalam siklus proses cluster.
Daftar berikut menunjukkan tahap peluncuran untuk fitur ini per versi:
- 1.30: GA
- 1.29: Pratinjau
- 1.28: Tidak tersedia
Prasyarat
1,30
Untuk menggunakan fitur GA ini, cluster Anda harus memenuhi persyaratan berikut:
- Versi cluster harus 1.30.
- Versi kumpulan node harus pada versi 1.29 atau yang lebih baru (cluster 1.30 dapat memiliki kumpulan node pada versi 1.28, tetapi fitur ini hanya berfungsi untuk kumpulan node di versi 1.29 atau yang lebih baru).
Fitur ini ditujukan untuk cluster pengguna dan pengelolaan mandiri (campuran dan mandiri) cluster dengan kumpulan node pekerja, seperti yang ditunjukkan pada tabel berikut:
Model deployment Jenis cluster yang didukung Deployment cluster admin dan pengguna Cluster Admin
Cluster pengguna 1
Cluster pengguna 2
Deployment cluster hybrid Cluster hybrid
Cluster pengguna 1
Cluster pengguna 2
Deployment cluster mandiri Cluster mandiri
1,29
Untuk menggunakan fitur Pratinjau ini, cluster Anda harus memenuhi persyaratan berikut:
- Versi cluster harus 1.29.
- Versi kumpulan Node harus sebesar 1.29 (tidak semua kumpulan node harus berada di versi 1.29, tetapi fitur ini hanya berfungsi untuk kumpulan node pada versi 1.29).
- Cluster harus memiliki
Pratinjau
preview.baremetal.cluster.gke.io/private-registry: "enable"
fitur. Fitur ini ditujukan untuk cluster pengguna dan pengelolaan mandiri (campuran dan mandiri) cluster dengan kumpulan node pekerja, seperti yang ditunjukkan pada tabel berikut:
Model deployment Jenis cluster yang didukung Deployment cluster admin dan pengguna Cluster Admin
Cluster pengguna 1
Cluster pengguna 2
Deployment cluster hybrid Cluster hybrid
Cluster pengguna 1
Cluster pengguna 2
Deployment cluster mandiri Cluster mandiri
Mengonfigurasi cluster yang dikelola sendiri untuk registry pribadi
Untuk mengonfigurasi cluster mandiri atau hybrid agar menggunakan pribadi tingkat node registry:
Edit file konfigurasi cluster untuk menambahkan blok
privateRegistries
di bagian kredensial:--- gcrKeyPath: baremetal/gcr.json sshPrivateKeyPath: .ssh/id_rsa ... privateRegistries: - host: REGISTRY_HOST caCertPath: CA_CERT_PATH pullCredentialConfigPath: CREDENTIALS_FILE_PATH ... --- apiVersion: v1 kind: Namespace metadata: name: cluster-hybrid-basic --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: hybrid-basic namespace: cluster-hybrid-basic annotations: preview.baremetal.cluster.gke.io/private-registry: "enable" # Version 1.29 clusters only ... spec: type: hybrid ...
Ganti kode berikut:
REGISTRY_HOST
: nama domain atau alamat IP {i>private registry<i} dan porta. Contoh:10.200.0.2:5007
.CA_CERT_PATH
: jalur file sertifikat CA (server CA root). Contoh:/root/cert.pem
. Jika {i>registry<i} pribadi Anda tidak memerlukan sertifikat TLS pribadi, maka Anda dapat menghilangkan bidang ini.CREDENTIALS_FILE_PATH
: jalur file yang berisi kredensial untuk mengakses {i>registry<i} pribadi Anda. Contoh:/root/.docker/config.json
. Jika server {i>registry<i} pribadi Anda tidak memerlukan kredensial untuk otentikasi, maka Anda dapat menghilangkan kolom ini.
Terapkan perubahan pada cluster Anda:
bmctl update cluster -c CLUSTER_NAME --kubeconfig=CLUSTER_KUBECONFIG
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang ingin Anda memperbarui.CLUSTER_KUBECONFIG
: jalur akun yang dikelola sendiri file kubeconfig cluster (hybrid atau mandiri).
Mengonfigurasi cluster pengguna untuk registry pribadi
Dengan cluster pengguna, konfigurasi registry pribadi ditentukan dalam Spesifikasi resource cluster. Selain itu, untuk cluster pengguna, Anda perlu menyimpan kredensial registry pribadi di Secret:
Membuat Secret Kubernetes jenis
kubernetes.io/dockerconfigjson
untuk kredensial registry:Jika Anda ingin mencakup Secret ke namespace tertentu, tambahkan
--namespace
ke perintah berikut untuk menentukan nama namespace.kubectl create secret docker-registry CREDS_SECRET_NAME \ --from-file=.dockerconfigjson=CREDENTIALS_FILE_PATH \ --kubeconfig=ADMIN_KUBECONFIG
Ganti kode berikut:
CREDS_SECRET_NAME
: nama untuk Secret Anda.CREDENTIALS_FILE_PATH
: jalur Docker file konfigurasi. Contoh,/root/.docker/config.json
.
Secret Anda akan terlihat seperti contoh berikut:
apiVersion: v1 data: .dockerconfigjson: ewoJImF1dGhzIjogewoJ...clpYSXdNak14IgoJCX0KCX0KfQ== kind: Secret metadata: creationTimestamp: "2024-04-28T22:06:06Z" name: private-registry-secret namespace: default resourceVersion: "5055821" ... annotations: ... baremetal.cluster.gke.io/mark-source: "true" type: kubernetes.io/dockerconfigjson
Jika Secret tidak berada dalam namespace yang sama dengan cluster, tambahkan anotasi
baremetal.cluster.gke.io/mark-source: "true"
, seperti yang ditunjukkan dalam contoh contoh.Jika berlaku, simpan sertifikat CA untuk registry dalam Secret.
Secret terlihat seperti berikut ini:
apiVersion: v1 kind: Secret metadata: annotations: baremetal.cluster.gke.io/mark-source: "true" name: ca-9dd74fd308bac6df562c7a7b220590b5 namespace: some-namespace type: Opaque data: ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR2RENDQXFTZ0F3SUJBZ0lVQi 3UGxjUzVFVk8vS0xuYjZiMHRhRFVleXJvd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2ZqRUxNQWtHQ ... QnpPTkxTRFZJVk5LMm9YV1JvNEpJY0ZoNFZ4MWRMRHpqMldEaHhrUEljWEhLdGR3dk5iS2tocU LUVORCBDRVJUSUZJQ0FURS0tLS0tCg== ```
Edit file konfigurasi cluster pengguna untuk mengaktifkan dan mengonfigurasi cluster pribadi {i>registry<i}:
Hanya untuk cluster versi 1.29, tambahkan Anotasi fitur Pratinjau
preview.baremetal.cluster.gke.io/private-registry: "enable"
untuk mengaktifkan fitur tersebut. Untuk cluster versi 1.30 dan yang lebih baru, registry pribadi diaktifkan secara default.apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user-basic namespace: cluster-user-basic resourceVersion: "766027" annotations: ... preview.baremetal.cluster.gke.io/private-registry: "enable" ...
Di bagian
nodeConfig
pada file konfigurasi cluster pengguna, tambahkan blokprivateRegistries
:apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user-basic ... spec: bypassPreflightCheck: false ... nodeConfig: containerRuntime: containerd podDensity: maxPodsPerNode: 250 privateRegistries: - caCertSecretRef: name: CA_CERT_SECRET_NAME namespace: CA_CERT_SECRET_NAMESPACE host: REGISTRY_HOST pullCredentialSecretRef: name: CREDS_SECRET_NAME namespace: CREDS_SECRET_NAMESPACE
Ganti kode berikut:
CA_CERT_SECRET_NAME
: nama Secret yang yang Anda buat untuk menyimpan sertifikat CA. Jika Anda tidak membuat rahasia ini, hapus blokcaCertSecretRef
.CA_CERT_SECRET_NAMESPACE
: nama namespace untuk Rahasia sertifikat CA, jika Anda yang membuatnya.REGISTRY_HOST
: nama domain atau alamat IP {i>private registry<i} dan porta. Contoh:10.200.0.2:5007
.CREDS_SECRET_NAME
: nama Jeniskubernetes.io/dockerconfigjson
Rahasia untuk registry memiliki kredensial yang lengkap.CREDS_SECRET_NAMESPACE
: nama namespace untuk Rahasia untuk kredensial registry.
Terapkan perubahan pada cluster Anda:
bmctl update cluster -c USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
Ganti kode berikut:
USER_CLUSTER_NAME
: nama cluster Anda memperbarui.ADMIN_KUBECONFIG
: jalur cluster admin {i>kubeconfig<i}.