LOADING

加载过慢请开启缓存 浏览器默认开启

RKE2搭建Kubernetes

RKE2搭建Kubernetes

RKE2

RKE2,也称为RKE Government,是由Rancher开发的下一代Kubernetes发行版。
以下是RKE2的一些关键特点:
  • 安全性:RKE2强调了集群的安全性,提供了多种默认的安全配置,如加密的etcd数据存储、TLS证书管理等。
  • 合规性:为了满足严格的合规性要求,RKE2包含了许多有助于通过安全审计的功能和设置。
  • 简化部署:尽管注重安全性,RKE2仍然保持了相对简单的部署过程,并且易于管理和操作。
  • 高可用性支持:RKE2支持创建高可用性的Kubernetes集群,确保服务的稳定性和可靠性。
  • 轻量级:与传统的Kubernetes部署相比,RKE2更加轻量,减少了资源占用,使得在边缘计算场景中也能高效运行。
  • 兼容性:RKE2是一个完全兼容的Kubernetes发行版,这意味着它可以运行任何遵循Kubernetes标准的应用和服务。
  • 扩展性:用户可以根据需要自定义CoreDNS等组件的配置,以适应不同的网络需求和策略。
RKE2是基于RKE(Rancher Kubernetes Engine)的经验而构建的,旨在提供类似K3s的易用性同时保证企业级功能和稳定性。如果你正在寻找一种能够快速部署并易于维护的Kubernetes解决方案,同时又希望获得高级别的安全性和合规性保障,那么RKE2可能是一个很好的选择。

环境说明

1. 硬件环境

  • 虚拟机硬件规格:Master(2CPU 4G 40GB) Node(2CPU 2G 40GB)
  • 虚拟机数量: 3台
  • 虚拟机操作系统:ubuntu-22.04.5-live-server-amd64.iso
操作系统 主机名 IP
ubuntu-22.04.5 k8s-master 192.168.110.66
ubuntu-22.04.5 k8s-node1 192.168.110.67
ubuntu-22.04.5 k8s-node2 192.168.110.68

2. RKE2版本

快速部署

参考官方安装文档

1. 快速安装

# 部署master节点
   curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh -
   systemctl enable rke2-server.service
   systemctl start rke2-server.service
   # 查看报错日志
   journalctl -u rke2-server -f
  • ps,默认安装RKE2的最新版本,若需要指定Kubernetes版本可参考RKE2官方版本说明,使用INSTALL_RKE2_CHANNEL参数指定版本进行安装。
 curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_CHANNEL=latest sh -

官方quickstart对国内镜像拉取不友好,建议使用以下离线安装方式。

2. 离线安装

1. 私有镜像仓库安装方式

  • 根据官方文档,可为containerd接入私有镜像仓库。https://docs.rke2.io/zh/install/private_registry
  • 但是接入之前需要把所需版本的rke2-images.linux-amd64.txt中的镜像都push到仓库中,版本v1.32.1所需基础镜像如下
docker.io/rancher/rke2-runtime:v1.32.1-rke2r1
docker.io/rancher/hardened-kubernetes:v1.32.1-rke2r1-build20250115
docker.io/rancher/hardened-coredns:v1.12.0-build20241126
docker.io/rancher/hardened-cluster-autoscaler:v1.9.0-build20241126
docker.io/rancher/hardened-dns-node-cache:1.24.0-build20241211
docker.io/rancher/hardened-etcd:v3.5.16-k3s1-build20241106
docker.io/rancher/hardened-k8s-metrics-server:v0.7.2-build20250110
docker.io/rancher/hardened-addon-resizer:1.8.22-build20250110
docker.io/rancher/klipper-helm:v0.9.3-build20241008
docker.io/rancher/klipper-lb:v0.4.9
docker.io/rancher/mirrored-pause:3.6
docker.io/rancher/mirrored-ingress-nginx-kube-webhook-certgen:v1.5.0
docker.io/rancher/nginx-ingress-controller:v1.12.0-hardened2
docker.io/rancher/rke2-cloud-provider:v1.32.0-rc3.0.20241220224140-68fbd1a6b543-build20250101
docker.io/rancher/mirrored-sig-storage-snapshot-controller:v8.2.0
docker.io/rancher/hardened-calico:v3.29.1-build20250110
docker.io/rancher/hardened-flannel:v0.26.3-build20250108
  • 也可以直接下载RKE2 github release中提供的镜像包rke2-images.linux-amd64.tar.gz,使用docker load批量导入镜像。
  • 下载安装脚本,运行安装脚本,安装RKE2。
  curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_CHANNEL=v1.32.1 sh -

2. artifacts目录安装方式

  • 从 releases 页面将安装脚本、rke2、rke2-images 和 sha256sum 存档下载到一个目录中,使用INSTALL_RKE2_ARTIFACT_PATH参数挂载目录安装
mkdir /root/rke2-artifacts && cd /root/rke2-artifacts/
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://https://rancher-mirror.rancher.cn/rke2/install.sh --output install.sh
INSTALL_RKE2_ARTIFACT_PATH=/root/rke2-artifacts sh install.sh

部署Kube-OVN

1. RKE2默认CNI插件

RKE2默认只支持以下CNI插件

  • Canal CNI plugin
  • Cilium CNI plugin
  • Calico CNI plugin
  • Flannel CNI plugin

如果要使用其他CNI框架可修改配置文件/etc/rancher/rke2/config.yaml,将cni改为none

# /etc/rancher/rke2/config.yaml
cni: none

Kube-OVN

  • Kube-OVN的部署详见【Kube-OVN——安装&部署】