安装 approver-policy
安装步骤
1. 安装 cert-manager
必须安装 cert-manager,并且 cert-manager 中的默认审批者必须被禁用。
⚠️ 如果 cert-manager 中的默认审批者没有被禁用,approver-policy 会与 cert-manager 发生竞争,并且策略将无效。
如果您使用 helm install
或 helm upgrade
安装 cert-manager,您可以通过 在安装之前自定义图表 使用 --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 具有批准和拒绝 引用它们 的证书请求的权限。例如,如果将 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
如输出所示,CustomResourceDefinition
用于 CertificateRequestPolicy
未被 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 文档。