Dokumen ini menunjukkan cara mengonfigurasi DNS untuk cluster admin atau cluster pengguna.
Konfigurasi DNS untuk cluster disimpan di resource kustom ClusterDNS
bernama default
. Ini adalah resource tingkat cluster; artinya, itu tidak
dengan namespace.
Melihat resource ClusterDNS
Untuk melihat resource ClusterDNS:
kubectl --kubeconfig CLUSTER_KUBECONFIG get clusterdns default --output yaml
Ganti CLUSTER_KUBECONFIG dengan jalur 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
:
kubectl --kubeconfig CLUSTER_KUBECONFIG apply -f my-dns.yaml
Spesifikasi ClusterDNS
spec.upstreamNameservers
Sebuah larik objek, yang masing-masing memiliki alamat IP server dan porta server. Nilai default untuk port server adalah 53.
Server nama upstream default. Permintaan untuk domain non-cluster diteruskan ke kumpulan server ini secara {i>default<i}. Contoh:
spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 1.2.3.4 serverPort: 54
Jika Anda tidak menentukan nilai apa pun untuk upstreamNameservers
, DNS
menggunakan file /etc/resolve.conf
pada 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 mengkonfigurasi server nama upstream berbeda untuk domain tertentu, terpisah dari server nama upstream {i>default<i}.
Anda juga dapat mengaktifkan logging kueri untuk domain. Anda dapat melakukan ini 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
me-resolve alamat IP akses pribadi,
tetapkan parameter ini ke "private"
. Jika Anda ingin domain Google me-resolve ke
alamat IP akses terbatas, tetapkan ke restricted
. Jika Anda tidak menginginkan
untuk domain Google, tetapkan ke default
atau hapus. Untuk selengkapnya
informasi, lihat
Mengonfigurasi Akses Google Pribadi untuk host lokal.
Contoh:
spec: googleAccess: private
spec.orderPolicy
String. Jika Anda ingin menentukan kebijakan pemesanan berdasarkan server upstream
dipilih. Default-nya adalah "random"
. Jenis yang didukung adalah "random"
,"round_robin"
dan "sequential"
. Perlu diperhatikan bahwa kebijakan pemesanan ini akan berlaku untuk domain yang ditentukan
juga. Lihat dokumen coredns untuk informasi selengkapnya
info tentang policy
dan fungsi setiap konfigurasi.
Contoh:
spec: orderPolicy: sequential