使用rancher2.3.6
构建 kubernets
集群
作者:lizhonglin
github: https://github.com/Leezhonglin/
blog: https://leezhonglin.github.iocsdn-blog:https://blog.csdn.net/qq_33196814
一、准备工作
1.准备3台「centosos7」
系统的机器.
1 | 10.0.0.110 rancher-1 #1 为了下面文章好用,进行的编号. |
2.docker
安装源
1).设置每台机器的docker
源.
1 | yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo |
2).在每台机器上面安装docker
.
安装 Docker Engine-Community
,下面的命令默认安装最新版本的docker
.
1 | yum install -y docker-ce docker-ce-cli containerd.io |
安装好docker之后可以使用查看docker版本。
1 | docker version |
实例:
1 | [root@k8s-master-1 ~]# docker version |
3.修改每台机器的主机名称和hosts
1).修改主机名称.
使用vim
打开/etc/hostname
文件.编辑成自己需要的主机名称修改保存即可.
2).修改每台机器的hosts
文件 .
使用vim
打开/etc/hosts
文件.编辑文件写下如下内容:
1 | 10.0.0.110 k8s-master-1 |
4.设置防火墙
1). 如果是实验环境可以关闭防火墙.
1 | 关闭防火墙开机启动 |
2).如果是生产环境建议开启防火墙,对项目需要使用的所有端口开放即可。
开放端口的命令:
1 | firewall-cmd --zone=public --add-port=80/tcp --permanent |
--zone
:作用域--add-port=80/tcp
:添加端口,格式为:端口/通讯协议--permanent
:永久生效,没有此参数重启后失效
重启防火墙:
1 | firewall-cmd --reload |
5.修改每台机器的docker
仓库地址配置.
使用vim
打开/etc/docker/daemon.json
文件.如果没有这个文件就新建一个.
1 | { |
在
registry-mirrors
中可以添加镜像源地址.
insecure-registries
:是自己的私有仓库地址.这个是自己提前确定好的地址.
6.安装好后启动docker
.
1 | 设置为开机启动 |
7.拉取镜像
1 | docker pull registry:latest |
8.创建本地镜像仓库
1).首先在1号机器上面创建一个存放镜像的文件夹,来用做本地镜像仓库。
1 | mkdir /usr/local/docker_registry |
2).启动本地镜像仓库
1 | docker run -d -p 5000:5000 --name=local_registry --restart=always -- privileged=true -v /usr/local/docker_registry:/var/lib/registry registry |
-p 5000:5000
:端口
--name=local_registry
:运行的容器名称
--restart=always
:自动重启 :centos7
中的安全模块selinux
把权限禁止了,加上这行是给容器增加执行权限.
-v /usr/local/docker_registry:/var/lib/registry
: 把的/usr/local/docker_registry
:目录挂载到registry
容器的/var/lib/registry
目录下, 假如有删除容器操作,我们的镜像也不会被删除
registry
: 镜像名称
docker
常用基本操作:
1 | 查看本地镜像: |
二、安装rancher
1).拉取rancher
镜像 我这里的版本的2.3.6
1 | docker pull rancher/rancher:stable |
2).启动rancher
.
1 | docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /docker_volume/rancher_home/rancher:/var/lib/rancher -v /docker_volume/rancher_home/auditlog:/var/log/auditlog --name rancher rancher/rancher:stable |
3).查看rancher是否启动.
1 | docker ps -a |
示例:
1 | [root@k8s-master-1 ~]# docker ps -a |
状态是Up
.说明就启动成功了.
就可以通过浏览器访问了
1 | https://10.0.0.110 |
会提示你设置密码。我这里都使用的是admin
.
[这步可以不做,也可以提前做好,如果不拉取的话rancher安装的时候也会自动拉取相关镜像的,如果拉取了安装会快一些.]然后分别在2,3号机器上面拉取rancher
相关镜像.如下图
4).使用rancher添加集群
根据自己的实际情况选择和填写相关信息.
点击下一步按照节点来购选:
master节点
node节点:
分别对应不同的节点拷贝不通的命令取对于的节点执行。执行后如果没有拉取上面的镜像就需要等待一段时间让集群启动起来。如果已经拉取了上面的镜像,应该很快就能够启动起来。集群启动成功后如下图:
查看
如果是下图这样的话:
这个样rancher添加集群就已经启动成功.
三、安装过程问题解决
1).安装过程中遇到了问题一,三个服务器时间不同步的问题。
1 | [etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy |
需要在每台服务器上面安装一个服务器时间同步工具
1 | yum install ntp ntpdate -y |
选择一台服务器作为时间同步服务器,我这里选择的是10.0.0.110
使用vim
打开/etc/ntp.conf
文件
添加:
1 | restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap |
如下图:
其他服务器上面添加:
1 | server 10.0.0.110 prefer |
修改完成后,分别在每台服务器上面执行:
1 | systemctl restart ntpd |
再在非 10.0.0.110
的其他服务上面执行
1 | ntpq -p |
会看见如下所示的内容,说明成功了.
1 | [root@k8s-node-1 ~]# ntpq -p |
到此为止。在重新按照[安装rancher]
的步骤重新安装就可以安装成功了。