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 Andanamespace
: 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
- Baca tentang dukungan DNS AWS untuk VPC Anda.
- Untuk mengetahui ringkasan tentang cara penggunaan DNS di cluster Kubernetes, lihat DNS untuk Layanan dan Pod.