作者简介
王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营。拥有6年的云计算领域经验,经历了OpenStack到Kubernetes的技术变革,无论底层操作系统Linux,还是虚拟化KVM或是Docker容器技术都有丰富的运维和实践经验。
前 言
Rancher Server的证书问题一直是Rancher技术社区里被频繁提到的问题。如果用户在首次搭建Rancher环境时没有考虑充分,后期需要替换证书时一般操作是重新搭建集群。
本文将介绍如何在原有集群中替换Rancher证书,从而免去重新搭建集群的操作。
撰写本文时使用的 Rancher 版本为v2.5.x,其他版本操作可能略有不同。
下文将分别介绍单节点和高可用的 Rancher Server 如何替换证书。
替换单节点 Rancher Server 证书
本节将演示如何把单节点 Rancher 的默认证书替换为自签名证书。
前期准备
假设你已经搭建了一个单节点的 Rancher,并且创建了一个下游业务集群:
接下来,从浏览器查看 Rancher 证书为dynamic,颁发者为dynamiclistener-ca,这是 Rancher 生成的默认证书:
因为替换证书之后,Rancher Agent 需要使用域名连接 Rancher Server,业务集群会出现无法连接的情况,所以需要提前从 Rancher UI 下载业务集群的 kubeconfig,并且将context切换到demo-rancher-demo2。切换后,可以不通过 Rancher api 直接访问 k8s api-server。
1. # kubectl config get-contexts
2. CURRENT NAME CLUSTER AUTHINFO
3. NAMESPACE
4. demo demo demo
demo-rancher-demo2 demo-rancher-demo2 demo
5. List item
6. # kubectl config use-context demo-rancher-demo2
7. Switched to context "demo-rancher-demo2".
8. List item
9. # kubectl config current-context
10. demo-rancher-demo2
11. List item
12. # kubectl get nodes
13. NAME STATUS ROLES AGE
14. VERSION
15. rancher-demo2 Ready controlplane,etcd,worker 58m v1.19.6
Rancher Server 替换为自签名证书
1、备份 Rancher Server
参考官方文档【升级单节点Rancher】:
https://docs.rancher.cn/docs/rancher2/installation_new/other-i