Halaman ini menjelaskan cara menambahkan dan mengatur konfigurasi yang disimpan dalam sumber ketepatan.
Tentang konfigurasi
Config Sync didesain untuk cluster operator yang mengelola banyak cluster. Anda dapat memastikan bahwa klaster Anda memenuhi standar kepatuhan dan bisnis dengan membiarkan Config Sync mengelola namespace, Roles, RoleBinding, ResourceQuotas, dan objek Kubernetes penting lainnya, di seluruh armada Anda.
Saat Config Sync mengelola resource ini, cluster yang terdaftar akan tetap berada di
menyinkronkan menggunakan konfigurasi. Konfigurasi adalah file YAML atau JSON yang disimpan di
yang sesungguhnya. Config Sync mendukung repositori Git, image OCI, dan diagram Helm
sebagai sumber kebenaran. Konfigurasi
berisi jenis detail
konfigurasi yang sama dengan
diterapkan secara manual ke cluster menggunakan perintah kubectl apply
. Anda dapat membuat
untuk objek Kubernetes apa pun yang ada di cluster. Namun, beberapa
Objek Kubernetes, seperti Secret, berisi informasi sensitif yang mungkin
tidak pantas untuk disimpan
sebagai sumber kebenaran. Gunakan pertimbangan Anda
saat mempertimbangkan
apakah akan mengelola jenis objek ini menggunakan Config Sync.
Anda juga bisa menggunakan Config Sync dengan Config Connector untuk menyinkronkan konfigurasi bagi Resource Google Cloud. Untuk mempelajari cara menggunakan Config Connector lebih lanjut, lihat mengelola resource Google Cloud menggunakan Config Connector. Anda juga dapat menyederhanakan penginstalan Config Sync dan Config Connector dengan menyiapkan Pengontrol Konfigurasi.
Batasan
Anda tidak dapat mengubah kolom yang tidak dapat diubah dalam konfigurasi dengan mengubah nilai di kolom yang sesungguhnya. Jika Anda perlu memperbarui kolom yang tidak dapat diubah, hapus secara manual di cluster yang sama. Config Sync kemudian dapat membuat ulang objek dengan nilai {i>field<i} baru.
Pilih cara mengatur konfigurasi Anda
Config Sync menggunakan sumber tepercaya untuk penyimpanan konfigurasi dan kontrol versi. Ada dua format berbeda yang dapat Anda pilih sebagai sumber kebenaran Anda; tidak terstruktur dan hierarki.
Format sumber yang tidak terstruktur memungkinkan Anda untuk mengatur konfigurasi dengan cara apa pun yang paling praktis. Format ini dapat sangat berguna jika Anda mengatur atau menghasilkan konfigurasi menggunakan alat seperti Kustomize, kpt, atau Helm. Misalnya bagaimana Anda dapat mengatur konfigurasi Anda, lihat Contoh format untuk repositori yang tidak terstruktur.
Format sumber hierarkis, atau terstruktur, memisahkan konfigurasi menjadi beberapa kategori untuk membantu Anda mengatur konfigurasi. Kategorinya adalah sistem konfigurasi, metadata cluster, konfigurasi tingkat cluster, dan namespace konfigurasi Anda. Untuk informasi selengkapnya tentang format sumber hierarkis, lihat Struktur repositori hierarki.
Format tidak terstruktur adalah format yang direkomendasikan untuk sebagian besar pengguna. Selain itu, saat mengonfigurasi objek RepoSync, Anda harus menggunakan format sumber yang tidak terstruktur.
Fitur yang didukung untuk format tidak terstruktur dan hierarkis
Tabel berikut menunjukkan perbedaan antara struktur bisnis tidak terstruktur dan format hierarkis:
Fitur | Format tidak terstruktur (direkomendasikan) | Format hierarkis |
---|---|---|
Digunakan sebagai format untuk objek RootSync atau sumber tepercaya utama | Didukung | Didukung |
Digunakan sebagai format untuk objek RepoSync | Didukung | Tidak didukung |
ClusterSelector |
Didukung | Didukung |
NamespaceSelector |
Didukung | Didukung |
Perintah nomos hydrate |
Didukung dengan flag --source-format=unstructured |
Didukung |
Perintah nomos init |
Tidak didukung | Didukung |
Perintah nomos vet |
Didukung dengan flag --source-format=unstructured |
Didukung |
Semua perintah nomos lainnya |
Didukung | Didukung |
Namespace abstrak | Tidak didukung | Didukung |
Repo objek |
Tidak didukung | Didukung |
Objek HierarchyConfig |
Tidak didukung | Didukung |
Kapan menambahkan konfigurasi ke sumber
Jika Anda membuat format tidak terstruktur, Anda dapat mulai menambahkan konfigurasi ke
segera setelah dibuat. Jika Anda membuat format hierarkis, gunakan
perintah nomos init
untuk
melakukan inisialisasi sumber kebenaran, atau membuat
struktur direktori secara manual.
Direktori kosong tidak dapat di-commit ke repositori Git, jadi sebelum Anda mengonfigurasi Config Sync, Anda harus membuat konfigurasi dan menambahkannya ke repositori.
Setelah Anda membuat sumber kebenaran dan menambahkan konfigurasi ke dalamnya, gunakan
Perintah nomos vet
untuk memverifikasi
struktur sumber kebenaran Anda dan
memeriksa sintaks dan validitas
konfigurasi standar.
Mengonfigurasi Config Sync untuk membaca dari sumber tepercaya
Setelah Anda membuat sumber kebenaran dan menempatkan konfigurasi di dalamnya, Anda dapat mengonfigurasi Config Sync untuk membaca dari sumber. Setelah Anda selesai Pada langkah ini, Config Sync akan menyinkronkan konfigurasi dari sumber tepercaya ke cluster Anda.
Anda mengonfigurasi lokasi sumber kebenaran saat menginstal Config Sync, dan Anda dapat mengedit konfigurasi Config Sync nanti. Selain pasal lokasi sumber tepercaya, Anda dapat menentukan cabang atau subdirektori untuk perhatikan, jika sumbernya memiliki konten selain konfigurasi.
Jika Anda menggunakan
format hierarkis, dan
menginstal Config Sync secara manual dengan kubectl
,
jangan tempatkan konfigurasi Operator di system/
lain, atau direktori cadangan lainnya seperti cluster/
atau
namespaces/
. Menempatkan konfigurasi di salah satu
direktori yang dicadangkan menyebabkan
nomos vet
untuk gagal dan mencatat error seperti
KNV1033: IllegalSystemResource ditempatkanError,
KNV1038: IllegalKindInNamespacesError,
atau KNV1039: IllegalKindInClusterError.
Anda dapat memberi pengguna akses ke sumber tepercaya deployment tim produk tertentu. Namun, jika Anda memberi seseorang akses ke sumber deployment yang tepercaya, orang tersebut juga diberikan RBAC yang sama seperti rekonsiliasi yang berjalan untuk sumber yang sesungguhnya.
Untuk mengonfigurasi otentikasi dan otorisasi antara Config Sync dan
sumber yang terpercaya, lihat
langkah instalasi tentang
mengonfigurasi Secret git-creds
.
Abaikan mutasi objek
Jika Anda tidak ingin Config Sync mempertahankan status objek dalam
setelah ada, Anda dapat menambahkan
anotasi client.lifecycle.config.k8s.io/mutation: ignore
ke objek yang
Anda ingin Config Sync mengabaikan mutasi.
Untuk menggunakan anotasi, Anda harus mengaktifkan API RootSync dan RepoSync.
Contoh berikut menunjukkan cara menambahkan anotasi ke sebuah objek:
metadata:
annotations:
client.lifecycle.config.k8s.io/mutation: ignore
Anda tidak dapat mengubah anotasi ini secara manual pada objek terkelola di cluster.
Langkah selanjutnya
- Pelajari cara mengelola namespace dan objek cakupan namespace.
- Untuk mempelajari cara memublikasikan image OCI, lihat Sinkronkan artefak OCI dari Artifact Registry.
- Untuk mempelajari cara menyinkronkan dari diagram Helm, lihat Menyinkronkan chart Helm dari Artifact Registry.