Bantu meningkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih GitHub tautan Edit halaman ini di yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan pengaturan CD Argo
Dengan Kemampuan EKS untuk Argo CD, Anda mendapatkan pengalaman Argo CD yang dikelola sepenuhnya. Upstream Argo CD menyediakan banyak pengaturan dan fitur opsional, dan Kemampuan EKS untuk Argo CD mendukung sebagian dari mereka. Untuk pengaturan yang didukung, Anda mengkonfigurasinya dengan cara yang sama seperti CD Argo hulu, melalui cluster argocd-cm ConfigMap Anda.
AWS membaca bidang yang didukung dari itu ConfigMap dan menerapkannya ke instance CD Argo yang dikelola.
Bagian berikut menjelaskan cara mengonfigur argocd-cm ConfigMap asi pengaturan yang didukung.
Prasyarat
Sebelum Anda mengkonfigurasi pengaturan CD Argo, Anda harus memiliki:
-
Cluster EKS dengan kemampuan CD Argo dibuat (lihatMembuat kemampuan Argo CD)
-
Namespace dikonfigurasi untuk Argo CD dalam kemampuan (secara default, namespace)
argocd -
kubectlCLI dikonfigurasi untuk berkomunikasi dengan cluster Anda
Konfigurasikan argocd-cm ConfigMap
Untuk mengkonfigurasi pengaturan CD Argo yang didukung, buat ConfigMap nama argocd-cm di cluster Anda. Kemampuan terkelola membaca bidang yang didukung dari ini ConfigMap dan menerapkannya ke instance CD Argo yang dikelola. Kemampuan mengabaikan bidang dan fitur yang tidak didukung yang Anda tetapkan. Tinjau daftar bidang yang didukung untuk mengonfirmasi bahwa pengaturan berlaku.
Buat ConfigMap dengan persyaratan berikut:
-
Beri nama ConfigMap
argocd-cm. -
Buat di namespace yang dikonfigurasi untuk Argo CD dalam kemampuan (namespace yang Anda tetapkan dalam konfigurasi CD Argo saat Anda membuat kemampuan). Secara default, ini adalah
argocdnamespace. -
Terapkan label
app.kubernetes.io/part-of: argocd. Label ini diperlukan, cocok dengan perilaku CD Argo hulu. -
Gunakan format bidang dan kunci yang sama dengan CD Argo hulu.
Contoh berikut menunjukkan ConfigMap struktur:
apiVersion: v1 kind: ConfigMap metadata: name: argocd-cm namespace: argocd labels: app.kubernetes.io/part-of: argocd data: # Supported settings go here (see the following sections)
penting
A ConfigMap bukanlah toko yang aman. Jangan menaruh rahasia, kredenSIAL, atau informasi sensitif lainnya di dalamnya argocd-cm ConfigMap.
Pengaturan yang didukung
Kemampuan terkelola mendukung argocd-cm bidang berikut:
| Bidang | Deskripsi |
|---|---|
|
|
Skrip pemeriksaan kesehatan khusus untuk Sumber Daya Kustom. Lihat Pemeriksaan kesehatan khusus. |
Pemeriksaan kesehatan khusus
Argo CD menilai kesehatan sumber daya yang disebarkannya. Untuk sumber daya Kubernetes standar seperti Deployments and Services, Argo CD memiliki logika kesehatan bawaan. Untuk Sumber Daya Kustom yang tidak dikenali oleh Argo CD, tidak memiliki logika kesehatan bawaan dan tidak melaporkan status kesehatan.
Ketika Sumber Daya Kustom tidak memiliki pemeriksaan kesehatan, Argo CD tidak melaporkan kesehatan untuk itu dan mengecualikannya dari kesehatan Aplikasi secara keseluruhan. Akibatnya, Aplikasi dapat melaporkan Healthy bahkan ketika sumber dayanya masih disediakan atau gagal. Ini juga berarti bahwa gelombang sinkronisasi dapat maju sebelum sumber daya tersebut siap, karena urutan sinkronisasi tergantung pada kesehatan yang dilaporkan.
Dengan pemeriksaan kesehatan khusus, Anda dapat menentukan logika kesehatan untuk Sumber Daya Kustom Anda, sehingga CD Argo melaporkan penyebaran kesehatan dan urutan yang akurat dengan benar. Anda menentukan pemeriksaan kesehatan khusus dengan cara yang sama seperti yang Anda lakukan di CD Argo hulu, menggunakan kunci konfigurasi yang sama. Skrip hulu dan contoh komunitas yang ada bekerja dengan Kemampuan EKS untuk CD Argo tanpa modifikasi.
Built-in pemeriksaan kesehatan untuk ACK dan kro
Kapabilitas EKS untuk CD Argo mencakup pemeriksaan kesehatan bawaan untuk sumber daya Peng AWS ontrol untuk Kubernetes (ACK) dan kro (Kube Resource Orchestrator). Sumber daya ini melaporkan kesehatan yang akurat tanpa konfigurasi tambahan.
Untuk mengubah cara kemampuan menilai kesehatan sumber daya ACK atau kro, Anda dapat menentukan pemeriksaan kesehatan khusus untuk jenis sumber daya tersebut. Pemeriksaan kesehatan khusus yang Anda tetapkan untuk jenis sumber daya menggantikan pemeriksaan kesehatan bawaan untuk jenis tersebut.
Tulis pemeriksaan kesehatan khusus
Tentukan pemeriksaan kesehatan khusus dengan menambahkan skrip Lua ke argocd-cm ConfigMap, menggunakan kunci dalam format berikut:
resource.customizations.health.<group>_<kind>
Ganti <group> dengan grup API dari Sumber Daya Kustom dan <kind> dengan jenisnya. Misalnya, kunci untuk Sumber Daya Kustom dengan grup API example.com dan jenisnya Database adalahresource.customizations.health.example.com_Database.
Script Lua memiliki akses ke objek sumber daya melalui obj variabel global. Skrip harus mengembalikan tabel dengan status bidang yang disetel ke salah satu dariHealthy,Progressing,Degraded, atauSuspended. Script juga dapat mengatur message bidang opsional untuk memberikan pesan status deskriptif.
Contoh berikut ConfigMap mendefinisikan pemeriksaan kesehatan untuk Sumber Daya Database Kustom. Skrip melaporkan sumber daya seperti Healthy saat fase statusnyaReady, dan Progressing sebaliknya:
apiVersion: v1 kind: ConfigMap metadata: name: argocd-cm namespace: argocd labels: app.kubernetes.io/part-of: argocd data: resource.customizations.health.example.com_Database: | hs = {} hs.status = "Progressing" hs.message = "Waiting for the resource to become ready" if obj.status ~= nil then if obj.status.phase == "Ready" then hs.status = "Healthy" hs.message = "Database is ready" end end return hs
Untuk informasi selengkapnya tentang format skrip pemeriksaan kesehatan, daftar pemeriksaan kesehatan bawaan, dan contoh komunitas yang dapat Anda adaptasi, lihat Resource Health
Keamanan dan keterbatasan
Dengan kemampuan terkelola, skrip pemeriksaan kesehatan kustom Anda berjalan dalam komputasi terisolasi dan dikelola sepenuhnya. Lingkungan eksekusi diisolasi per kemampuan dan tidak memiliki akses ke data cluster Anda atau ke AWS API. Anda tidak menyediakan, menambal, atau mengoperasikan bagian mana pun dari lingkungan eksekusi.
Perhatikan hal berikut saat Anda menulis pemeriksaan kesehatan khusus untuk digunakan dengan Kemampuan EKS:
-
Pustaka Lua standar tidak tersedia.
useOpenLibsOpsi ini selalu dinonaktifkan, yang merupakan default di hulu Argo CD. Script tidak dapat mengakses sistem operasi atau sistem file. Jika Anda memigrasikan skrip dari CD Argo yang dikelola sendiri yang bergantung pada pustaka Lua standar, skrip mungkin tidak berjalan dengan cara yang sama dalam kemampuan. Sebaiknya Anda menguji skrip pemeriksaan kesehatan Anda di lingkungan pengembangan sebelum menggunakannya dalam produksi.
Jika evaluasi kesehatan sementara tidak tersedia, laporan kemampuan mempengaruhi Sumber Daya Khusus sebagai Progressing bukannya menghapus status kesehatannya. Ini membuat sumber daya yang terpengaruh terlihat dalam kesehatan Aplikasi sampai evaluasi pulih.
Verifikasi pemeriksaan kesehatan khusus
Setelah Anda menerapkan atau memperbarui argocd-cm ConfigMap, konfirmasikan bahwa pemeriksaan kesehatan aktif:
-
Di Argo CD UI, pilih Aplikasi yang menyertakan Sumber Daya Kustom dari jenis yang Anda tentukan pemeriksaan kesehatan. Konfirmasikan bahwa sumber daya melaporkan status kesehatan yang dikembalikan skrip Anda. Atau, jalankan
argocd app getdan tinjau status kesehatan sumber daya.<application-name> -
Jika sumber daya tidak melaporkan kesehatan yang diharapkan, verifikasi yang berikut ini:
-
Nam ConfigMap anya
argocd-cmdan berada di namespace yang dikonfigurasi untuk Argo CD dalam kemampuan. -
Ini ConfigMap memiliki
app.kubernetes.io/part-of: argocdlabel yang diperlukan. -
Kunci pemeriksaan kesehatan menggunakan yang benar
<group>_<kind>untuk jenis sumber daya.
-