Rancher部署k8s
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。本文记录Rancher部署k8s的过程。
1. 基本环境
本文基于Ubuntu 16.04部署 Rancher,首先需要安装好 Docker。
刚开始部署 Rancher 时,因为 Ubuntu 20.04 已经更新很久了都没有使用过,所以就尝试了用 Ubuntu 20.04来部署。但是在部署过程中一直不成功,仔细检查了一下才发现 Docker 针对 Ubuntu 20.04 只提供了 Docker 19.0.x 版本,官方下载链接中不支持其他的低版本。最后只能选择 Ubuntu 16.04 来部署(至于如何在 Ubuntu 20.04 上安装更低版本的后面再尝试了)。
支持的Docker版本:
- 17.03.x
- 18.06.x
- 18.09.x
安装 Docker 首先设置存储库:
更新
apt
软件包索引并安装软件包以允许apt
通过HTTPS使用存储库:1
2
3
4
5
6
7
8$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common添加Docker的官方GPG密钥:
1
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用以下命令来设置稳定的存储库。
1
2
3
4$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安装DOCKER引擎:
要安装特定版本的 Docker Engine,请在存储库中列出可用版本,然后选择并安装:
1
2
3
4
5
6$ apt-cache madison docker-ce
docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages更新
apt
程序包索引,并安装指定版本的Docker Engine和容器,或转到下一步以安装特定版本:1
2$ sudo apt-get update
$ sudo apt-get install docker-ce=5:18.09.1~3-0~ubuntu-xenial docker-ce-cli=5:18.09.1~3-0~ubuntu-xenial containerd.io将当前用户加入 docker 用户组,下次登陆后执行 docker 命令可不加 sudo:
1
$ sudo usermod -aG docker $USER
2. 安装Rancher
执行以下命令安装 Rancher server:
1 | $ docker run -d --restart=unless-stopped -v <主机路径>:/var/lib/rancher/ -p 80:80 -p 443:443 rancher/rancher:stable |
3. 登录Rancher,并创建集群
稍等片刻之后,可以使用主机的 IP 在浏览器中登录 Rancher UI,并创建集群。参考链接:登录Rancher。
4. 复制向集群添加主机
接着在前端界面的主机角色选项中勾选 etcd
以及 Control
,然后复制添加主机的命令到对应的主机中执行:
1 | $ sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.5 --server https://192.168.184.129 --token hhkvrndn7lktsmz6fxnjw9jltppq5w6ttt466rbmzsr7pwxktjq6hr --ca-checksum fc92e9aa8d072c2e2731a34d9242bb71e8abcee3b059c6c6bcddd685acbd16b1 --etcd --controlplane --worker |
这个过程中需要下载较多 docker 容器镜像,需要等待较长时间。
5. 部署工作负载
这个也可以参考链接:部署工作负载,这里就不截图展示了。
6. 删除 Rancher
可使用一下脚本删除:
1 |
|
不仅要删除相关的容器,还需要删除对应的 docker volume,以及其他的一些配置,最后重启主机,之后才能重新运行新的 Rancher 平台。
6. 总结
在我多次尝试之后,发现 Docker 是关键,包括 Docker 的版本以及对应的镜像源,都对 Rancher 的成功部署有重要的影响。
在基本的 Docker 环境没有问题之后,用过 Rancher 来管理 Kubernetes 真的是太简单了。