准备三台机器,操作系统centos7
机器名 | IP |
---|---|
rke2-1 | 10.254.193.245 |
rke2-2 | 10.254.193.246 |
rke2-3 | 10.254.193.247 |
重置主机名,以245为例,执行以下命令
hostnamectl set-hostname rke2-1 && bash
在245操作
创建配置文件
mkdir -p /etc/rancher/rke2
vi /etc/rancher/rke2/config.yaml
具体值可参考官网,这里我只配置了默认仓库地址官网地址
system-default-registry: "registry.cn-hangzhou.aliyuncs.com"
安装,具体rke2版本可以参考镜像地址中自己所需的
curl -sfL http://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_VERSION=v1.23.6+rke2r2 sh -
服务启动及配置开机自启
systemctl start rke2-server && systemctl enable rke2-server
启动完成后,查看token值,部署另外两个节点需要
cat /var/lib/rancher/rke2/server/token
操作246 247,操作一样。创建配置文件
mkdir -p /etc/rancher/rke2
vi /etc/rancher/rke2/config.yaml
填入对应的值,server地址,token的值为在245查到的
server: https://10.254.193.245:9345
token: xxxxxxxx
system-default-registry: "registry.cn-hangzhou.aliyuncs.com"
安装,服务启动及配置开机自启
curl -sfL http://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_VERSION=v1.23.6+rke2r2 sh -
systemctl start rke2-server && systemctl enable rke2-server
节点都启动完毕后在245操作
创建软链接
ln -s /var/lib/rancher/rke2/bin/kubectl /usr/bin/kubectl
查看节点状态,所有的节点都ready,高可用rke2集群安装完毕
kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml get node
在245操作
安装helm,可以点我获取最新版本的下载链接
这里以最新的3.8.2为例,获取版本,解压。移动命令作为全局使用
查看版本
wget -c https://get.helm.sh/helm-v3.8.2-linux-amd64.tar.gz
tar zxvf helm-v3.8.2-linux-amd64.tar.gz
mv ./linux-amd64/helm /usr/bin/helm
helm version
helm repo add rancher-latest http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/latest
创建命名空间
kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml create namespace cattle-system
配置tls证书。自签名的参考官网。有泛域名证书的好处是可以本地做各种实验
kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml \
-n cattle-system create secret \
tls tls-rancher-ingress \
--cert=./tls.pem \
--key=./tls.key
安装rancher2.6.5,配置对应域名。等待安装完成
helm --kubeconfig=/etc/rancher/rke2/rke2.yaml install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher26.crecgec.com \
--set rancherImage=registry.cn-hangzhou.aliyuncs.com/rancher/rancher \
--set ingress.tls.source=secret \
--set systemDefaultRegistry=registry.cn-hangzhou.aliyuncs.com \
--set rancherImageTag=v2.6.5
获取默认密码
kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{"\n"}}'