证书控制器chiron

证书控制器chiron

Chiron是与Istiod链接的轻量级组件,该组件使用Kubernetes CA API签署证书而无需维护其私钥。使用此功能具有以下优点:

  • 不像istiod,此功能不需要维护私有签名密钥,从而增强了安全性。

  • 简化了向TLS客户端的根证书分发。客户不再需要等待Istiod生成和分发其CA证书。

配置提供证书

cat < ./istio.yaml apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: certificates:

  • secretName: dns.example1-service-account

    dnsNames: [example1.istio-system.svc, example1.istio-system]

  • secretName: dns.example2-service-account

    dnsNames: [example2.istio-system.svc, example2.istio-system]

    EOF

istioctl install -f ./istio.yaml

代码

初始化证书控制器

具体逻辑

在启动时

创建WebhookController

当证书被删除时

scrtDeleted

当证书被更新时

scrtUpdated

upsertSecret/refreshSecret分别将调用GenKeyCertK8sCA生成证书,GenKeyCertK8sCA又将调用SignCSRK8s发出请求

SignCSRK8s 1. 发起CSR请求 2. Approve CSR 3. 读取certificate 4.删除依赖

Last updated

Was this helpful?