

 **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
<a name="argocd-configure-settings"></a>

Kemampuan EKS untuk CD Argo memberikan pengalaman Argo CD yang dikelola sepenuhnya. Upstream Argo CD menawarkan banyak pengaturan dan fitur opsional, dan kemampuan mendukung sebagian dari mereka. Untuk pengaturan yang didukung, Anda mengkonfigurasinya dengan cara yang sama seperti CD Argo hulu, melalui cluster `argocd-cm` ConfigMap Anda. Kemampuan 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
<a name="_prerequisites"></a>

Sebelum Anda mengkonfigurasi pengaturan CD Argo, Anda harus memiliki:
+ Cluster EKS dengan kemampuan CD Argo dibuat (lihat[Membuat kemampuan Argo CD](create-argocd-capability.md))
+ Namespace dikonfigurasi untuk Argo CD dalam kemampuan (secara default, namespace) `argocd`
+ `kubectl`CLI dikonfigurasi untuk berkomunikasi dengan cluster Anda

## Konfigurasikan argocd-cm ConfigMap
<a name="_configure_the_argocd_cm_configmap"></a>

Untuk mengkonfigurasi pengaturan CD Argo yang didukung, buat ConfigMap nama `argocd-cm` di cluster Anda. Kemampuan terkelola membaca pengaturan yang didukung dari ini ConfigMap dan menerapkannya ke instance CD Argo yang dikelola. Untuk pengaturan yang didukung kemampuan dan cara menerapkannya, lihat[Pengaturan yang didukung](#argocd-supported-settings).

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 `argocd` namespace.
+ Terapkan labelnya`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, dengan pengaturan yang menampilkan spanduk di Argo CD UI. Tambahkan pengaturan lain yang didukung `data` di bawah dengan cara yang sama.

```
apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-cm
  namespace: argocd
  labels:
    app.kubernetes.io/part-of: argocd
data:
  ui.bannercontent: "Production cluster"
```

**penting**  
A ConfigMap bukanlah toko yang aman. Jangan menaruh rahasia, kredenSIAL, atau informasi sensitif lainnya di dalamnya `argocd-cm` ConfigMap.

## Bagaimana kemampuan menerapkan pengaturan Anda
<a name="_how_the_capability_applies_your_settings"></a>

Anda mengkonfigurasi Argo CD dengan membuat `argocd-cm` ConfigMap cluster Anda sendiri. Kemampuan menerapkan pengaturan yang didukung dari instans CD Argo yang dikelola Anda ConfigMap ke Anda. Ini hanya menerapkan pengaturan yang didukung, dan mengabaikan bidang atau fitur lain yang Anda tetapkan. Pengaturan apa pun yang tidak tercantum di [Pengaturan yang didukung](#argocd-supported-settings) tidak didukung dan tidak berpengaruh.

Kemampuan memvalidasi nilai yang Anda tetapkan. Jika nilai tidak valid atau cacat, kemampuan mengabaikan nilai itu dan terus berjalan dengan konfigurasi default untuk pengaturan tersebut. Kesalahan dalam Anda ConfigMap tidak merusak instance CD Argo yang dikelola Anda.

**catatan**  
Kemampuan menerapkan konfigurasi dari `argocd-cm` ConfigMap dalam cluster Anda. Setiap kepala sekolah dengan akses tulis ke ini ConfigMap dapat mengubah konfigurasi instance CD Argo terkelola Anda. Kontrol akses berbasis peran (RBAC) Kubernetes cluster Anda mengatur akses ke ConfigMap, bukan izin IAM yang mengontrol sumber daya kemampuan. Sebagai praktik terbaik keamanan, berikan izin untuk memodifikasi objek di namespace CD Argo hanya untuk pengguna tepercaya dan akun layanan. Karena Kubernetes RBAC mencakup izin berdasarkan jenis sumber daya, Anda masih dapat memberikan akses yang dibutuhkan pengguna lain. Misalnya, Anda dapat mengizinkan pengembang untuk membuat dan mengelola Aplikasi tetapi tidak memodifikasi ConfigMaps. Ini mencegah mereka mengubah `argocd-cm` konfigurasi.  
Untuk informasi selengkapnya tentang model tanggung jawab bersama, Kubernetes RBAC, dan isolasi namespace untuk kemampuan CD Argo, lihat. [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md) Untuk mengontrol akses dalam Argo CD, lihat[Konfigurasikan izin CD Argo](argocd-permissions.md).

## Pengaturan yang didukung
<a name="argocd-supported-settings"></a>

Bagian berikut mencantumkan `argocd-cm` pengaturan yang didukung kemampuan terkelola, dikelompokkan berdasarkan kategori. Setiap pengaturan menggunakan kunci dan format yang sama dengan CD Argo hulu. **Kolom ** Bagaimana nilai Anda diterapkan setiap tabel menunjukkan apakah nilai Anda ditambahkan ke atau mengesampingkan konfigurasi default kemampuan. Untuk deskripsi lengkap setiap pengaturan, lihat ConfigMap referensi [ argocd-cm ](https://argo-cd.readthedocs.io/en/stable/operator-manual/argocd-cm-yaml/) di situs web dokumentasi Argo CD.

### Antarmuka pengguna
<a name="_user_interface"></a>

Pengaturan ini menyesuaikan UI CD Argo.


| Pengaturan | Deskripsi | Bagaimana nilai Anda diterapkan | 
| --- | --- | --- | 
|  `ui.bannercontent`  | Teks untuk spanduk yang ditampilkan di seluruh UI, seperti pengenal lingkungan atau pemberitahuan pemeliharaan. | Menimpa | 
|  `ui.bannerurl`  | URL yang ditautkan ke spanduk, seperti runbook atau halaman wiki. | Menimpa | 
|  `ui.bannerpermanent`  | Setel `true` untuk mencegah pengguna menolak spanduk. | Menimpa | 
|  `ui.bannerposition`  | Dimana spanduk muncul:`top`,`bottom`, atau`both`. | Menimpa | 
|  `ui.cssurl`  | URL file CSS khusus untuk branding atau styling. CSS berjalan di browser Anda. | Menimpa | 

### Pengaturan sumber daya
<a name="_resource_settings"></a>

Pengaturan ini mengontrol bagaimana kemampuan menonton, membandingkan, dan menampilkan sumber daya yang dikelola Argo CD.


| Pengaturan | Deskripsi | Bagaimana nilai Anda diterapkan | 
| --- | --- | --- | 
|  `resource.customizations.ignoreDifferences.<group>_<kind>`  | Bidang yang harus diabaikan ketika CD Argo membandingkan Git dengan cluster untuk jenis sumber daya, seperti jumlah replika yang dikelola oleh Horizontal Pod Autoscaler. | Menambahkan | 
|  `resource.customizations.ignoreDifferences.all`  | Bidang yang harus diabaikan saat membandingkan Git dengan cluster, diterapkan ke semua jenis sumber daya. | Menambahkan | 
|  `resource.customizations.ignoreResourceUpdates.<group>_<kind>`  | Bidang yang diabaikan Argo CD saat memutuskan apakah acara pembaruan harus memicu rekonsiliasi, yang mengurangi beban. Peristiwa masih terjadi, dan Argo CD mengabaikan hanya perubahan pada bidang ini. | Menambahkan | 
|  `resource.customizations.ignoreResourceUpdates.all`  | Bidang yang diabaikan Argo CD saat memproses peristiwa pembaruan, diterapkan ke semua jenis sumber daya. | Menambahkan | 
|  `resource.customizations.knownTypeFields.<group>_<kind>`  | Jenis bidang (daftar, peta, atau primitif) untuk Sumber Daya Kustom, sehingga Argo CD menghitung perbedaan yang akurat alih-alih menunjukkan penggantian seluruh bidang. | Menambahkan | 
|  `resource.customizations.health.<group>_<kind>`  | Pemeriksaan kesehatan khusus untuk jenis sumber daya, didefinisikan sebagai skrip Lua. Kemampuan ini mencakup pemeriksaan kesehatan bawaan untuk sumber daya ACK dan kro. Lihat [Pemeriksaan kesehatan khusus](#argocd-custom-health-checks). | Menimpa | 
|  `resource.exclusions`  | Jenis sumber daya yang tidak ditonton Argo CD, yang meningkatkan kinerja untuk jenis churn tinggi. | Menambahkan | 
|  `resource.inclusions`  | Jenis sumber daya yang ditonton Argo CD. Saat diatur, Argo CD hanya menonton jenis yang terdaftar. | Menambahkan | 
|  `resource.compareoptions`  | Opsi yang mengontrol bagaimana Argo CD menghitung perbedaan, seperti. `ignoreAggregatedRoles` | Menimpa | 
|  `resource.respectRBAC`  | Apakah pengontrol hanya menonton sumber daya yang memiliki izin RBAC untuk dibaca. Mener `normal` ima atau`strict`. | Menimpa | 
|  `resource.customLabels`  | Label sumber daya tambahan untuk ditampilkan dalam tampilan sumber daya UI. | Menimpa | 
|  `resource.includeEventLabelKeys`  | Label dari Aplikasi dan Proyek untuk disalin ke peristiwa Kubernetes yang dihasilkan CD Argo. | Menimpa | 
|  `resource.excludeEventLabelKeys`  | Label yang akan dikecualikan dari peristiwa Kubernetes yang dihasilkan CD Argo. | Menimpa | 
|  `resource.sensitive.mask.annotations`  | Anotasi untuk menutupi saat UI atau CLI menampilkan Rahasia. | Menimpa | 

### Pengaturan repositori dan alat
<a name="_repository_and_tool_settings"></a>

Pengaturan ini mengontrol alat manifes yang digunakan Argo CD untuk merender manifes Anda.


| Pengaturan | Deskripsi | Bagaimana nilai Anda diterapkan | 
| --- | --- | --- | 
|  `kustomize.enable`  | Apakah Kustomize diaktifkan sebagai tipe sumber manifes. | Menimpa | 
|  `helm.enable`  | Apakah Helm diaktifkan sebagai tipe sumber manifes. | Menimpa | 
|  `jsonnet.enable`  | Apakah Jsonnet diaktifkan sebagai tipe sumber manifes. | Menimpa | 
|  `kustomize.buildOptions`  | Bendera baris perintah global diteruskan ke setiap`kustomize build`. Kemampuan mendukung subset bendera. Lihat [Bendera Kustomize.buildOptions yang didukung](#argocd-kustomize-build-options). | Menimpa | 

#### Bendera Kustomize.buildOptions yang didukung
<a name="argocd-kustomize-build-options"></a>

Untuk`kustomize.buildOptions`, kemampuan menyaring nilai Anda ke satu set flag yang aman dan didukung. Itu tidak mendukung flag yang memungkinkan build membaca file arbitrer atau menjalankan kode arbitrer. Ini menjatuhkan tanda yang tidak didukung atau nilai yang tidak valid secara individual dan menerapkan tanda yang didukung yang tersisa. Anda dapat menulis bendera dalam `--flag=value` bentuk `--flag value` atau.


| Bendera | Nilai yang didukung | Catatan | 
| --- | --- | --- | 
|  `--reorder`  |  `legacy`, `none`  | Mengubah urutan YAML yang dirender saja. | 
|  `--enable-helm`  | Boolean | Menjalankan biner Helm yang dikelola dari jalur. | 
|  `--enable-managedby-label`  | Boolean | Menambahkan label saja. | 

Kemampuan menjatuhkan bendera lain, termasuk`--load-restrictor`,`--enable-exec`, dan`--enable-alpha-plugins`.

## Pemeriksaan kesehatan khusus
<a name="argocd-custom-health-checks"></a>

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
<a name="_built_in_health_checks_for_ack_and_kro"></a>

Kapabilitas EKS untuk CD Argo mencakup pemeriksaan kesehatan bawaan untuk sumber daya Peng [AWS ontrol untuk Kubernetes (ACK) ](ack.md) dan [ kro (Kube Resource Orchestrator). ](kro.md) 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
<a name="_write_a_custom_health_check"></a>

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` adalah`resource.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 dari`Healthy`,`Progressing`,`Degraded`, atau`Suspended`. 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 statusnya`Ready`, 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 ](https://argo-cd.readthedocs.io/en/stable/operator-manual/health/) di situs dokumentasi Argo CD.

### Keselamatan dan keterbatasan
<a name="_safety_and_limitations"></a>

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. ** `useOpenLibs`Opsi ini selalu dinonaktifkan, yang merupakan default di hulu Argo CD. Skrip 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
<a name="_verify_a_custom_health_check"></a>

Setelah Anda menerapkan atau memperbarui `argocd-cm` ConfigMap, konfirmasikan bahwa pemeriksaan kesehatan aktif:

1. 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 get {{<application-name>}} ` dan tinjau status kesehatan sumber daya.

1. Jika sumber daya tidak melaporkan kesehatan yang diharapkan, verifikasi yang berikut ini:
   + Nam ConfigMap anya `argocd-cm` dan berada di namespace yang dikonfigurasi untuk Argo CD dalam kemampuan.
   + Ini ConfigMap memiliki `app.kubernetes.io/part-of: argocd` label yang diperlukan.
   + Kunci pemeriksaan kesehatan menggunakan yang benar `<group>_<kind>` untuk jenis sumber daya.