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 tingkat cluster; artinya, resource ini tidak
dengan 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 berada di bagian spec
. Jika bagian spec
kosong
atau tidak ada, cluster akan menggunakan konfigurasi Kubernetes CoreDNS 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 tersebut:
kubectl --kubeconfig CLUSTER_KUBECONFIG apply -f my-dns.yaml
Spesifikasi ClusterDNS
spec.upstreamNameservers
Array objek, yang masing-masing memiliki alamat IP server dan port server (opsional). 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
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 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 melakukan ini untuk domain apa pun 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 di-resolve ke alamat IP dengan akses terbatas, tetapkan ke restricted
. Jika Anda tidak menginginkan perlakuan khusus untuk domain Google, tetapkan ini ke default
atau hapus. Untuk mengetahui 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"
. Perlu diperhatikan bahwa kebijakan pengurutan ini juga akan berlaku untuk domain yang ditentukan. Lihat dokumen coredns untuk mengetahui info
selengkapnya tentang policy
dan fungsi setiap konfigurasi.
Contoh:
spec: orderPolicy: sequential