新消息:在TwitterMastodon取得專案更新

安裝 approver-policy

安裝步驟

1. 安裝 cert-manager

必須先安裝 cert-manager,並且必須停用 cert-manager 中的預設核准器

⚠️ 如果沒有在 cert-manager 中停用預設核准器,approver-policy 將會與 cert-manager 競爭,導致政策失效。

如果您使用 helm installhelm upgrade 安裝 cert-manager,您可以使用 在安裝前自訂 Chart,透過 --set--values 命令列標記來停用預設核准器

# ⚠️ This Helm option is only available in cert-manager v1.15.0 and later.
# Example --set value
--set disableAutoApproval=true
# ⚠️ This Helm option is only available in cert-manager v1.15.0 and later.
# Example --values file content
disableAutoApproval: true

以下範例示範如何重新配置已安裝的 cert-manager,使其在沒有自動核准器的情況下執行

# ⚠️ This Helm option is only available in cert-manager v1.15.0 and later.
existing_cert_manager_version=$(helm get metadata -n cert-manager cert-manager | grep '^VERSION' | awk '{ print $2 }')
helm upgrade cert-manager jetstack/cert-manager \
--reuse-values \
--namespace cert-manager \
--version $existing_cert_manager_version \
--set disableAutoApproval=true

2. 安裝 approver-policy

要安裝 approver-policy

helm repo add jetstack https://charts.jetstack.io --force-update
helm upgrade cert-manager-approver-policy jetstack/cert-manager-approver-policy \
--install \
--namespace cert-manager \
--wait

如果您將 approver-policy 與外部簽發者搭配使用,您必須加入它們的簽署者名稱,以便 approver-policy 具有核准和拒絕參照它們的 CertificateRequest 的權限。 例如,如果使用 approver-policy 來處理內部簽發者類型,以及 google-cas-issueraws-privateca-issuer,請在安裝時設定以下值

helm upgrade cert-manager-approver-policy jetstack/cert-manager-approver-policy \
--install \
--namespace cert-manager \
--wait \
--set app.approveSignerNames="{\
issuers.cert-manager.io/*,clusterissuers.cert-manager.io/*,\
googlecasclusterissuers.cas-issuer.jetstack.io/*,googlecasissuers.cas-issuer.jetstack.io/*,\
awspcaclusterissuers.awspca.cert-manager.io/*,awspcaissuers.awspca.cert-manager.io/*\
}"

解除安裝

要解除安裝透過 Helm 安裝的 approver-policy,請執行

$ helm uninstall cert-manager-approver-policy --namespace cert-manager
These resources were kept due to the resource policy:
[CustomResourceDefinition] certificaterequestpolicies.policy.cert-manager.io
release "cert-manager-approver-policy" uninstalled

如輸出所示,CertificateRequestPolicyCustomResourceDefinition 並不會被 Helm 解除安裝命令移除。這是為了防止資料遺失,因為移除 CustomResourceDefinition 也會移除所有 CertificateRequestPolicy 資源。

☢️ 這將從叢集中移除所有 CertificateRequestPolicy 資源

$ kubectl delete crd certificaterequestpolicies.policy.cert-manager.io

⚠️ v0.13.0 之前的 approver-policy 版本在解除安裝時不會保留 CustomResourceDefinition,並且會從叢集中移除所有 CertificateRequestPolicy 資源。如果您使用的是 v0.13.0 之前的版本,請務必在解除安裝 approver-policy 之前備份您的 CertificateRequestPolicy 資源。或者在解除安裝之前升級到 v0.13.0

使用方式

📖 請閱讀 approver-policy 文件