Menambahkan domain ke sertifikat server API

Nama Alternatif Subjek (SAN) kustom memungkinkan Anda memperluas cakupan sertifikat server API ke domain, subdomain, dan alamat IP tambahan. Di cluster Google Distributed Cloud, SAN default hanya mencakup alamat IP dan VIP node bidang kontrol serta nama DNS Kubernetes standar. Anda dapat mengonfigurasi SAN kustom menggunakan kolom controlPlane.apiServerCertExtraSANs yang dapat diubah di file konfigurasi cluster, baik selama pembuatan cluster maupun kapan saja setelahnya.

Menambahkan domain selama pembuatan cluster

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

Contoh berikut menunjukkan kolom apiServerCertExtraSANs dalam file konfigurasi cluster:

...
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 atau memperbarui domain untuk cluster yang ada

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

  • Pengontrol cluster Google Distributed Cloud membuat ulang sertifikat server API untuk menyertakan domain tambahan yang diubah.

  • 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.

  • Node pool 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
    
  • Node pool 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 di cluster yang sedang berjalan:

  • Pada cluster ketersediaan tinggi (HA), instance server API dimulai ulang secara berurutan. Anda masih dapat berinteraksi dengan cluster selama update 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 akan terjadi pemadaman layanan singkat sekitar satu menit saat server API dimulai ulang untuk memuat ulang sertifikat baru.

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