centos7.5部署rancher2
在上一节部署minikube的基础上继续部署rancher到环境中前言rancher简单理解就是一个管理k8s集群的界面工具,其可以管理各种环境下面的k8s集群。集成k8s有多种方式,其官网给的是案装程序中自动案装一个k8s集群。笔者尝试这种方式的时候失败了,其还有一种方式是直接导入现有的k8s集群,这种方式比较简单,也比较容易理解,本次实验使用的就是导入鲜有的k8s集群的方式。...
在上一节部署minikube的基础上继续部署rancher到环境中
前言
rancher简单理解就是一个管理k8s集群的界面工具,其可以管理各种环境下面的k8s集群。
集成k8s有多种方式,其官网给的是案装程序中自动案装一个k8s集群。笔者尝试这种方式的时候失败了,其还有一种方式是直接导入现有的k8s集群,这种方式比较简单,也比较容易理解,本次实验使用的就是导入鲜有的k8s集群的方式。
部署过程
1.启动rancher服务
启动rancher管理模块。这个比较简单,rancher管理模块直接被打包成一个镜像,使用镜像启动rancher的server容器就可以。
$ docker run -d --restart=unless-stopped -v /opt/rancher/data/:/var/lib/rancher/ -p 80:80 -p 443:443 rancher/rancher:stable
这里容易出现的问题是镜像下载失败,笔者从dockerhub官网下载的时候曾经出现ahentication request的错误提示,提示我需要授权。
笔者配置了国内的镜像加速器,采用国内的镜像加速器手动下载了rancher镜像。然后再启动rancher容器。这里的版本号是stable,不是具体的版本号,其封版后对应的版本号应该为v2.2.8。
2.导入现有的k8s集群到rancher中
安装完后,rancher的访问是
https://ip
其中ip为rancher安装的宿主机的机器IP,笔者安装rancher的虚拟机IP为10.0.0.94,
打开后,页面会提示要输入默认管理员账号admin的密码,输入密码后,点击continue
然后提示rancher服务端的地址,这里保留默认值,点击Save进入下一步。
下一步后进入到一个cluster的列表页面,由于系统中还没有添加任何k8s集群,这里是空白的,提示要添加k8s集群。
点击右上方或者下方的add cluster进入添加k8s集群页面。
进入添加页面后,默认的是安装谷歌的GKE集群。这里我们添加集群的方式是导入现有k8s集群,要选择右侧的
import existing cluster。
默认为添加GKE集群:
选择导入现有集群:
为集群输入一个name,然后点击create。
这里的页面提示要在安装的k8s集群上执行命令。
本次实验笔者的minikube和rancher都是安装在同一台机器上,即IP10.0.0.94机器上。
如果是minikube与rancher不是安装在同一台集群上,或者k8s集群是多节点的集群,则需要在minikube机器上或者多节点集群中可以执行kubectl命令的机器上输入页面提示的命令。
第一条命令是权限绑定,后面的USER_ACCOUNT需要查看kubeconfig文件中的账号,这里为minikube.
第二条命令是添加集群到rancher中,第二条执行可能会报错,可以用第三条命令代替第二条命令。
笔者这里直接执行第一条命令和第三条命令安装。
切换到minikube宿主机的命令行终端,执行以下命令:
$ kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user minikube
$ curl --insecure -sfL https://10.0.0.94/v3/import/ldk2594788vt47fjk4pz8vwmbl7mxqd522kqbvrqxt5zhlqvsgdgwz.yaml | kubectl apply -f -
执行完命令后切换回页面,点击Done完成添加,进入集群详情页面。这时候集群并没有马上加加入到rancher中,需要等待
一段时间才能完全加入到rancher中。
这个地方也很容易出现一个问题是拉取镜像失败,页面一致提示集群在pending状态。
可以通过如下方式检查:
$ kubectl get pod -n cattle-system
如果显示pod的状态为ErrImgPull或者其他异常状态,一般就是镜像没有拉取成功导致。如果遇到这种情况,可以先通过命令查看pod中下载的镜像:
$ kubectl describe pod xx -n cattle-system
其中xx替换为pod的ID。查看其下载的image是多少,手动将pod下载的镜像下载下来,然后将有问题的pod删除。
这个时候deployment会使用的本地的镜像重新创建pod。
等待一段时间以后,集群会加入到rancher,这个时候页面显示集群的信息:
后台显示rancher相关的pod也是正常:
$ kubectl get pod -n cattle-system
至此,minikube集群就加入到rancher中。
更多推荐
所有评论(0)