Mengonfigurasi DNS untuk cluster

Dokumen ini menunjukkan cara mengonfigurasi opsi penyedia Domain Name System (DNS) untuk Google Distributed Cloud. Konfigurasi DNS untuk cluster disimpan di ClusterDNS resource kustom bernama default. Resource ini mencakup seluruh cluster; yaitu, 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: default

Simpan manifes ke file bernama my-dns.yaml dan terapkan resource ke :

kubectl --kubeconfig KUBECONFIG apply -f my-dns.yaml

Ganti KUBECONFIG dengan jalur ke kubeconfig cluster .

Melihat resource ClusterDNS

Untuk melihat resource ClusterDNS:

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

Ganti KUBECONFIG dengan jalur ke kubeconfig cluster .

Spesifikasi ClusterDNS

Bagian berikut menjelaskan bagian-bagian dari resource kustom ClusterDNS yang Anda gunakan untuk mengkonfigurasi DNS untuk cluster Anda. Anda dapat memperbarui Resource ClusterDNS untuk cluster kapan saja.

spec.upstreamNameservers

Tentukan server nama upstream default Anda dengan array objek, masing-masing yang memiliki alamat IP server dan secara opsional porta server. Nilai default untuk porta server adalah 53. Permintaan untuk domain non-cluster diteruskan ke rangkaian alamat server ini secara {i>default<i}.

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, DNS menggunakan file /etc/resolve.conf pada node untuk menemukan daftar server nama upstream.

spec.domains

Konfigurasi untuk domain tertentu. Gunakan bagian ini untuk mengonfigurasi berbagai server nama upstream untuk domain tertentu. Nama khusus domain ini setelan server akan 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 ke alamat IP akses pribadi saja.

  • restricted: me-resolve domain Google hanya ke alamat IP dengan akses terbatas.

Contoh setelan berikut menyelesaikan domain Google ke IP akses pribadi hanya untuk:

spec:
  googleAccess: private

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