全部产品
Search
文档中心

Container Service for Kubernetes:Konfigurasikan NodeLocal DNSCache untuk kelompok node cloud hibrida

更新时间:Oct 31, 2025

Saat node dalam kelompok node cloud hibrida menyelesaikan nama domain menggunakan layanan CoreDNS di dalam kluster, kueri yang sering dapat meningkatkan beban pada jalur sewa Anda. Jalur sewa yang tidak stabil juga dapat menyebabkan kegagalan resolusi DNS. Konfigurasikan NodeLocal DNSCache untuk mengurangi masalah ini.

Cara kerjanya

NodeLocal DNSCache menjalankan agen caching DNS sebagai DaemonSet di setiap node. Permintaan DNS dari Pod pada node pertama kali ditangani oleh cache lokal. Hanya jika terjadi cache miss, permintaan tersebut diteruskan melalui jalur sewa ke layanan CoreDNS upstream yang berjalan di cloud. Arsitektur ini menawarkan dua keuntungan utama:

  • Traffic berkurang: Sebagian besar kueri DNS diselesaikan secara lokal, mengurangi beban lalu lintas pada jalur sewa.

  • Peningkatan ketahanan: Jika koneksi jalur sewa mengalami pemadaman, resolusi DNS untuk nama domain yang sudah di-cache tidak terpengaruh.

Penting
  • Pertama kali sebuah domain diselesaikan, NodeLocal DNSCache harus meminta server CoreDNS upstream. Jika jalur sewa tidak stabil selama kueri awal ini, resolusi DNS akan gagal.

  • Selama pemadaman koneksi jalur sewa, data yang di-cache tidak dapat diperbarui secara real-time.

Prasyarat

  • Anda memiliki ACK managed Pro cluster yang menjalankan Kubernetes 1.33 atau lebih baru.

  • VPC tempat kluster berada telah menetapkan koneksi jaringan lintas-cloud.

  • Anda memiliki node Elastic Compute Service (ECS) di dalam kluster untuk menerapkan add-on manajemen ACK untuk kelompok node cloud hibrida. Untuk memastikan Ketersediaan tinggi (HA), gunakan setidaknya tiga node ECS.

  • Plugin jaringan Terway Hybrid telah diinstal di kluster.

Prosedur

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih Operations > Add-ons.

  3. Di tab Networking, temukan kartu ACK NodeLocal DNSCache dan klik Install. Di kotak dialog yang muncul, klik OK.

  4. Setelah instalasi selesai, pilih Configurations > ConfigMaps di panel navigasi kiri, dan pilih namespace kube-system dari daftar drop-down.

  5. Temukan dan edit ConfigMap node-local-dns. Tambahkan opsi prefetch dan serve_stale ke bagian cache untuk mengaktifkan pra-pengambilan cache dan penyajian entri basi.

    Jika Anda memperbarui add-on NodeLocal DNSCache di masa mendatang, konfigurasi ini akan ditimpa dan harus diterapkan ulang.
    apiVersion: v1
    data:
      Corefile: |
        .:53 {
            errors
            cache {
              ...
              prefetch 1 30s 10% # Pra-ambil
              serve_stale 1h immediate # Sajikan data basi
            }
    
            ...
        }
    kind: ConfigMap
    metadata:
    ...
    • prefetch 1 30 s 10%: Konfigurasi ini mengaktifkan pra-pengambilan cache. Jika entri yang di-cache diminta lebih dari sekali dalam 30 detik, cache akan secara otomatis mulai menyegarkannya di latar belakang saat memasuki 10% terakhir dari Waktu Hidupnya (TTL).

    • serve_stale 1 h immediate: Ini mengonfigurasi perilaku untuk menyajikan entri cache basi (kedaluwarsa). Hingga 1 jam setelah cache kedaluwarsa, entri cache yang kedaluwarsa masih dapat digunakan untuk resolusi nama domain. Kebijakan refresh untuk cache yang kedaluwarsa adalah immediate. Ini berarti bahwa ketika permintaan mengenai entri cache yang kedaluwarsa, entri kedaluwarsa tersebut segera dikembalikan ke klien sementara permintaan untuk catatan yang diperbarui dikirim ke server DNS upstream.