目录

RKE2介绍

k8s集群搭建

搭建k8s集群

下载离线包

部署rke2-server

部署rke2-agent

部署helm

部署rancher


RKE2介绍

RKE2,也称为 RKE Government,是 Rancher 的下一代 Kubernetes 发行版。

官网地址:Introduction | RKE2

k8s集群搭建

搭建k8s集群

k8s版本为v1.28.3+rke2r2,runtime为containerd,使用rke2进行部署。

下载离线包

官网下载地址:https://github.com/rancher/rke2/releases/tag/v1.28.3%2Brke2r2

离线包分为x86和arm不同的架构,下载时根据现场环境进行下载。

部署rke2-server

将离线包下载到master节点。

# 本例中,master主机为x86架构,ip为192.168.100.101

# 将tar文件下载到/data

cd /data

tar -zxvf rke2-offline-v1.28.3.tar.gz

[root@master1 data]# cd rke2-offline/
[root@master1 rke2-offline]# ls
install.sh  rke2-images.linux-amd64.tar.zst  rke2.linux-amd64.tar.gz  sha256sum-amd64.txt
[root@master1 rke2-offline]# 

# 执行install脚本

INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-offline sh install.sh

# 编写config.yaml文件(默认配置文件为/etc/rancher/rke2/config.yaml)

mkdir -p /etc/rancher/rke2

vim /etc/rancher/rke2/config.yaml

token: k8s-rke2-secret

node-name: k8s-rke2-server01

node-label:

  - "role=master"

# 启动服务rke2-server,默认会安装在/var/lib/kubelet和/var/lib/rancher

systemctl enable rke2-server

systemctl start rke2-server

# 如果现场的根目录比较小,可以改为/data/lib,方法如下

mkdir -p /data/lib /var/lib/kubelet

cd /data/lib/

mv /var/lib/kubelet .

mv /var/lib/rancher .

cd /var/lib/

ln -s /data/lib/rancher rancher

ln -s /data/lib/kubelet kubelet

# 查看日志

journalctl -u rke2-server.service -f

# 复制kubeconfig文件,复制常用工具

mkdir ~/.kube

ln -s /etc/rancher/rke2/rke2.yaml ~/.kube/config

chmod 600 ~/.kube/config

ln -s /var/lib/rancher/rke2/agent/etc/crictl.yaml /etc/crictl.yaml

ln -s /var/lib/rancher/rke2/bin/kubectl /usr/bin/kubectl

ln -s /var/lib/rancher/rke2/bin/crictl /usr/bin/crictl

# kubectl自动补全

echo 'source <(kubectl completion bash)' >> ~/.bashrc

source ~/.bashrc

# 常用的指令

kubectl get node

crictl ps

crictl images

至此,rke2-server部署完成。

部署rke2-agent

将离线包下载到worker节点;

如果有多个worker节点,每次节点均需要下载离线包。

# 本例中,worker主机为x86架构,

# 将tar文件下载到/data

cd /data

tar -zxvf rke2-offline-v1.28.3.tar.gz

[root@work1 data]# cd rke2-offline/
[root@work1 rke2-offline]# ls
install.sh  rke2-images.linux-amd64.tar.zst  rke2.linux-amd64.tar.gz  sha256sum-amd64.txt

# 执行install脚本

INSTALL_RKE2_TYPE="agent" INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-offline sh install.sh

# 编写config.yaml文件(默认配置文件为/etc/rancher/rke2/config.yaml)

mkdir -p /etc/rancher/rke2

vim /etc/rancher/rke2/config.yaml

## server为master主机ip,端口为9345

server: https://192.168.100.101:9345

token: k8s-rke2-secret

node-name: k8s-rke2-agent01

node-label:

   - "role=agent"

# 启动服务rke2-agent,默认会安装在/var/lib/kubelet和/var/lib/rancher.

systemctl enable rke2-agent

systemctl start rke2-agent

# 如果现场的根目录比较小,可以改为/data/lib,方法如下

mkdir -p /data/lib /var/lib/kubelet

cd /data/lib/

mv /var/lib/kubelet .

mv /var/lib/rancher .

cd /var/lib/

ln -s /data/lib/rancher rancher

ln -s /data/lib/kubelet kubelet

# 查看日志

journalctl -u rke2-agent.service -f

# 在master节点查看

[root@master1 data]# kubectl get nodes
NAME                STATUS   ROLES                       AGE    VERSION
k8s-rke2-agent01    Ready    <none>                      3h8m   v1.28.3+rke2r2
k8s-rke2-server01   Ready    control-plane,etcd,master   4h2m   v1.27.12+rke2r1
[root@master1 data]# 
 

至此,rke2-agent部署完成。

部署helm

官网下载地址:Releases · helm/helm · GitHub

[root@master1 data]# tar -xvf helm-v3.12.3-linux-amd64.tar.gz
linux-amd64/
linux-amd64/LICENSE
linux-amd64/README.md
linux-amd64/helm
[root@master1 data]# mv linux-amd64/helm /usr/local/bin/
 

部署rancher

# 添加Helm repo

## Latest:建议用于试用最新功能

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

## Stable:建议用于生产环境

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

# 本次下载的为最新版2.8.1

helm search repo rancher -l

helm fetch rancher-latest/rancher --version=2.8.1

# 为Rancher创建命名空间

kubectl create namespace cattle-system

# 安装cert-manager

# 如果你手动安装了CRD,而不是在 Helm 安装命令中添加了 `--set installCRDs=true` 选项,你应该在升级 Helm Chart 之前升级 CRD 资源。
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.2/cert-manager.crds.yaml

# 添加 Jetstack Helm 仓库
helm repo add jetstack https://charts.jetstack.io

# 更新本地 Helm Chart 仓库缓存
helm repo update

# 安装 cert-manager Helm Chart
helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.13.2

# 安装rancher

# helm  install   自定义名称   chart名称   名称空间
helm install rancher rancher \
--namespace cattle-system \
--set hostname=rancher.test.com \
--set replicas=1 \
--set bootstrapPassword=admin


#等待 Rancher 运行,查看状态
NAME: rancher
LAST DEPLOYED: Thu Apr  4 13:55:25 2024
NAMESPACE: cattle-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Rancher Server has been installed.

## 浏览器打开

https://rancher.test.com

需配置本地hosts文件

至此,rancher部署完成。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐