最近,由于项目需求,研究了Rancher这款优秀的Kubernetes集群管理工具。毫无疑问,它的使用体验非常出色,既简单易上手,同时也在生产环境中表现强劲。我收集了一些相关资料,分享下帮助大家快速上手!本文会先聊聊在本地测试环境中,如何使用rancher快速搭建K8S集群环境。

首先是,Rancher官方的介绍

ranchermanager.docs.rancher.com

Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。
Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。

Rancher搭建

想本地测试部署真的很简单,使用docker 一键部署, 即可拥有你的Rancher实例(参考官方文档ranchermanager.docs.rancher.com

docker run -d --restart=unless-stopped \

打开浏览器页面访问URL https://localhost:443, 获取初始密码就可以登录Rancher UI啦

有了Rancher之后,下一步我们做什么呢?‍‍‍‍‍

K8S部署

作为K8S管理工具,Rancher既提供了让我们创建新集群的方式,也支持我们导入已创建的K8S集群。我们就先来介绍下怎么用Rancher快速部署K8S集群吧!‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

环境配置

由于是在本地测试,我计划使用3台VM来搭建本地K8S集群(一台master节点,两台worker节点),可以借助Vagrant快速启动我的实验环境!‍

– master 10.37.129.10 安装docker, kubectl

– worker-1 10.37.129.11 安装docker

– worker-2 10.37.129.12 安装docker

Vagrant 具体配置如下:

接着运行 vagrant up , 3台网络互通的VM就启动成功啦!

准备好虚机后, 下一步就可以开始开搞K8S集群啦!

Rancher配置

从Rancher的管理界面点击Create选择自定义然后进入集群的配置, 这次我们会选择部署RKE1集群(RKE1可理解是Rancher发行的K8S版本,具体RKE1 vs RKE2 vs K3S的 区别, 会在之后的文章介绍)

填上Cluster Name, 其他配置基本上按照默认即可(例如网络插件等等,默认选择Canal)

点击下一步:

这里可以看到Rancher为我们提供了RKE部署的相关命令,我们照着分别运行在我们的节点上就好啦!

创建RKE集群

首先,对于K8S集群来说,master节点运行着kubeapischeduler等关键组件,需要被先创建出来,过程如下:

在上图配置页面,我们勾选上etcdcontrolplane 以及worker三个选项,复制如下docker命令

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  rancher/rancher-agent:v2.8.0 --server https://10.37.129.3 --token f2tlbmmngglbx5rtlkzr7bb56gbkttztkg59rst4v2h9j6lwcx7rhr --ca-checksum 3545033d9cc350245a0a976d815ce9b10c51ff55167555f32b39c14776679386 --etcd --controlplane --worker

在我们本地VM master节点上运行

运行成功后,会发现K8S controlplane相关组件会以docker容器的方式部署在节点上

接着我们只勾选worker选项

在worker-1、worker-2 节点上运行如下命令

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  rancher/rancher-agent:v2.8.0 --server https://10.37.129.3 --token f2tlbmmngglbx5rtlkzr7bb56gbkttztkg59rst4v2h9j6lwcx7rhr --ca-checksum 3545033d9cc350245a0a976d815ce9b10c51ff55167555f32b39c14776679386 --worker

这样我们就通过Rancher成功创建一个k8s集群,是不是很简单!!

打开Rancher UI,我们来查看下集群创建的状态

可以在Workload中查看Pod相关状态

Rancher使用

通过Rancher部署的集群,你会发现我们可以很轻松地管理K8S相关资源,创建部署、监控等等,甚至Rancher内置了很多插件,比如istioprometheus等等让你一键部署到你的集群中

下一篇,我会继续介绍下如何使用Rancher在AWS云上部署K8S集群,实现生产级别的使用体验!

原文关注“云原生SRE”