证书作用咨询

Rancher Server 设置

  • Rancher 版本:2.5.12
  • 安装选项 (Docker install/Helm Chart): Helm Chart
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:k3s
  • 在线或离线部署:在线

下游集群信息

  • Kubernetes 版本: EKS 1.20
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 导入

问题描述:
使用k3s高可用安装rancher,在local集群的system中出现了许多secret证书(如截图),请问每一个的作用是什么?tls-rancher-ingress是使用脚本产生的,其他都是k3s和rancher自己生成的。

重现步骤:

结果:

预期结果:

截图:

其他上下文信息:

日志


1 个赞

首先,需要理解证书包括CA证书以及签发的服务证书。

当你用L7 TLS Terminate时,tls-rancher-ingress作为统一入口的服务证书。
cattle-webhook-ca & cattle-webhook-tls 是 rancher-webhook API的CA及其服务证书。

tls-rancher & serving-cert 是 Rancher API的CA及其服务证书。如果使用外部TLS Terminate,这个证书意义不大了,但是会默认生成。

tls-rancher-internal-ca & tls-rancher-internal 是 Internal Rancher API的CA及其服务证书。

k3s-serving:k3s API 证书,其CA证书保存在 /var/lib/rancher/k3s/server/tls/server-ca.crt 。

当这些证书快要过期或者已经过期时,是否有更新的方法

当然有,Rancher最近两期的Community Office Hours活动都有讲这些内容。

我设置tls-rancher-ingress过期,rancher会无法连接下游集群。我按照更新私有 CA 证书更新了ingress证书,又可以访问集群。
请问k3s-serving和serving-cert过期会有什么影响?怎么更新它们呢?

为什么我在证书管理页面(上面截图),没有看到 tls-rancher-internal证书,这个是怎么生成的呢?

我使用k3s安装rancher,发现没有 tls-rancher-internal证书,这个是怎么生成的呢?

只要服务都是正常的,不用纠结哪个证书在不在。
Rancher很多TLS证书都是动态生成机制,如果目标API没有被访问到,可能不会激活TLS证书创建。

tls-rancher-internal 证书用于Internal API,端口是444。你可以尝试访问rancher pod IP的444端口,再看看证书是否生成:

curl -k https://<rancher-pod-ip>:444