|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
请求追踪边车注入的证书
当使用`--set httpHeaderInjectorWebhook.enabled=true`安装代理时启用的边车注入机制会创建一个自签名证书,并使用一个`ClusterRole`,该授予对Kubernetes集群中`Secret`和`MutatingWebhookConfiguration`对象的写入访问权限。
如果出于安全原因不希望创建授予集群范围写入权限的`ClusterRoles`,或者有其他方式提供证书:
-
生成一个自签名证书本地。
-
使用k8s cert-manager(如果它已经在集群中)与一个`ClusterIssuer`。
在本地生成证书
要在本地生成证书,请执行以下步骤:
-
下载证书生成脚本并运行它,以生成一个具有正确证书的helm值(
tls_values.yaml)文件:wget https://raw.githubusercontent.com/StackVista/http-header-injector/main/scripts/generate_ca_cert.sh chmod +x generate_ca_cert.sh ./generate_ca_cert.sh <helm-agent-release-name> <helm-agent-namespace>
确保使用将在 helm 命令中使用的发布名称和名称空间,否则证书将无效。
-
安装代理,通过将`--set httpHeaderInjectorWebhook.enabled=true -f tls_values.yaml`添加到helm调用命令来添加额外配置
使用cert-manager生成证书
如果您的集群中安装了https://cert-manager.io/[cert-manager],并且配置了`ClusterIssuer`,则可以在代理中使用`ClusterIssuer`颁发的证书用于边车注入器。为此,请将以下命令行参数添加到安装代理中:--set httpHeaderInjectorWebhook.enabled=true --set-string httpHeaderInjectorWebhook.webhook.tls.mode="cert-manager" --set-string httpHeaderInjectorWebhook.webhook.tls.certManager.issuer="<my-cluster-issuer>"。确保将my-cluster-issuer替换为您集群中颁发者的名称。