问题描述
该笔记将记录:通过 RKE 快速部署 Kubernetes Cluster 的流程,以及相关问题的解决方案。
解决方案
参考 Rancher Docs/RKE Kubernetes Installation 文档,以获取详细的部署及维护细节,该笔记仅包含部署过程的概述。
第一步、准备节点
配置 Kernel 参数:
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sudo sysctl --system
安装 Docker 服务:Docker 20.10.1
第二步、安装工具
安装 RKE 命令:rke_linux-amd64 v1.3.15
第三步、定义配置
Upgrade from k8s v1.23 to v1.24 fails due to restarting kubelet. · Issue #38160 · rancher/rancher
通过 rke config 命令,来创建集群(按照提示填写参数即可):
# rke config --name cluster.yml [+] Cluster Level SSH Private Key Path [~/.ssh/id_rsa]: [+] Number of Hosts [1]: 5 ...
# vim cluster.yaml ... ... enable_cri_dockerd: true ...
补充说明:
1)定义多个 control-plane 节点,则当通过 RKE 部署集群时会自动部署高可用。
其他常用命令:
// 查看 rke 支持 Kubernetes Cluster 版本: # rke config --list-version --all v1.18.20-rancher1-3 v1.19.16-rancher2-1 v1.22.13-rancher1-1 v1.23.10-rancher1-1 v1.21.14-rancher1-1 v1.24.4-rancher1-1 v1.20.15-rancher2-2 // 查看相关镜像的版本 # rke config --system-images --version v1.22.13-rancher1-1 INFO[0000] Generating images list for version [v1.22.13-rancher1-1]: rancher/mirrored-coreos-etcd:v3.5.3 rancher/rke-tools:v0.1.87
第四步、启动集群
# rke up ... INFO[0200] Finished building Kubernetes cluster successfully # kubectl --kubeconfig ./kube_config_cluster.yml get nodes NAME STATUS ROLES AGE VERSION 192.168.160.121 Ready controlplane,etcd 20m v1.24.4 192.168.160.122 Ready controlplane,etcd 20m v1.24.4 192.168.160.123 Ready controlplane,etcd 20m v1.24.4 192.168.160.124 Ready worker 20m v1.24.4 192.168.160.125 Ready worker 20m v1.24.4
第五步、后续工作
注意保留 cluster.rkestate cluster.yml kube_config_cluster.yml 三个文件,以用于后续的集群维护及部署;
补充说明
关于其高可用实现的方式
Control Plane 01 <---- ---<-- Nginx Proxy <----- Worker 01 / Kubelet \ / Control Plane 02 <------<-----<-- Nginx Proxy <----- Worker 02 / Kubelet / \ Control Plane 03 <---- ---<-- Nginx Proxy <----- Worker 03 / Kubelet
参考文献
rancher/rke: Rancher Kubernetes Engine (RKE)…
Rancher Docs: Upgrades
Putting up a Rancher Kubernetes Cluster on Bare Metal | by Greg Grubbs | Medium