官网教程:https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/quick-start-guide/
注意:rancher2.0 是以k8s作为编排工具的
1 下载运行rancher(负责在UI界面上部署K8s):
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
2 访问URL(注意是https,443端口要开放):
https:IP
2.1 填入默认密码
2.2 填入服务器IP,这里可以填内网IP(用于与其他主机通信)
2.3 点击添加集群
2.4 勾选几种角色后复制命令,点击完成
2.5 在其他主机上运行复制的命令
注意:至少保证主机集群里有一个主机角色有etcd和Control2种。所以最好是一台主机的角色是etcd 和 Control,其他主机是work节点。(我总共2台主机测试,一台主机上2核8G内存,装了rancher,还同时有3种角色,另一台主机work角色)
3 rancher配置私服
例如我创建了一个demo集群,在default里部署了一个服务
这个服务需要从私服里pull镜像,我们需要在这个default项目里添加镜像仓库:
输入镜像Url,用户名密码等
将部署的服务(此时服务肯定不会运行成功)删除重新部署(所以尽量在创建集群后先设置镜像仓库,如果先部署了服务,还是会报异常说不能pull镜像)
注意:
1 如果是在default的项目里,就一定要在该项目里配置镜像仓库(当时因为配错了地方,花了很多时间弄,但是也知道了k8s拉取镜像仅仅通过主机上docker login不行,要通过配置secret)。
2 rancher的work节点主机上,部署了k8s相关的docker容器,pull镜像虽然是放在我们主机上,但是不是说我们主机上能pull就可以(和我们主机上pull私服镜像不一样,但k8s和rancher最后镜像都是能在主机上看到的(docker images))
我们可以去看k8s的官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ 。k8s拉取私服镜像需要配置 secret ,我们在rancher上配置镜像库凭证,相当于rancher帮我们在 k8s上配置了secret。
k8s拉取私服镜像的多种方法: