Dokumen ini menjelaskan cara mengupgrade otoritas sertifikat (CA) root yang digunakan untuk validasi paket di perangkat air-gapped Google Distributed Cloud (GDC)
Validasi paket GDC menggunakan root certificate authority (CA) untuk memvalidasi sertifikat kunci rilis. Anda harus mengupgrade CA root ini jika pemberitahuan rilis memerlukannya, atau jika Anda melihat pesan peringatan selama upgrade sistem.
Sebelum memulai
Untuk mengupgrade sertifikat validasi paket, Anda harus memiliki peran identitas dan akses yang diperlukan:
- Pastikan Anda memiliki akses tulis ke ConfigMap
harbor-system/package-validation-root-certs. - Minta Admin Keamanan Anda untuk memberi Anda peran Upgrade Debugger (
upgrade-debugger-cp).
Verifikasi upgrade sertifikat diperlukan
Verifikasi apakah upgrade sertifikat validasi paket diperlukan sebelum melakukan operasi, dengan membandingkan ConfigMap aktif di cluster Anda dengan sertifikat root penahapan terbaru dalam paket upgrade:
Tetapkan variabel lingkungan
KUBECONFIG:$ KUBECONFIG=PATH_TO_KUBECONFIG_FILEGanti
PATH_TO_KUBECONFIG_FILEdengan jalur ke filekubeconfigyang Anda dapatkan dengan menjalankangdcloud auth logindi cluster admin root.Tentukan apakah upgrade diperlukan dengan membandingkan trust anchor saat ini dengan trust anchor terbaru. Data
ConfigMapdiharbor-system/package-validation-root-certsdibandingkan dengan trust anchor lokal:$ CURRENT_TRUST_ANCHOR=$(kubectl --kubeconfig=$KUBECONFIG get cm package-validation-root-certs -n harbor-system -o jsonpath='{.data.ca\.crt}') $ LATEST_TRUST_ANCHOR=$(cat /root/release/staging_root_ca_certificate.crt) $ diff <( echo "$CURRENT_TRUST_ANCHOR" ) <( echo "$LATEST_TRUST_ANCHOR" ) && echo trust anchors are same || echo trust anchors are different, upgrade required!
Mengupgrade sertifikat
Jika upgrade diperlukan, perbarui objek ConfigMap yang berada di harbor-system/package-validation-root-certs di cluster admin root. Anda harus memiliki akses tulis ke ConfigMap untuk menyelesaikan tugas ini.
Tetapkan variabel lingkungan
KUBECONFIG:$ KUBECONFIG=PATH_TO_KUBECONFIG_FILEGanti
PATH_TO_KUBECONFIG_FILEdengan jalur ke filekubeconfigyang Anda dapatkan dengan menjalankangdcloud auth logindi cluster admin root.Buat dan tetapkan nilai ke variabel berikut:
USERNAME=USER_NAME #IO TARGET_FOLDER=/tmp/${USERNAME} OUTPUT="${TARGET_FOLDER}/package-validation-root-certs.yaml" LATEST_TRUST_ANCHOR_CA_FILE=/root/release/staging_root_ca_certificate.crt CONFIGMAP_NAME=package-validation-root-certs NAMESPACE=harbor-systemGanti
USER_NAMEdengan nama pengguna IO.Buat folder target yang akan berisi file output dari proses upgrade sertifikat:
mkdir -p "${TARGET_FOLDER}"Dapatkan trust anchor saat ini dan simpan di file sementara lokal:
CURRENT_TRUST_ANCHOR=$(kubectl --kubeconfig=$KUBECONFIG get configmap "${CONFIGMAP_NAME}" -n "${NAMESPACE}" -o jsonpath="{.data.ca\.crt}" ) CURRENT_TRUST_ANCHOR_CA_FILE=$(mktemp) echo "$CURRENT_TRUST_ANCHOR" > "${CURRENT_TRUST_ANCHOR_CA_FILE}"Buat file anchor tepercaya yang telah diupdate:
cat <<EOF > "${OUTPUT}" apiVersion: v1 kind: ConfigMap metadata: name: ${CONFIGMAP_NAME} namespace: ${NAMESPACE} data: ca.crt: | $(sed 's/^/ /' "${LATEST_TRUST_ANCHOR_CA_FILE}") $(sed 's/^/ /' "${CURRENT_TRUST_ANCHOR_CA_FILE}") EOFPastikan anchor tepercaya telah diupdate dengan benar:
Trust anchor harus berisi sertifikat trust anchor saat ini dan terbaru.
$ cat "${OUTPUT}" apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- (certificate content) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (certificate content) -----END CERTIFICATE----- (other certificate) kind: ConfigMap metadata: name: package-validation-root-certs namespace: harbor-systemTerapkan konfigurasi baru dengan
kubectl:kubectl --kubeconfig=$KUBECONFIG apply -f ${OUTPUT}Pastikan ca.crt yang baru diterapkan ada dalam
ConfigMap:kubectl --kubeconfig=$KUBECONFIG describe configmap package-validation-root-certs -n harbor-system
Tindakan ini akan menangani upgrade sertifikat baru di package-validation-root-cert.