Ringkasan penemuan layanan dan DNS

Topik ini menjelaskan cara GKE di AWS berinteraksi dengan Layanan Nama Domain (DNS) di Virtual Private Cloud (VPC) dan cluster AWS Anda.

DNS VPC AWS

Bagian ini menjelaskan cara mengonfigurasi VPC untuk GKE di AWS.

Mengonfigurasi DNS VPC

GKE di AWS mendukung berbagai konfigurasi DNS di VPC AWS Anda. Anda mengonfigurasi setelan DNS VPC saat Anda Membuat set opsi DHCP. Untuk mengetahui informasi selengkapnya, lihat Dukungan DNS untuk VPC Anda.

Anda dapat mengonfigurasi opsi berikut:

Hostname DNS
Setelan ini menentukan apakah instance EC2 dengan alamat IP publik mendapatkan nama host DNS publik yang sesuai. Anda menetapkan nilai ini menggunakan kolom enableDNSHostnames di set opsi DHCP VPC Anda. Untuk mengetahui informasi selengkapnya, lihat Nama Host DNS VPC dan Set opsi DHCP untuk VPC Anda.
Nama Host DNS EC2
Setelan ini menentukan apakah instance EC2 menerima nama host DNS default atau nama host DNS kustom.
DNS server
Apakah set opsi DHCP VPC Anda menggunakan server DNS AWS Route53 (dengan opsi AmazonProvidedDNS), atau server DNS yang dihosting.

Menggunakan DNS yang dihosting

Untuk menggunakan DNS yang dihosting, grup keamanan bidang kontrol dan kumpulan node harus mengizinkan traffic keluar di port TCP dan UDP 53.

Konfigurasi DNS VPC yang didukung

Tabel berikut mencakup konfigurasi DNS yang didukung oleh GKE di AWS:

Mengaktifkan nama host DNS Nama host DNS EC2 DNS server Didukung?
true Default AWS Route53 Ya
false Default AWS Route53 Ya
true Kustom AWS Route53 Ya
false Kustom AWS Route53 Ya
true Kustom Diinangi Ya
false Kustom Diinangi Ya
true Default Diinangi Tidak
false Default Diinangi Tidak

Penemuan layanan

Penemuan layanan adalah proses saat beban kerja menemukan layanan tanpa mengetahui alamat IP layanan. Bagian ini menjelaskan cara GKE di AWS mengimplementasikan penemuan layanan dan DNS terkelola.

Kubernetes otomatis membuat nama layanan yang menggunakan spesifikasi berikut:

service.namespace.svc.cluster.local

Dengan:

  • service: nama layanan Anda
  • namespace: Namespace layanan Anda

Workload juga mengakses layanan eksternal—misalnya example.net— menggunakan nama DNS. Untuk mengetahui informasi selengkapnya tentang perilaku DNS di Kubernetes, lihat DNS untuk Layanan dan Pod.

CoreDNS

GKE di AWS menggunakan CoreDNS untuk me-resolve nama DNS dalam cluster. CoreDNS berjalan sebagai Deployment yang diskalakan dan redundan di namespace kube-system. Deployment CoreDNS memiliki Service yang mengelompokkan Pod CoreDNS dan memberinya satu alamat IP. Deployment CoreDNS diskalakan dengan ukuran dan penggunaan cluster.

NodeLocal DNSCache

GKE di AWS menggunakan NodeLocal DNSCache untuk meningkatkan performa pencarian DNS. NodeLocal DNSCache berjalan sebagai DaemonSet di setiap node dalam cluster Anda. Saat Pod membuat permintaan DNS, permintaan tersebut akan ditujukan ke cache DNS di node yang sama terlebih dahulu. Jika cache tidak dapat menyelesaikan permintaan DNS, cache akan meneruskan permintaan ke:

  • CoreDNS untuk nama internal—misalnya foo.bar.svc.cluster.local
  • Server DNS Amazon untuk nama eksternal, misalnya example.net

Langkah berikutnya