Dokumen ini menunjukkan cara mengonfigurasi DNS untuk cluster admin atau cluster pengguna.
Konfigurasi DNS untuk cluster disimpan di resource kustom ClusterDNS yang bernama default
. Ini adalah resource seluruh cluster; yaitu, tidak
memiliki namespace.
Melihat resource ClusterDNS
Untuk melihat resource ClusterDNS:
kubectl --kubeconfig CLUSTER_KUBECONFIG get clusterdns default --output yaml
Ganti CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster.
Konfigurasi DNS ada di bagian spec
. Jika bagian spec
kosong
atau tidak ada, cluster akan menggunakan konfigurasi CoreDNS Kubernetes default.
Mengubah konfigurasi DNS
Buat manifes untuk resource ClusterDNS bernama default
. Isi spec
sesuai keinginan. Contoh:
apiVersion: networking.gke.io/v1alpha1 kind: ClusterDNS metadata: name: default spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 8.8.4.4 domains: - name: altostrat.com nameservers: - serverIP: 198.51.100.0.1 - name: my-own-personal-domain.com nameservers: - serverIP: 203.0.113.1 - serverIP: 203.0.113.2 serverPort: 54 googleAccess: private
Simpan manifes ke file bernama my-dns.yaml
dan terapkan resource ke
cluster:
kubectl --kubeconfig CLUSTER_KUBECONFIG apply -f my-dns.yaml
Spesifikasi ClusterDNS
spec.upstreamNameservers
Array objek, yang masing-masing memiliki alamat IP server dan secara opsional port server. Nilai default untuk port server adalah 53.
Server nama upstream default. Permintaan untuk domain non-cluster diteruskan ke kumpulan server ini secara default. Contoh:
spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 1.2.3.4 serverPort: 54
Jika Anda tidak menentukan nilai apa pun untuk upstreamNameservers
, penyedia DNS
akan menggunakan file /etc/resolve.conf
di node untuk menemukan daftar
server nama upstream.
spec.domains
Konfigurasi untuk domain tertentu. Hal ini memungkinkan penggantian konfigurasi
di upstreamNameservers
.
Anda dapat menggunakan bagian ini untuk mengonfigurasi server nama upstream yang berbeda untuk domain tertentu, secara terpisah dari server nama upstream default.
Anda juga dapat mengaktifkan logging kueri untuk domain. Anda dapat melakukannya untuk domain yang ditentukan atau domain cluster, cluster.local.
Contoh:
spec: domains: - name: altostrat.com nameservers: - serverIP: 203.0.113.1 - name: my-own-personal-domain.com nameservers: - serverIP: 198.51.100.1 - serverIP: 198.51.100.2 serverPort: 50000 - name: cluster.local queryLogging: true
spec.googleAccess
String. Jika Anda ingin domain Google di-resolve ke alamat IP akses pribadi,
tetapkan ke "private"
. Jika Anda ingin domain Google me-resolve ke alamat IP dengan akses terbatas, tetapkan ke restricted
. Jika Anda tidak ingin perlakuan khusus untuk domain Google, tetapkan ke default
atau hapus. Untuk informasi
selengkapnya, lihat
Mengonfigurasi Akses Google Pribadi untuk host lokal.
Contoh:
spec: googleAccess: private
spec.orderPolicy
String. Jika Anda ingin menentukan kebijakan pengurutan yang digunakan untuk memilih server upstream. Default-nya adalah "random"
. Jenis yang didukung adalah "random"
,"round_robin"
,
dan "sequential"
. Perhatikan bahwa kebijakan pengurutan ini juga akan berlaku untuk domain yang ditentukan. Lihat dokumen coredns untuk mengetahui informasi selengkapnya tentang policy
dan fungsi setiap konfigurasi.
Contoh:
spec: orderPolicy: sequential