Penemuan layanan dan ringkasan DNS

Topik ini menjelaskan cara GKE di AWS berinteraksi dengan Domain Name Services (DNS) di AWS Virtual Private Cloud (VPC) dan cluster 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 Membuat kumpulan opsi DHCP. Untuk mengetahui informasi selengkapnya, lihat Dukungan DNS untuk VPC Anda.

Anda dapat mengonfigurasi opsi berikut:

Hostname DNS
Ini menetapkan apakah instance EC2 dengan alamat IP publik mendapatkan nama host DNS publik yang sesuai. Anda menetapkan nilai ini menggunakan kolom enableDNSHostnames di kumpulan opsi DHCP VPC Anda. Untuk mengetahui informasi selengkapnya, lihat Nama Host DNS VPC dan kumpulan opsi DHCP untuk VPC Anda.
Nama Host DNS EC2
Ini akan menetapkan apakah instance EC2 menerima nama host DNS default atau nama host DNS kustom.
Server DNS
Apakah kumpulan 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 Anda harus mengizinkan traffic keluar di TCP dan UDP port 53.

Konfigurasi DNS VPC yang didukung

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

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

Penemuan layanan

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

Kubernetes secara otomatis membuat nama layanan yang menggunakan spesifikasi berikut:

service.namespace.svc.cluster.local

Dengan keterangan:

  • 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 redundan yang diskalakan di namespace kube-system. Deployment CoreDNS memiliki Service yang mengelompokkan Pod CoreDNS dan memberinya satu alamat IP. CoreDNS Deployment diskalakan dengan ukuran dan penggunaan cluster.

NodeLocal DNSCache

GKE di AWS menggunakan NodeLocal DNSCache untuk meningkatkan performa pencarian DNS. NodeLocal DNSCache berjalan sebagai DaemonSet pada setiap node dalam cluster Anda. Saat Pod membuat permintaan DNS, permintaan tersebut akan mengarah ke cache DNS terlebih dahulu pada node yang sama. 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 selanjutnya