工具:Kubernetes:部署工具之一:Rancher Server

tlin82大约 3 分钟DevOps工具DevOpsk8s工具

想了解一下k8s快速部署集群的工具都有哪些,哪个更省力省时。

介绍

通过网上了解到,Kubernetes集群部署工具有很多,主要有:

  • Minikube (只适合个人测试)
  • Kubeadmin (Kubernetes官方的command-line工具)
  • RKE (Rancher出品的轻量部署工具)
  • Rancher Server (Rancher的集群部署/管理)

比较和倾向

  • 除了MinuKube, 其他3个可以用于生产环境部署Kubernetes;
  • Kubeadmin 和RKE好像只能用于本地基础架构下部署Kubernetes,不支持Cloud Infrastructure Provider,例如AWS云等。
  • Rancher Server 支持Cloud Provider也支持本地裸金属服务器上部署;且有Web UI

所以如果自建Kubernetes,个人比较倾向使用Rancher Server来部署Kubernetes,比较快速。

使用Rancher Server

安装部署Rancher Server

Rancher Server 可以Docker形式部署在Kubernetes之外,也可以二进制部署。

使用Rancher Server 创建集群

  1. 需要规划好集群。比如选择集群网络插件,集群规模。一般生产环境建议使用3个etcd节点起步(奇数个etcd)。
  2. 在每个节点上安装好操作系统;
  3. 在每个节点上安装好必备软件环境(Docker等)

注意

所有节点上的Docker版本保持一致。如果是虚拟机,可以克隆成模板使用.

  1. 在每个节点上配置好防火墙(或是关闭);
  2. 在Rancher Server上创建集群,生成集群配置。
  3. 在每个节点上执行Rancher Server上生成的配置命令,注册加入,类似:
curl -fL https://my-rancher-server/system-agent-install.sh | sudo  sh -s - --server https://my-rancher-server --label 'cattle.io/os=linux' --token 94dmz8db447rhqx2hm82v96vwl8wvdtvcd77mgb2t9mcmcl2n7mcth --ca-checksum 1aabd46120eb41ab0b20a088ccc7b327c79aaf2cc9ed64c2a9ced335c7ec349a --etcd --controlplane --worker

提示

Rancher Server除了支持裸金属服务器和vSphere虚拟环境上部署,也支持 AWS/Azure/Google云主机节点上创建集群;

其他

  • 关于自建K8s还是使用云服务商

除了自己部署Kubernetes外,也可以选择成品Kubernetes,。像AWS,阿里云都有自己的Kubernetes产品,不需要用户自己部署,升级和部署都很省时省力。

一些部署最佳实践

  • 建议 ETCD 节点使用 SSD 硬盘。ETCD 对写入延迟非常敏感。因此,尽可能地使用 SSD 磁盘。
  • 扩容ETCD增加节点前,确保ETCD集群状态是健康的。否则可能导致ETCD集群各节点间数据不一致。

##参考

https://ranchermanager.docs.rancher.com/zh/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/node-requirements-for-rancher-managed-clustersopen in new window