All Products
Search
Document Center

Container Compute Service:Gunakan CoreDNS tidak dikelola di kluster ACS

Last Updated:Jun 21, 2026

Dalam skenario tertentu, Anda perlu mengelola dan memelihara CoreDNS secara manual karena persyaratan bisnis yang sangat khusus. Kluster Alibaba Cloud Container Compute Service (ACS) mendukung CoreDNS tidak dikelola, sehingga memungkinkan Anda mengonfigurasi pengaturan CoreDNS kustom. Topik ini menjelaskan cara menggunakan Plugin CoreDNS tidak dikelola di kluster ACS.

Prasyarat

  • Kluster ACS telah dibuat. Untuk informasi selengkapnya, lihat Create an ACS cluster. Jika Plugin CoreDNS telah diinstal di kluster ACS, uninstal Plugin CoreDNS yang dikelola dengan mengikuti prosedur instalasi yang dijelaskan dalam topik ini.

  • Saat membuat kluster baru, buka Component Configurations > Service Discovery dan pilih Disable.

Penting
  • Plugin CoreDNS tidak dikelola merupakan plugin standar open-source. Anda bertanggung jawab atas biaya sumber daya serta operasi & pemeliharaan (O&M) plugin tersebut, termasuk penanganan masalah yang mungkin timbul saat menggunakannya.

  • Secara default, templat plugin yang disediakan oleh ACS menggunakan mekanisme anti-affinity untuk mendistribusikan pod di berbagai zona. Jika Anda mengonfigurasi zona tunggal untuk ACS, hanya satu replika CoreDNS yang dapat berjalan sebagaimana diharapkan. Kami menyarankan Anda mengonfigurasi beberapa zona untuk memastikan disaster recovery dan ketersediaan tinggi.

Prosedur instalasi

  1. Masuk ke ACS console. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, klik Add-ons.

  3. (Opsional) Di tab Networking, cari CoreDNS (dengan label Managed) dan klik Uninstall. Jika Anda tidak melihat CoreDNS (Managed) dalam daftar komponen, lewati langkah ini.

    Peringatan

    Jika Anda menguninstal CoreDNS (Managed), fitur resolusi Domain Name System (DNS) kluster tidak tersedia. Pastikan tidak ada traffic bisnis di kluster sebelum menguninstal CoreDNS (Managed).

  4. Di tab Networking, cari CoreDNS (tanpa label Managed) dan klik Install.

  5. Konfigurasikan parameter sesuai kebutuhan Anda. Setelah mengonfirmasi pengaturan, klik OK untuk menginstal komponen.

    Penting

    Jika Anda tidak mengatur parameter CpuRequest saat instalasi, pod terkait di kluster ACS hanya akan memiliki 250m sumber daya CPU yang tersedia. Kami menyarankan Anda mengatur nilai CpuRequest yang sesuai untuk menghindari exception kluster akibat beban berlebih pada pod.

    Formulir konfigurasi mencakup parameter berikut: MemoryRequest (default: 100Mi), CpuRequest (default: 100m), MemoryLimit (default: 2Gi), dan CpuLimit (default: kosong). Untuk NodeSelector, kunci default adalah kubernetes.io/os dan nilainya adalah linux. Tolerations secara default kosong dan dapat dikonfigurasi sesuai kebutuhan.

  6. Gunakan kubectl untuk terhubung ke kluster dan jalankan perintah berikut untuk mengkueri pod:

    kubectl get po -n kube-system|grep coredns

    Output yang diharapkan:

    NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE
    kube-system   coredns-85dc775876-sh558   1/1     Running   0          3m35s
    kube-system   coredns-85dc775876-xzcpp   1/1     Running   0          3m35s

    Pod CoreDNS telah dimulai, yang menunjukkan bahwa Plugin CoreDNS tidak dikelola berhasil diinstal.

  7. Jalankan perintah berikut di dalam pod di kluster ACS untuk memeriksa apakah fitur resolusi DNS di kluster berfungsi sebagaimana diharapkan:

    nslookup kubernetes

    Output yang diharapkan:

    Server:         10.0.0.10
    Address:        10.0.0.10#53
    Name:   kubernetes.default.svc.cluster.local
    Address: 10.0.0.1

    Output tersebut menunjukkan bahwa resolusi nama domain berhasil dan CoreDNS berjalan sebagaimana diharapkan.

Konfigurasi CoreDNS kustom

Anda dapat mengonfigurasi pengaturan CoreDNS kustom dengan memodifikasi konfigurasi Corefile, yang disimpan di kluster ACS sebagai ConfigMap. Anda dapat langsung mengubah konfigurasi Corefile untuk memodifikasi pengaturan CoreDNS. Contoh:

  1. Jalankan perintah berikut untuk memodifikasi konfigurasi Corefile CoreDNS:

    kubectl -n kube-system edit cm coredns
  2. Modifikasi konfigurasi Corefile CoreDNS berdasarkan konten berikut:

    Corefile: |
      .:53 {
          errors
          health {
             lameduck 15s
          }
          ready
          kubeapi
          k8s_event {
            level info error warning
          }
          kubernetes cluster.local in-addr.arpa ip6.arpa {
            pods verified
            ttl 30
            fallthrough in-addr.arpa ip6.arpa
          }
          prometheus :9153
          # forward . /etc/resolv.conf {
          # Ubah server DNS forward dari default di resolv.conf menjadi 192.168.1.10.
          forward . 192.168.1.10 {
            prefer_udp
          }
          cache 30
          log
          loop
          reload
          loadbalance
      }

    Setelah modifikasi, CoreDNS secara otomatis meneruskan nama domain non-kluster ke server DNS dengan alamat IP 192.168.1.10. Anda dapat mengubah alamat IP server DNS sesuai kebutuhan bisnis Anda.

Referensi