Rancher是什么
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。
为什么需要Rancher
在原来, 如果我们需要做一个分布式集群我们需要学习一全套的框架并编码实现如 服务发现, 负载均衡等逻辑, 给开发者造成很大的负担, 不过好在现在有Docker以及他周边的一些技术能在上层解决这些问题, 而应用该怎么开发就怎么开发.当你选择使用Docker技术栈的时候, 会发现在生产环境中不光光是 docker run
就能解决的. 还需要考虑比如docker之间的组网, 缩扩容等问题, 于是你去学习kubernetes, 发现好像有点复杂啊, 有没有更傻瓜化一点的? 那就是rancher了.
使用Rancher
官方文档https://www.cnrancher.com/quick-start/
rancher-server
rancher-server 主要负责图形化管理主机容器, 并且储存用户的数据(账号, 主机信息, 应用(task)等).他是一个管理者, 管理工作机应该启动什么容器.
启动
上一篇文章已经做好了安装有docker的基础环境,先复制出一个用来运行rancher-server的虚拟机
选择完全复制
我这里已经复制出了三个虚拟机,rancher安装rancher-servernode1,node2作为节点安装rancher-server
先启动rancher虚拟机,无窗口运行
VBoxManage.exe startvm rancher --type headless
运行容器
sudo docker run -d -v <主机路径>:/var/lib/rancher/ --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable
docker ps查看 服务已经启动
Rancher Server容器启动很快速,不到一分钟你就可以通过https://<server_ip>
访问Rancher UI。一旦Rancher Server成功安装,用户界面将指导你添加第一个集群
rancher web管理页面
我的地址是192.168.8.17添加集群
我是虚拟机,选择custom
上面三个选项都选上。
然后我们来启动刚刚复制的另外两台节点虚拟机,node1,node2
.\VBoxManage.exe startvm node2 --type headless
.\VBoxManage.exe startvm node1 --type headless
在virtualBox管理界面可以看到这两台虚拟机的ip分别为 192.168.8.94,192.168.8.165
用xshell登录先 node1(没有顺序区别)
然后将执行之前生成的命令
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.6 --server https://192.168.8.17 --token l8lnfnj4rxjkfcnxschhc6nnkzj442wqxps7pfhwhbd8w96v9tq8dp --ca-checksum 23432f5fa98c5904062d5e5094ab2c83f3dec4a5aa97c392dfd46f00c65b7ecd --etcd --controlplane --worker
提示一台主机注册完成。后面就可以用来部署服务了。