一、什么是rke2?
1.rke2是Rancher的下一代k8s发行版,
二、与rke的不同
1.重要的是,RKE2 不像 RKE1 那样依赖 Docker。RKE1 利用 Docker 来部署和管理控制平面组件以及 Kubernetes 的容器运行时间。RKE2 将控制平面组件作为静态 pod 启动,由 kubelet 管理。嵌入的容器运行时是 containerd。
三、安装步骤
1.Server-控制平面
curl -sfL https://get.rke2.io | sh -
#国内加速的
curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh -
需要root用户。
systemctl enable rke2-server.service
systemctl start rke2-server.service
2.worker-业务节点
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -
国内的:
curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_TYPE="agent" sh -
systemctl enable rke2-agent.service
mkdir -p /etc/rancher/rke2/
vim /etc/rancher/rke2/config.yaml
server节点执行:
cat /var/lib/rancher/rke2/server/node-token
token替换下面的 <token frem server node>,server 为rke2 server节点ip或者可以解析到的主机名
server: https://<server>:9345
token: <token from server node>
启动worker节点
systemctl start rke2-agent.service
四、额外配置-重点!!
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
##配置你访问k8s集群的凭证,默认是~/.kube/config,用这个环境变量会覆盖掉默认值。
内核优化,不然pod会报错:
Wicked
Wicked 根据 sysctl 配置文件(例如 /etc/sysctl.d/
目录下)配置主机的网络设置。即使 RKE2 正在将 /net/ipv4/conf/all/forwarding
之类的参数设置为 1,但是只要重新应用网络配置(有几个事件会导致网络配置重新应用以及 rcwicked 在更新期间重启),Wicked 就可以恢复该配置。因此,在 sysctl 配置文件中启用 ipv4(和双栈情况下的 ipv6)转发非常重要。例如,建议创建一个名为 /etc/sysctl.d/90-rke2.conf
的文件,文件包含以下参数(仅在双栈下才需要 ipv6):
net.ipv4.conf.all.forwarding=1
net.ipv6.conf.all.forwarding=1