RKE2离线高可用集群和rancher部署指南
·
一、目标
离线安装rke2高可用集群,并部署rancher
二、环境准备
主节点:10.18.97.185
从节点:10.18.97.186
agnt节点:192.168.200.6
harbor:10.18.97.187
网络: 可以互相ping通
设备:ctenos7.6
三、准备工作
1、NetworkManager
在 /etc/NetworkManager/conf.d 中创建名为 rke2-canal.conf 的配置文件,内容如下:
vi /etc/NetworkManager/conf.d/rke2-canal.conf
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
systemctl reload NetworkManager
2、关闭防火墙 (必须)
systemctl stop firewalld && systemctl disable firewalld
3、关闭setlinux (必须)
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config
4、其他步骤
1.
cat << EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
2.手动执行加载文件
modprobe overlay
modprobe br_netfilter
3.
cat << EOF | tee /etc/modules-load.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables =1
net.bridge.bridge-nf-call-iptables =1
net.ipv4.ip_forward =1
EOF
4.
sysctl --system
5.配置 ipvsadm 模块
cat << EOF | tee /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF
6.
cat << EOF | tee ipvs.sh
#!/bin/bash
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack
EOF
7.
sh ipvs.sh
四、rke2离线安装
1.准备好以下文件
下载地址:
curl -OLs https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/rke2-images.linux-amd64.tar.zst
curl -OLs https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/rke2.linux-amd64.tar.gz
curl -OLs https://github.com/rancher/rke2/releases/download/v1.21.5%2Brke2r2/sha256sum-amd64.txt
curl -sfL https://get.rke2.io --output install.sh

2.把上述文件放在一个文件里,进入文件
3.开始安装
mkdir -p /var/lib/rancher/rke2/agent/images/
cp rke2-images-core.linux-amd64.tar.gz /var/lib/rancher/rke2/agent/images/
cp rke2-images.linux-amd64.tar.gz /var/lib/rancher/rke2/agent/images/
cp rke2.linux-amd64.tar.gz /var/lib/rancher/rke2/agent/images/
cp rke2.linux-amd64 /usr/local/bin/rke2
chmod +x /usr/local/bin/rke2
mkdir -p /root/v1.30.14+rke2r1/
cp sha256sum-amd64.txt /root/v1.30.14+rke2r1/
cp rke2.linux-amd64.tar.gz /root/v1.30.14+rke2r1/
INSTALL_RKE2_ARTIFACT_PATH=/root/v1.30.14+rke2r1 sh install.sh
4.安装完成,配置config文件
mkdir -p /etc/rancher/rke2/
vi /etc/rancher/rke2/config.yaml
写入以下内容
token: “my_token" #可自行设置
tls-san: "主机ip"
system-default-registry: "10.18.97.187" #本地镜像源
node-taint:
- "CriticalAddonsOnly=true:NoExecute" #设置污点,可不写
node-label: #标签
- "node=Master"
5.启动
systemctl enable rke2-server.service
systemctl restart rke2-server.service
6.可能启动会有问题,可用使用命令排错
journalctl -u rke2-server.service -f
systemctl status rke2-server.service
7.会出现执行kubectl等命令失效问题
解决方法
当前会话生效
export PATH=/var/lib/rancher/rke2/bin:$PATH
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
ln -s /var/lib/rancher/rke2/agent/etc/crictl.yaml /etc/crictl.yaml
ln -s /var/lib/rancher/rke2/bin/kubectl /usr/bin/kubectl
永久生效:
vi /etc/profile
后面添加
export PATH=/var/lib/rancher/rke2/bin:$PATH
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
生效
source /etc/profile
检验

8.配置私有镜像仓库
vi /etc/rancher/rke2/registries.yaml
mirrors:
10.18.97.187:
endpoint:
- "http://10.18.97.187"
configs:
"10.18.97.187":
tls:
insecure_skip_verify: true
重启生效
systemctl restart rke2-server.service
五、rke2高可用
1.其他server节点
准备另一台主机,其他配置步骤与上述相同,config文件不同
mkdir -p /etc/rancher/rke2/
在主server节点上查看token:
cat /var/lib/rancher/rke2/server/node-token
编辑文件
vi /etc/rancher/rke2/config.yaml
文件内容:
server: https://10.18.97.185:9345 #serverip
token: "server节点的token"
tls-san: "server的ip"
tls-san: "主机IP"
system-default-registry: "10.18.97.187"
node-label:
- "node=rancher186"
启动服务
systemctl enable rke2-server.service
systemctl restart rke2-server.service

2.agent节点
1、准备另一台主机,其他配置步骤与上述相同,安装命令和config文件不同
安装命令:
INSTALL_RKE2_TYPE="agent" INSTALL_RKE2_ARTIFACT_PATH=/root/v1.30.14+rke2r1 sh /install.sh
mkdir -p /etc/rancher/rke2/
vi /etc/rancher/rke2/config.yaml
文件内容:
server: https://server 的ip:9345
token: “your servertoken”
启动服务
systemctl enable rke2-agent.service
systemctl restart rke2-agent.service

3.卸载rke2
1.RPM 方法
/usr/bin/rke2-uninstall.sh
2.Tarball 方法
sudo /usr/local/bin/rke2-killall.sh
sudo /usr/local/bin/rke2-uninstall.sh
sudo rm -rf /etc/rancher/rke2/
sudo rm -rf /var/lib/rancher/rke2/
sudo rm -f /etc/systemd/system/rke2*.service
rm -rf /etc/rancher/rke2/
六、安装rancher
1.准备工作
(1)安装helm(离线)
#获取软件
wget https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz(在有网主机上下载,传到目的主机)
#解压软件
tar -zxvf helm-v3.13.2-linux-amd64.tar.gz
#加入环境变量
mv linux-amd64/helm /usr/local/bin/helm
验证
helm version
![]()
(2)安装cert(离线)
1.在有网主机
helm repo add jetstack https://charts.jetstack.io
helm repo update
可用
helm pull cert-manager jetstack/cert-manager
(下载tar文件)
2.解压更改yaml文件,底行模式寻找关键字repository:后面添加本地镜像10.18.97.187/ ip(五次)
vi cert-manager/va*.yaml
![]()
3.创建命名空间
kubectl create namespace cert-manager
4.安装
helm install cert-manager ./cert-manager-v1.11.0.tgz --namespace cert-manager --set image.repository=10.18.97.187/quay.io/jetstack/cert-manager-controller --set webhook.image.repository=10.18.97.187/quay.io/jetstack/cert-manager-webhook --set cainjector.image.repository=10.18.97.187/quay.io/jetstack/cert-manager-cainjector --set startupapicheck.image.repository=10.18.97.187/quay.io/jetstack/cert-manager-ctl --set installCRDs=true
5.检验:
![]()
6.卸载
helm uninstall cert-manager -n cert-manager
2.安装rencher
1.有网主机上
#添加rencher仓库
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
#更新索引
helm repo update
#查找rancher(可忽略)
helm search repo rancher
2.拉取到本地
helm pull rancher-stable/rancher --version=v2.11.3
(tgz压缩包)
传送到离线主机
3.解压
tar -zxf rancher-2.11.3.tgz
4.更改yaml文件
cd rancher/
sudo vi values.yaml
用底行模式寻找/ repository: rancherImage 在对应位置加上10.18.97.187/(本地镜像源)


5.创建命名空间
kubectl create namespace cattle-system
6.安装
helm install rancher --namespace cattle-system --set hostname=10.18.97.186.sslip.io --set replicas=1 --set systemDefaultRegistry=10.18.97.187 --set bootstrapPassword=1qaz@WSX ./rancher
7. 等待pod跑起来,浏览器打开网站


8.卸载rancher
helm uninstall rancher -n cattle-system
更多推荐

所有评论(0)