NEW: 获取项目更新推特Mastodon

安装 approver-policy

安装步骤

1. 安装 cert-manager

必须安装 cert-manager,并且 cert-manager 中的默认审批者必须被禁用

⚠️ 如果 cert-manager 中的默认审批者没有被禁用,approver-policy 会与 cert-manager 发生竞争,并且策略将无效。

如果您使用 helm installhelm 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 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 具有批准和拒绝 引用它们 的证书请求的权限。例如,如果将 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

如输出所示,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 文档