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. Di cluster Google Distributed Cloud, SAN default untuk sertifikat server Kubernetes API mencakup alamat IP dan VIP node bidang kontrol serta 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.

Untuk menentukan SAN kustom bagi sertifikat server API, Anda menggunakan kolom controlPlane.apiServerCertExtraSANs dalam spesifikasi konfigurasi cluster. Kolom ini menggunakan 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 API Kubernetes akan menyertakan domain dan alamat IP tambahan yang ditentukan saat cluster tersedia.

Menambahkan atau memperbarui domain untuk cluster yang ada

Karena kolom apiServerCertExtraSANs dapat diubah, Anda dapat menambahkan atau memperbarui kolom tersebut 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 memperbarui 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 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 layanan singkat selama 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 di cluster dan beban cluster.