rancher部署k8s分布式集群.docx
rancher部署k8s集群
1.准备工作
服务器准备:至少3台Linux主机(推荐Ubuntu/CentOS),配置建议:
2核CPU、4GB内存(最低要求)
磁盘空间:20GB+(系统盘+数据盘)
节点角色规划:
ControlPlane(Master)节点:运行kube-apiserver、kube-scheduler、kube-controller-manager等。
Worker节点:运行应用容器。
Etcd节点:存储集群状态(生产环境建议独立部署,至少3个节点)。
网络要求:
节点间内网互通,开放端口:6443?(KubernetesAPI)、2379-2380?(etcd)、8472?(FlannelVXLAN)、10250?(kubelet)等。
2.安装RancherServer
RancherServer是集群的管理平台,需先部署:
2.1使用Docker快速启动(适合测试环境)
sudodockerrun-d--namerancher--restart=unless-stopped\
-p80:80-p443:443\
--privileged\
rancher/rancher:latest
访问?https://服务器IP,根据提示设置管理员密码和RancherURL。
2.2高可用部署(生产环境)
参考官方文档使用Helm在Kubernetes上部署Rancher:
RancherHAInstallation
3.创建Kubernetes集群
3.1登录RancherDashboard
访问RancherWeb界面,进入?ClusterManagement?-?CreateCluster。
3.2选择集群类型
CustomCluster:手动配置节点(推荐自定义部署)。
云厂商托管集群(如AWSEKS、GKE等,需配置云凭证)。
3.3配置集群参数
ClusterName:自定义集群名称(如?my-k8s-cluster)。
KubernetesVersion:选择版本(推荐稳定版,如?v1.24.x)。
NetworkProvider:选择网络插件(Calico/Flannel/Canal)。
AdvancedOptions:
开启Ingress、MetricsServer、Monitoring等插件。
4.添加节点到集群
4.1生成节点注册命令
在Rancher界面,选择?CustomCluster?后,会生成一段注册命令,例如:
sudodockerrun-d--privileged--restart=unless-stopped\
--net=host\
-v/etc/kubernetes:/etc/kubernetes\
-v/var/run:/var/run\
rancher/rancher-agent:v2.6.3\
--serverhttps://RANCHER_SERVER_IP\
--tokenTOKEN\
--ca-checksumCA_CHECKSUM\
--etcd--controlplane--worker
根据节点角色调整参数:
--etcd:Etcd节点
--controlplane:ControlPlane节点
--worker:Worker节点
4.2在节点上执行命令
在每台节点上运行对应的命令(需提前安装Docker):
#安装Docker
curl-fsSLdocker|shsudosystemctlenabledocker--now
5.验证集群状态
返回RancherDashboard,检查集群节点状态是否为?Active。
通过kubectl验证:
#在Rancher界面下载kubeconfig文件
kubectlgetnodes-owide
kubectlgetpods-A
6.常见问题
节点无法加入集群
检查防火墙规则是否开放必要端口。
确保节点时间同步(使用NTP服务)。
查看节点日志:journalctl-udocker-f
网络插件故障
若Pod间无法通信,检查Calico/Flannel日志:
kubectllogs-nkube-systemcalico-pod-name
7.扩展操作
添加新节点:在集群页面生成新命令,复制到新节点执行。
升级集群:通过Rancher界面升级Kubernetes版本。
备份与恢复:使用RancherBackup工具或手动备份etcd。
总结
Rancher简化了Ku