Merotasi sertifikat secara manual

Pilih versi dokumentasi:

Secara default, operator Kubernetes AlloyDB Omni menggunakan cert-manager untuk menyediakan serangkaian sertifikat TLS untuk setiap cluster database. Selain sertifikat server database, operator membuat sertifikat untuk komponen bidang kontrol guna mengamankan koneksi internal.

Meskipun cert-manager mengotomatiskan perpanjangan sertifikat berdasarkan kolom duration dan renewBefore dari objek Certificate, Anda mungkin perlu memicu rotasi sertifikat secara manual dalam skenario berikut:

  • Kunci pribadi disusupi.
  • Sertifikat CA dirotasi. Menurut dokumentasi cert-manager, saat sertifikat CA yang terkait dengan penerbit dirotasi, sertifikat entitas akhir tidak akan otomatis diterbitkan ulang.
  • cert-manager penerbitan ulang otomatis gagal. Meskipun jarang terjadi, jika penerbitan ulang otomatis tidak dipicu karena kondisi tertentu yang dijelaskan dalam FAQ cert-manager, Anda harus memicu rotasi manual.

Sebelum memulai

  • Pastikan Anda telah mengonfigurasi kubectl untuk mengakses cluster Kubernetes Anda.
  • Pastikan cert-manager berjalan di cluster Kubernetes Anda.

Rotasi sertifikat manual

Untuk memicu rotasi sertifikat secara manual, hapus rahasia yang terkait dengan objek cert-manager Certificate. Pengontrol cert-manager merekonsiliasi objek dan menerbitkan ulang sertifikat, yang membuat secret baru. Workload yang terkait dengan operator AlloyDB Omni otomatis memuat ulang konfigurasi TLS-nya untuk menggunakan sertifikat baru.

  1. Identifikasi cert-manager Certificate yang ingin Anda putar. Objek ini berada di namespace DBCluster Anda dan namespace tempat operator AlloyDB Omni diinstal. Nama sertifikat CA memiliki awalan dbs-al-ca, sedangkan sertifikat entitas akhir memiliki awalan dbs-al-cert. Pada langkah-langkah selanjutnya, gunakan nama secret terkait dari output.

    kubectl get certificate CERTIFICATE_NAME -n NAMESPACE -o wide
    
  2. Sebelum Anda memicu rotasi, cadangkan secret sertifikat:

    kubectl get secret SECRET_NAME -n NAMESPACE -o yaml > SECRET_NAME-NAMESPACE.yaml.bak
    
  3. Hapus secret sertifikat:

    kubectl delete secret SECRET_NAME -n NAMESPACE
    
  4. Tunggu hingga cert-manager membuat ulang secret sertifikat:

    kubectl get secret SECRET_NAME -n NAMESPACE -w
    

Memverifikasi rotasi sertifikat

Setelah Anda merotasi sertifikat secara manual, pastikan sertifikat baru sedang digunakan:

  1. Periksa secret sertifikat. Nilai creationTimestamp harus mencerminkan waktu setelah Anda memutar sertifikat secara manual:

    kubectl get secret SECRET_NAME -n NAMESPACE -o yaml
    
  2. Periksa status Certificate. Pastikan tanggal notBefore dan notAfter di bagian status sudah benar:

    kubectl describe certificate CERTIFICATE_NAME -n NAMESPACE
    

Langkah berikutnya