RancherD 的安装不需要 Docker
1. 设置配置
mkdir -p /etc/rancher/rke2/
vim /etc/rancher/rke2/config.yaml
token: ljldjlgUOTFJL1084@3
tls-san:
- c.htmltoo.com
第一个服务器节点建立密钥令牌,如果其他节点被添加到集群中,它们会用这个密钥令牌注册。
如果您没有指定预共享的密钥,RancherD 将生成一个密钥,并将其放在/var/lib/rancher/rke2/server/node-token中
cat /var/lib/rancher/rke2/server/node-token。
要指定自己的预共享密钥作为标记,请在启动时设置token参数。
你应该在启动服务器时设置tls-san参数。这个参数应该是指你的固定镜像仓库地址。
---受信任的证书
RancherD 允许您通过将.pem 文件存储在/etc/rancher/ssl/中,自带自签或可信的证书。
当这样做的时候,你也应该在 HelmChartConfig 中把publicCA参数设置为true。
私钥:/etc/rancher/ssl/key.pem。
证书:/etc/rancher/ssl/cert.pem。
CA 证书(自签):/etc/rancher/ssl/cacerts.pem。
附加 CA 证书:/etc/ssl/certs/ca-additional.pem。
2. 启动第一个服务器节点
#运行 RancherD 安装程序
curl -sfL https://get.rancher.io | sh -
#RancherD 的版本指定
curl -sfL https://get.rancher.io | INSTALL_RANCHERD_VERSION=v2.5.4-rc6 sh -
#查看帮助
rancherd --help
#启动 RancherD
systemctl enable rancherd-server.service
systemctl start rancherd-server.service
#查看 Kubernetes 集群启动时的日志
-当 RancherD 启动时,它会安装一个 RKE2 Kubernetes 集群。
journalctl -eu rancherd-server -f
3.用 kubectl 设置 kubeconfig 文件
-Kubernetes 集群建立后,设置 RancherD 的 kubeconfig 文件和kubectl
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin
4.验证 Rancher 是否安装在 Kubernetes 集群上
kubectl get daemonset rancher -n cattle-system
kubectl get pod -n cattle-system
-如果你注意观察 Pod,你会看到安装了以下 Pods:
在cattle-system命名空间的 "helm-operation "pods。
cattle-system命名空间中的rancherpod 和rancher-webhookpod。
在fleet-system命名空间中的 fleet-agent、fleet-controller和 gitjobpod。
rancher-operator-system命名空间中的rancher-operatorpod。
5. 设置 Rancher 的初始密码
rancherd reset-admin
高可用性
需要奇数的节点
1. 在新节点上配置固定镜像仓库地址
只是您必须指定 "server "和 "token "参数,以便它们能够成功连接到初始服务器节点。
vim /etc/rancher/rke2/config.yaml
server: https://my-fixed-registration-address.com:9345
token: my-shared-secret
tls-san:
- https://my-fixed-registration-address.com
- Another-kubernetes-domain.com
2. 启动一个额外的服务器节点
curl -sfL https://get.rancher.io | sh -
systemctl enable rancherd-server.service
systemctl start rancherd-server.service
-启动其他的服务器节点,Rancher 高度可用,安装完成
升级,卸载
当 RancherD 升级时,Rancher Helm controller 和 Fleet pod 都会升级。
当 Rancher 与 RancherD 一起安装时,底层的 Kubernetes 集群不能从 Rancher UI 中升级。它需要使用 RancherD CLI 进行升级
# 要在不升级底层 Kubernetes 集群的情况下升级 Rancher
1.使用备份应用程序创建 Rancher 服务器的备份
2.用 Helm 卸载图表
helm uninstall rancher
3.用 Helm 重新安装 Rancher 图表。要安装特定的 Rancher 版本,使用--version标签
helm install rancher rancher-latest/rancher\
--namespace cattle-system
--set hostname=rancher.my.org .
--version 2.5.1
4.Rancher 已升级到新版本。如果需要,请按照这些步骤从备份中恢复 Rancher
在Cluster Explorer中,进入左上角的下拉菜单,单击Rancher Backups. 单击 Restore.
rancher-operator 在还原过程中缩减了 rancher deployment,并在还原完成后将其扩展。资源的恢复顺序是这样的:
a.自定义资源对象 (CRDs)
b.集群范围内的资源
c.命名空间资源
要查看还原的进展情况,可以查看 operator 的日志。请按照以下步骤来获取日志:
kubectl get pods -n cattle-resources-system
kubectl logs <pod name from above command> -n cattle-resources-system -f
# 升级 Rancher 和底层集群
-通过重新运行 RancherD 安装脚本,同时升级 RancherD 和底层 Kubernetes 集群
-使用备份应用程序创建 Rancher 服务器的备份
curl -sfL https://get.rancher.io - sudo sh -
-要指定一个特定的升级版本,使用INSTALL_RANCHERD_VERSION环境变量。
curl -sfL https://get.rancher.io | INSTALL_RANCHERD_VERSION=v2.5.1 sh -
-然后启动服务器。
systemctl enable rancherd-server
systemctl start rancherd-server
# 卸载
要从系统中卸载 RancherD,请运行以下命令。
这将关闭进程,删除 RancherD 二进制文件,并清理 RancherD 使用的文件。
rancherd-uninstall.sh
有三种类型的角色可以使用主机:
- etcd – 这些主机可以用来保存集群的数据。
- controlplane – 这些主机可以用来存放运行K8s所需的Kubernetes API服务器和其他组件。
- worker – 这些是您的应用程序可以部署的主机。