Mengonfigurasi DNS untuk cluster

Dokumen ini menunjukkan cara mengonfigurasi opsi penyedia Domain Name System (DNS) untuk GDCV untuk Bare Metal. Konfigurasi DNS untuk cluster disimpan di resource kustom ClusterDNS yang bernama default. Resource ini berada di seluruh cluster; artinya, resource tidak diberi namespace. Resource kustom ClusterDNS berlaku untuk semua jenis cluster.

Membuat resource ClusterDNS

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
      - 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 KUBECONFIG apply -f my-dns.yaml

Ganti KUBECONFIG dengan jalur ke file cluster kubeconfig.

Melihat resource ClusterDNS

Untuk melihat resource ClusterDNS:

kubectl --kubeconfig KUBECONFIG get clusterdns default --output yaml

Ganti KUBECONFIG dengan jalur ke file cluster kubeconfig.

Spesifikasi ClusterDNS

Bagian berikut menjelaskan bagian-bagian definisi resource kustom ClusterDNS yang Anda gunakan untuk mengonfigurasi DNS bagi cluster Anda. Anda dapat memperbarui resource ClusterDNS untuk cluster kapan saja.

spec.upstreamNameservers

Tentukan server nama upstream default Anda dengan array objek, yang masing-masing memiliki alamat IP server dan port server secara opsional. Nilai default untuk port server adalah 53. Permintaan untuk domain non-cluster diteruskan ke array alamat server ini secara default.

Berikut adalah contoh konfigurasi upstreamNameservers:

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. Gunakan bagian ini untuk mengonfigurasi server nama upstream yang berbeda untuk domain tertentu. Setelan server nama khusus domain ini menggantikan konfigurasi di upstreamNameservers.

Anda juga dapat mengaktifkan logging kueri untuk domain. Anda dapat mengaktifkan logging kueri untuk domain tertentu 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

Enumerasi (private, restricted, atau default). Menentukan cara memperlakukan domain Google. Nilai googleAccess menentukan perilaku berikut:

  • default: tidak ada perlakuan khusus untuk domain Google. Menghapus kolom googleAccess memiliki efek yang sama.

  • private: me-resolve domain Google hanya menjadi alamat IP dengan akses pribadi.

  • restricted: me-resolve domain Google hanya menjadi alamat IP dengan akses yang dibatasi.

Contoh setelan berikut hanya me-resolve domain Google ke alamat IP akses pribadi:

spec:
  googleAccess: private

Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi Akses Google Pribadi untuk host lokal.