TLS使用指南(一):如何在Rancher 2.x中进行TLS termination? (2)

在终止TLS的四个选项中,这个可能是最简单的。在HA和单节点安装方案中,这也是Rancher的默认选项。也就是说,通过不将任何TLS特定的参数传递给helm install或docker run,来进行安装。

安装后,Rancher会生成一个CA证书(CN=cattle-ca),并且使用该证书为其自身证书签名。根据你执行的安装类型,自签名证书的工作方式会有所不同。

单节点安装

容器启动后,设置前,Rancher在443端口上响应任意HTTPS请求,无论其目标Host值如何。这是如何成为可能的呢?

在这一状态下,Rancher会为你到达的任何主机名自动生成一个证书。如果是一个IP(如10.11.12.13),那么Rancher会为该IP生成一个自签名(使用cattle-ca)证书。如果是以一个主机名(如my-rancher.example.org)到达此新的Rancher安装目录,同样也会以相同的方式生成一个自签名证书。

在Rancher使用单个证书之前,你需要完成设置步骤(设置管理员密码并确认Rancher主机名)。该证书对于在Rancher初始设置期间配置的主机名有效。

HA安装

在HA安装场景下,自签名证书需要你安装一个名为cert-manager的应用程序。与单节点Rancher管理CA证书本身不同,HA rancher使用cert-manager来处理证书的生命周期。你可以根据以下指引将cert-manager安装到你准备好的Kubernetes集群中:

https://rancher.com/docs/rancher/v2.x/en/installation/k8s-install/helm-rancher/

一旦你完成cert-manager的安装,下一步是安装rancher。使用自签名证书是Rancher的默认设置,所以执行helm install时实际上只有一个强制性参数:

--set hostname=<YOUR.DNS.NAME>

该参数是强制性的,因为Rancher HA安装不具有与单节点安装相同的即时证书生成功能。因此,一旦你设置了主机名,该主机名将用于Rancher安装的整个生命周期。所以你必须确保你的设置是正确的。

然后cert-manager将会生成一个证书,该证书作为一个secret存储在cattle-system命名空间中,名为tls-rancher-ingress。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyjzd.html