

 **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.

# Mengelola CoreDNS untuk DNS di klaster Amazon EKS
<a name="managing-coredns"></a>

**Tip**  
Dengan Mode Otomatis Amazon EKS, Anda tidak perlu menginstal atau meningkatkan add-on jaringan. Mode Otomatis mencakup jaringan pod dan kemampuan penyeimbangan beban.  
Untuk informasi selengkapnya, lihat [Mengotomatiskan infrastruktur klaster dengan Mode Otomatis EKS](automode.md).

CoreDNS adalah server DNS yang fleksibel dan dapat diperluas yang dapat berfungsi sebagai DNS klaster Kubernetes. Saat Anda meluncurkan klaster Amazon EKS dengan setidaknya satu simpul, dua replika citra CoreDNS di-deploy secara default, terlepas dari jumlah simpul yang di-deploy di klaster Anda. Pod-pod CoreDNS menyediakan resolusi nama untuk semua Pod di dalam klaster. Pod CoreDNS dapat digunakan ke node Fargate jika cluster Anda menyertakan Profil [ Fargate dengan namespace yang ](fargate-profile.md) cocok dengan namespace untuk CoreDNS. `deployment` Untuk informasi selengkapnya tentang CoreDNS, lihat [Using CoreDNS for Service Discovery](https://kubernetes.io/docs/tasks/administer-cluster/coredns/) dalam dokumentasi Kubernetes.

## Versi CoreDNS
<a name="coredns-versions"></a>

Tabel berikut mencantumkan versi terbaru dari jenis add-on Amazon EKS untuk setiap versi Kubernetes.


| Versi Kubernetes | Versi CoreDNS | 
| --- | --- | 
| 1.36 | v1.14.3-eksbuild.16 | 
| 1.35 | v1.14.3-eksbuild.16 | 
| 1.34 | v1.13.2-eksbuild.24 | 
| 1.33 | v1.12.4-eksbuild.31 | 
| 1.32 | v1.11.4-eksbuild.53 | 
| 1.31 | v1.11.4-eksbuild.53 | 

**penting**  
Jika Anda mengelola sendiri add-on ini, versi dalam tabel mungkin tidak sama dengan versi yang dikelola sendiri yang tersedia. Untuk informasi selengkapnya tentang memperbarui jenis pengaya yang dikelola sendiri, lihat[Perbarui add-on yang dikelola sendiri CoreDNS Amazon EKS](coredns-add-on-self-managed-update.md).

## Pertimbangan peningkatan CoreDNS yang penting
<a name="coredns-upgrade"></a>
+ Pembaruan CoreDNS menggunakan a PodDisruptionBudget untuk membantu menjaga ketersediaan layanan DNS selama proses pembaruan.
+ Untuk meningkatkan stabilitas dan ketersediaan Penyebaran CoreDNS, versi `v1.9.3-eksbuild.6` dan yang lebih baru `v1.10.1-eksbuild.3` digunakan dengan a. `PodDisruptionBudget` Jika Anda telah menerapkan versi yang sudah ada`PodDisruptionBudget`, pemutakhiran Anda ke versi ini mungkin gagal. Jika pemutakhiran gagal, menyelesaikan salah satu tugas berikut akan menyelesaikan masalah:
  + Saat melakukan peningkatan add-on Amazon EKS, pilih untuk mengganti pengaturan yang ada sebagai opsi resolusi konflik Anda. Jika Anda telah membuat pengaturan khusus lainnya ke Deployment, pastikan untuk membuat cadangan setelan Anda sebelum memutakhirkan sehingga Anda dapat menerapkan kembali pengaturan kustom lainnya setelah pemutakhiran.
  + Hapus yang sudah ada `PodDisruptionBudget` dan coba upgrade lagi.
+ Dalam versi add-on EKS `v1.9.3-eksbuild.3` dan yang lebih baru `v1.10.1-eksbuild.6` dan yang lebih baru, Penyebaran CoreDNS menetapkan `readinessProbe` untuk menggunakan titik akhir`/ready`. Titik akhir ini diaktifkan dalam file `Corefile` konfigurasi untuk CoreDNS.

  Jika Anda menggunakan kustom`Corefile`, Anda harus menambahkan `ready` plugin ke konfigurasi, sehingga `/ready` titik akhir aktif di CoreDNS untuk digunakan probe.
+ Di versi add-on EKS `v1.9.3-eksbuild.7` dan yang lebih baru `v1.10.1-eksbuild.4` dan yang lebih baru, Anda dapat mengubah`PodDisruptionBudget`. Anda dapat mengedit add-on dan mengubah pengaturan ini di Pengaturan konfigurasi ** opsional ** menggunakan bidang dalam contoh berikut. Contoh ini menunjukkan default`PodDisruptionBudget`.

  ```
  {
      "podDisruptionBudget": {
          "enabled": true,
          "maxUnavailable": 1
          }
  }
  ```

  Anda dapat mengatur `maxUnavailable` atau`minAvailable`, tetapi Anda tidak dapat mengatur keduanya dalam satu`PodDisruptionBudget`. Untuk informasi selengkapnya`PodDisruptionBudgets`, lihat Menentukan [ a PodDisruptionBudget ](https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget) dalam dokumentasi * Kubernetes. *

  Perhatikan bahwa jika Anda meny `enabled` et `false` el ke`PodDisruptionBudget`, tidak dihapus. Setelah Anda mengatur bidang ini ke`false`, Anda harus menghapus `PodDisruptionBudget` objek. Demikian pula, jika Anda mengedit add-on untuk menggunakan versi add-on yang lebih lama (menurunkan versi add-on) setelah memutakhirkan ke versi dengan a`PodDisruptionBudget`, add-on tidak `PodDisruptionBudget` dihapus. Untuk menghapus`PodDisruptionBudget`, Anda dapat menjalankan perintah berikut:

  ```
  kubectl delete poddisruptionbudget coredns -n kube-system
  ```
+ Dalam versi add-on EKS `v1.10.1-eksbuild.5` dan yang lebih baru, ubah toleransi default dari menjadi `node-role.kubernetes.io/master:NoSchedule` `node-role.kubernetes.io/control-plane:NoSchedule` sesuai dengan KEP 2067. Untuk informasi selengkapnya tentang KEP 2067, lihat [KEP-2067: Mengganti nama label “master” kubeadm dan tint ](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/kubeadm/2067-rename-master-label-taint#renaming-the-node-rolekubernetesiomaster-node-taint) di * Kubernetes Enhancement Proposals (KEP) aktif. * GitHub

  Dalam versi add-on EKS `v1.8.7-eksbuild.8` dan yang lebih baru `v1.9.3-eksbuild.9` dan yang lebih baru, kedua toleransi diatur agar kompatibel dengan setiap versi Kubernetes.
+ Dalam versi add-on EKS `v1.9.3-eksbuild.11` `v1.10.1-eksbuild.7` dan yang lebih baru, Penyebaran CoreDNS menetapkan nilai default untuk. `topologySpreadConstraints` Nilai default memastikan bahwa Pod CoreDNS tersebar di Zona Ketersediaan jika ada node di beberapa Zona Ketersediaan yang tersedia. Anda dapat mengatur nilai kustom yang akan digunakan sebagai pengganti nilai default. Nilai default berikut:

  ```
  topologySpreadConstraints:
    - maxSkew: 1
      topologyKey: topology.kubernetes.io/zone
      whenUnsatisfiable: ScheduleAnyway
      labelSelector:
        matchLabels:
          k8s-app: kube-dns
  ```
+  **Konfigurasi Corefile kustom dan pembaruan add-on ** - Add-on Amazon EKS sepenuhnya mengelola CoreDNS () ConfigMap . `data.Corefile` Jika Anda memodifikasi secara `Corefile` langsung (misalnya, untuk menambahkan forwarder bersyarat untuk resolusi DNS lokal), add-on akan mengganti perubahan Anda selama pembaruan berikutnya. Untuk mempertahankan `Corefile` konfigurasi khusus di seluruh pembaruan add-on, gunakan `corefile` kunci di `configurationValues` parameter add-on. Untuk informasi selengkapnya, lihat [Tentukan bidang yang dapat Anda sesuaikan untuk add-on Amazon EKS](kubernetes-field-management.md).

### Pertimbangan peningkatan CoreDNS `v1.11`
<a name="coredns-upgrade-1"></a>
+ Dalam versi add-on EKS `v1.11.1-eksbuild.4` dan yang lebih baru, image wadah didasarkan pada gambar dasar [ minimal yang dikel ](https://gallery.ecr.aws/eks-distro-build-tooling/eks-distro-minimal-base) ola oleh Amazon EKS Distro, yang berisi paket minimal dan tidak memiliki shell. Untuk informasi lebih lanjut, lihat [ Amazon EKS Distro](https://distro.eks.amazonaws.com/). Penggunaan dan pemecahan masalah gambar CoreDNS tetap sama.