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. 私有镜像仓库安装方式
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——安装&部署】