Menambahkan domain ke sertifikat server API

Nama alternatif subjek (SAN) adalah fitur sertifikat SSL yang memungkinkan Anda menentukan nama domain dan subdomain yang diamankan oleh sertifikat. Pada cluster GKE pada Bare Metal, SAN default untuk sertifikat server Kubernetes API mencakup alamat IP dan VIP node bidang kontrol dan nama DNS Kubernetes. Dengan fitur SAN tambahan sertifikat server API kustom, Anda dapat menambahkan domain, subdomain, dan alamat IP tambahan sebagai SAN ke sertifikat server Kubernetes API untuk cluster tersebut.

Agar dapat menentukan SAN kustom untuk sertifikat server API, gunakan kolom controlPlane.apiServerCertExtraSANs di spesifikasi konfigurasi cluster. Kolom ini berisi daftar nama domain dan alamat IP. Kolom ini bersifat opsional dan dapat diubah. Anda dapat menambahkan kolom ini dan memperbaruinya saat membuat cluster atau kapan saja setelahnya.

...
kind: Cluster
metadata:
  name: sample001
  namespace: cluster-sample001
spec:
  type: user
  ...
  controlPlane:
    apiServerCertExtraSANs:
    - "demo-dns.example.com"
    - "sample-dns.com"
    nodePoolSpec:
      nodes:
      - address: 10.200.0.20
  clusterNetwork:
  ...

Menambahkan domain selama pembuatan cluster

Saat Anda menambahkan SAN tambahan saat membuat cluster, sertifikat server Kubernetes API akan menyertakan domain dan alamat IP tambahan yang ditentukan saat cluster tersedia.

Menambahkan atau mengupdate domain untuk cluster yang ada

Karena kolom apiServerCertExtraSANs dapat berubah, Anda dapat menambahkan atau memperbarui kolom ini kapan saja untuk cluster yang ada. Jika Anda memodifikasi kolom apiServerCertExtraSANs di cluster, tindakan ini akan memicu aktivitas berikut:

  • GKE di pengontrol cluster Bare Metal membuat ulang sertifikat server API untuk menyertakan domain tambahan yang dimodifikasi.

  • Pengontrol cluster memulai ulang server API untuk memuat ulang sertifikat baru.

  • Nilai baru apiServerCertExtraSANs diverifikasi oleh webhook untuk memastikan bahwa nilai tersebut sesuai dengan konvensi nama domain RFC 1035.

  • Kumpulan node bidang kontrol memasuki status rekonsiliasi.

    Control Plane Node Pool Status:
      Anthos Bare Metal Version:  1.28.0-gke.435
      Anthos Bare Metal Versions:
        1.28.0-gke.435:  3
      Conditions:
        ...
        Last Transition Time:  2023-11-15T18:23:49Z
        Observed Generation:   1
        Reason:                Reconciling
        Status:                True
        Type:                  Reconciling
    
  • Kumpulan node akan siap setelah perubahan diterapkan ke server Kubernetes API di setiap node bidang kontrol.

    Control Plane Node Pool Status:
      Anthos Bare Metal Version:  1.28.0-gke.435
      Anthos Bare Metal Versions:
        1.28.0-gke.435:  3
      Conditions:
        . . .
        Last Transition Time:  2023-11-15T18:32:25Z
        Observed Generation:   1
        Reason:                ReconciliationCompleted
        Status:                False
        Type:                  Reconciling
    
    

Anda mungkin mengalami periode nonaktif saat mengupdate kolom SAN tambahan sertifikat server API pada cluster yang sedang berjalan:

  • Pada cluster ketersediaan tinggi (HA), instance server API akan dimulai ulang secara berurutan. Anda masih dapat berinteraksi dengan cluster selama pembaruan sertifikat, karena load balancer mendistribusikan permintaan ke setiap server API. Namun, Anda mungkin melihat respons yang menunjukkan bahwa server API sedang dinonaktifkan. Jika Anda melihat respons ini, coba lagi permintaan tersebut.

  • Pada cluster non-HA, mungkin ada pemadaman singkat selama sekitar satu menit saat server API dimulai ulang untuk memuat ulang sertifikat baru.

Perubahan ini membutuhkan waktu 5-20 menit untuk diterapkan ke semua server API, bergantung pada jumlah node bidang kontrol dalam cluster dan beban cluster.