安装工具
自动安装
下载安装脚本
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
设置权限
chmod 700 get_helm.sh
执行脚本
./get_helm.sh
手动安装(针对网络不稳定)
下载
wget https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz
解压
tar -zxvf helm-v3.2.4-linux-amd64.tar.gz
移动
mv linux-amd64/helm /usr/local/bin/helm
添加Helm Chart仓库
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
安装证书
由于Rancher Server 默认需要 SSL/TLS 配置来保证访问的安全性。
- 1.Rancher 生成的自签名证书: 在这种情况下,您需要在集群中安装
cert-manager
。 Rancher 利用cert-manager
签发并维护证书。Rancher 将生成自己的 CA 证书,并使用该 CA 签署证书。然后,cert-manager
负责管理该证书。 - 2.Let's Encrypt: Let's Encrypt 选项也需要使用
cert-manager
。但是,在这种情况下,cert-manager
与特殊的 Issuer 结合使用,cert-manager
将执行获取 Let's Encrypt 发行的证书所需的所有操作(包括申请和验证)。此配置使用 HTTP 验证(HTTP-01
),因此负载均衡器必须具有可以从公网访问的公共 DNS 记录。 - 3.使用您自己的证书: 此选项使您可以使用自己的权威 CA 颁发的证书或自签名 CA 证书。 Rancher 将使用该证书来保护 WebSocket 和 HTTPS 流量。在这种情况下,您必须上传名称分别为
tls.crt
和tls.key
的 PEM 格式的证书以及相关的密钥。如果使用私有 CA,则还必须上传该证书。这是由于您的节点可能不信任此私有 CA。 Rancher 将获取该 CA 证书,并从中生成一个校验和,各种 Rancher 组件将使用该校验和来验证其与 Rancher 的连接。
由于我是内网,采用 3.使用自己的证书
rancher提供了一键生成ssl自签名脚本
执行脚本,我这里不填写域名,采用rancher.mydoman.com(该域名可以在自己公司服务器上设置DNS,也可以在自己本机上host文件上设置),ip设置的是k3s的集群ip
--ssl-domain: 生成ssl证书需要的主域名,如不指定则默认为www.rancher.local,如果是ip访问服务,则可忽略;
--ssl-trusted-ip: 一般ssl证书只信任域名的访问请求,有时候需要使用ip去访问server,那么需要给ssl证书添加扩展IP,多个IP用逗号隔开;
--ssl-trusted-domain: 如果想多个域名访问,则添加扩展域名(TRUSTED_DOMAIN),多个TRUSTED_DOMAIN用逗号隔开;
--ssl-size: ssl加密位数,默认2048;
--ssl-cn: 国家代码(2个字母的代号),默认CN;
使用示例:
./create_self-signed-cert.sh --ssl-domain=www.test.com --ssl-trusted-domain=www.test2.com \
--ssl-trusted-ip=1.1.1.1,2.2.2.2,3.3.3.3 --ssl-size=2048 --ssl-date=3650
验证openssl , 应该返回状态为 ok
openssl verify -CAfile cacerts.pem tls.crt
安装rancehr
在k3s中创建rancher的名名空间(Namespace)
kubectl create namespace cattle-system
安装并rancher 如果您使用的是私有 CA 证书,请在命令中增加 --set privateCA=true
。
helm install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher.mydoman.com \
--set ingress.tls.source=secret
验证部署,如下证明已经在安装
kubectl -n cattle-system rollout status deploy/rancher
Waiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available...
deployment "rancher" successfully rolled out
等待安装成功,浏览器访问rancher.mydoman.com
参考文章
https://docs.rancher.cn/docs/rancher2.5/installation/install-rancher-on-k8s/_index