Halaman ini menjelaskan cara mengonfigurasi Config Sync menggunakan perintah kubectl
setelah Anda
menginstal Config Sync menggunakan Konsol Google Cloud atau Google Cloud CLI.
Meskipun Anda dapat membuat banyak perubahan
konfigurasi menggunakan konsol atau CLI,
perlu menggunakan perintah kubectl
untuk
ganti beberapa default Config Sync untuk mengontrol sertifikat SSL
verifikasi, dan untuk menggunakan
sebuah otoritas sertifikat.
Membuat dan mengedit file konfigurasi RootSync
Untuk mengonfigurasi Config Sync menggunakan perintah kubectl
, edit
Objek RootSync dengan membuat
{i>file<i} YAML.
Saat Anda menginstal Config Sync menggunakan Konsol Google Cloud atau
Google Cloud CLI, Config Sync secara otomatis membuat objek RootSync yang bernama
root-sync
. Objek ini berisi informasi
konfigurasi terbaru untuk
Sinkronisasi Konfigurasi. Setiap kali Anda membuat perubahan
di Konsol Google Cloud atau
Google Cloud CLI, root-sync
telah diupdate.
Pelajari kolom yang dapat diedit menggunakan kubectl
Anda dapat membuat perubahan lanjutan pada root-sync
menggunakan perintah kubectl
untuk
kolom yang tidak didukung di Konsol Google Cloud atau Google Cloud CLI. Jika Anda ingin
membuat lalu mengupdate objek RootSync atau RepoSync secara langsung menggunakan kubectl
perintah, lihat
Kolom RootSync dan RepoSync.
Sebelum membuat perubahan apa pun pada file YAML yang Anda buat di , biasakan diri Anda dengan tabel berikut. Tabel ini mencantumkan {i>field<i} yang dapat Anda edit dan tambahkan. Jika Anda mengedit bidang yang tidak tercantum dalam tabel ini, Config Sync secara otomatis mengembalikan perubahan ke nilai yang Anda tetapkan saat Config Sync yang terakhir kali dikonfigurasi di Konsol Google Cloud atau Google Cloud CLI.
Kunci | Deskripsi |
---|---|
spec.git.noSSLVerify |
noSSLVerify menentukan apakah akan mengaktifkan atau menonaktifkan sertifikat SSL
verifikasi. Default: false .Jika noSSLVerify disetel ke true , Git akan diberi tahu untuk melewati sertifikat SSL
verifikasi. |
spec.git.caCertSecretRef.name |
Nama Rahasia yang berisi certificate authority (CA) CA {i>root<i}. Jika kolom ini disediakan, server Git harus menggunakan yang diterbitkan oleh CA ini. Sertifikat CA harus disimpan di Rahasia di bawah kunci bernama `cert`. |
spec.override.resources |
Daftar permintaan resource container dan penggantian batas. Opsional. Setiap item dalam daftar berisi tiga kolom:
Ketika nilai pengganti untuk permintaan atau batas resource tidak diberikan, nilai resource default untuk permintaan atau batas akan digunakan. |
spec.override.gitSyncDepth |
gitSyncDepth memungkinkan Anda mengganti jumlah commit Git yang akan diambil.Tidak boleh kurang dari 0. Config Sync melakukan clone penuh jika kolom ini adalah 0, dan clone shallow jika kolom ini lebih besar dari 0. Jika kolom ini tidak disediakan, Config Sync akan mengonfigurasinya secara otomatis. |
spec.override.statusMode |
statusMode memungkinkan Anda mengaktifkan atau menonaktifkan pengambilan resource
status level.Defaultnya adalah enabled .Untuk menonaktifkan pengambilan status tingkat resource, tetapkan kolom ini ke disabled .
|
spec.override.reconcileTimeout |
reconcileTimeout memungkinkan Anda mengganti batas durasi
untuk menunggu resource
terapkan grup
berdamai sebelum menyerah. Semua resource dalam commit dapat berada dalam
beberapa grup terapkan berdasarkan
dependencies.Waktu tunggu default adalah 5m .Gunakan string untuk menentukan nilai kolom ini, misalnya 30s ,
5m .
|
spec.override.enableShellInRendering |
enableShellInRendering menentukan apakah akan mengaktifkan atau menonaktifkan
akses {i>shell <i}dalam proses rendering. Basis jarak jauh Kustomize memerlukan
akses shell. Menetapkan kolom ini ke true akan mengaktifkan akses shell
dalam proses rendering dan mendukung pengambilan basis jarak jauh dari repositori
publik.Defaultnya adalah false . |
Membuat file
Untuk membuat dan mengedit file konfigurasi untuk root-sync
, selesaikan
langkah-langkah berikut:
Untuk memastikan bahwa Anda mengambil informasi konfigurasi untuk cluster yang benar, konfigurasikan akses command line
kubectl
:gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_ID
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang memiliki konfigurasi Config Sync yang ingin Anda ubahZONE
: zona tempat Anda membuat clusterPROJECT_ID
: project ID Anda
Salin informasi konfigurasi dari objek RootSync yang Config Sync dibuat ke dalam file YAML:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yaml
Ganti
FILE_NAME
dengan nama untuk konfigurasi Anda .Buka file YAML yang Anda buat dan buat konfigurasi yang diperlukan perubahan. Misalnya, untuk mengganti batas memori
git-sync
, tambahkan kolom berikut ini dalam huruf tebal:apiVersion: v1 items: - apiVersion: configsync.gke.io/v1beta1 kind: RootSync metadata: annotations: configmanagement.gke.io/managed-by-hub: "true" configmanagement.gke.io/update-time: "1644945169" creationTimestamp: "2022-02-15T17:12:52Z" generation: 1 name: root-sync namespace: config-management-system resourceVersion: "211980457" uid: aa30a94b-2825-4590-ad30-5af848403502 spec: git: auth: none branch: main dir: /quickstart/config-sync period: 15s repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples revision: HEAD secretRef: {} override: resources: - containerName: "git-sync" memoryLimit: "400Mi" sourceFormat: unstructured # Remainder of RootSync omitted
Terapkan perubahan pada file YAML:
kubectl apply -f FILE_NAME.yaml
Untuk memverifikasi bahwa Config Sync telah menerapkan perubahan Anda, lihat RootSync :
kubectl describe rootsync root-sync -n config-management-system
Untuk memverifikasi bahwa perubahan Anda tidak menyebabkan error, gunakan Perintah
nomos status
:nomos status
Konfigurasi Certificate Authority
Untuk server yang dikonfigurasi dengan sertifikat dari Certificate Authority (CA)
yang belum dipercaya, Config Sync dapat dikonfigurasi untuk menggunakan CA
sertifikat untuk memverifikasi
koneksi HTTPS ke server. Hal ini didukung untuk server Git,
Helm, atau OCI. Sertifikat CA
harus menyertakan sertifikat SSL lengkap (Root/Menengah/Leaf).
Jika server Anda telah menggunakan CA
tepercaya atau Anda tidak terhubung melalui HTTPS,
Anda dapat melewati langkah ini dan membiarkan caCertSecretRef
tidak disetel.
RootSync
Ambil sertifikat CA yang digunakan untuk menerbitkan sertifikat bagi Git dan menyimpannya ke sebuah file.
Untuk objek
RootSync
, Secret harus dibuat di namespaceconfig-management-system
. Contoh:kubectl create secret generic ROOT_CA_CERT_SECRET_NAME
--namespace=config-management-system
--from-file=cert=/path/to/CA_CERT_FILESaat Anda mengonfigurasi objek
RootSync
, tetapkan nilai kolomcaCertSecretRef.name
diRootSync
ke ROOT_CA_CERT_SECRET_NAME.
RepoSync
Ambil sertifikat CA yang digunakan untuk menerbitkan sertifikat bagi Git dan menyimpannya ke sebuah file.
Untuk objek
RepoSync
, Secret harus dibuat dalam namespace yang sama dengan RepoSync. Contoh:kubectl create secret generic NAMESPACE_CA_CERT_SECRET_NAME
--namespace=REPO_SYNC_NAMESPACE
--from-file=cert=/path/to/CA_CERT_FILESaat Anda mengonfigurasi
RepoSync
, tetapkan nilai kolomcaCertSecretRef.name
dalam objekRepoSync
ke NAMESPACE_CA_CERT_SECRET_NAME.
Menghapus objek RootSync
Untuk menghapus root-sync
, jalankan perintah berikut:
kubectl delete -f FILE_NAME
Ganti FILE_NAME
dengan nama RootSync Anda
file konfigurasi Anda. Contoh, root-sync.yaml
.
Menghapus objek RootSync atau RepoSync tidak membersihkan Config Sync anotasi dan label. Untuk membersihkan resource terkelola, sinkronkan dari resource kosong direktori Git.
Langkah selanjutnya
- Pelajari kebijakan Kolom RootSync dan RepoSync.
- Temukan cara Memantau objek RootSync dan RepoSync.