安裝 approver-policy
安裝步驟
1. 安裝 cert-manager
必須先安裝 cert-manager,並且必須停用 cert-manager 中的預設核准器。
⚠️ 如果沒有在 cert-manager 中停用預設核准器,approver-policy 將會與 cert-manager 競爭,導致政策失效。
如果您使用 helm install
或 helm 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 contentdisableAutoApproval: 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-updatehelm upgrade cert-manager-approver-policy jetstack/cert-manager-approver-policy \--install \--namespace cert-manager \--wait
如果您將 approver-policy 與外部簽發者搭配使用,您必須加入它們的簽署者名稱,以便 approver-policy 具有核准和拒絕參照它們的 CertificateRequest 的權限。 例如,如果使用 approver-policy 來處理內部簽發者類型,以及 google-cas-issuer 和 aws-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-managerThese resources were kept due to the resource policy:[CustomResourceDefinition] certificaterequestpolicies.policy.cert-manager.iorelease "cert-manager-approver-policy" uninstalled
如輸出所示,CertificateRequestPolicy
的 CustomResourceDefinition
並不會被 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 文件。