搭建k8s最方便的办法就是通过rancher,能节省很多时间和减少繁琐的操作,下面我们来通过rancher搭建k8s集群。

新建4台虚拟机
虚拟机配置,cpu至少2核

host主机名CPU内存
192.168.75.128k8s-rancher22G
192.168.75.129k8s-master22G
192.168.75.130k8s-node124G
192.168.75.131k8s-node224G

k8s-rancher用来搭建rancher,建议rancher机器和master机器不要是同一台,以免影响集群性能和稳定性

一、4台虚拟机安装docker:

1、先停止4台虚拟机防火墙,并禁止开机自启:
systemctl stop firewalld
systemctl disable firewalld

2、vim /etc/selinux/config
修改SELINUX为:SELINUX=disabled
在这里插入图片描述

3、然后重启虚拟机,可直接执行reboot命令重启虚拟机,需要root权限。
4、安装最新docker:

安装所需的工具包:

yum install -y yum-utils device-mapper-persistent-data lvm2

配置docker的安装源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

然后安装docker

yum install -y docker-ce 

在这里插入图片描述

安装完后执行docker --version查看docker版本
在这里插入图片描述

启动docker并设置成开机自启动:

systemctl start docker
systemctl enable docker

二、Rancher安装:

然后在rancher的机器上启动rancher

1、创建映射目录
mkdir -p /root/rancher/rancher
mkdir -p /root/rancher/auditlog

在这里插入图片描述

2、启动rancher
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /root/rancher/rancher:/var/lib/rancher -v /root/rancher/auditlog:/var/log/auditlog --name rancher rancher/rancher:stable

在这里插入图片描述

docker ps查看启动结果
在这里插入图片描述

上发现状态是Restarting,说明启动有问题,先瞅瞅日志,下面CONTAINER ID换成你们自己的容器ID。

docker logs c3dec4868a6b

在这里插入图片描述

报错日志提示需要特权,添加参数–privileged重新启动。(如果没报错,可以跳过此步骤)
先停掉容器,然后删除容器,下面CONTAINER ID换成你们自己的容器ID。

docker stop c3dec4868a6b
docker rm c3dec4868a6b

在这里插入图片描述

删除后添加特权参数重启

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /root/rancher/rancher:/var/lib/rancher -v /root/rancher/auditlog:/var/log/auditlog --privileged --name rancher rancher/rancher:stable

启动后我们执行docker ps查看状态是已经启动成功了。

在这里插入图片描述

三、k8s集群搭建:

1、然后我们通过浏览器打开rancher页面,https://192.168.75.128

在这里插入图片描述

设置好密码后进入集群管理页面https://192.168.75.128/g/clusters
在这里插入图片描述

然后新建集群
在这里插入图片描述
在这里插入图片描述

给集群取个名称
在这里插入图片描述

2、Master节点搭建:

先搭建master,切记master不要勾选worker(如果资源是实在不够或者部署pod较少可勾选)
在这里插入图片描述

然后复制下面的搭建命令,然后我们去master的机器上执行命令。
在这里插入图片描述

当运行完成后,后台会自动去拉取k8s镜像以及初始化,下面操作node节点。

3、node1,node2节点搭建:

然后2个node节点只勾选worker,复制后在node1和node2上执行。
在这里插入图片描述

k8s-node1:
在这里插入图片描述

k8s-node2:
在这里插入图片描述

执行好后等集群初始化完成。时间会比较长,因为要拉取镜像。
在这里插入图片描述

在master节点上执行docker images会发现拉取了很多镜像,等node1和node2都拉取完后就搭建完了。
在这里插入图片描述

页面点击nodes查看各节点信息,master节点已经好了。Node节点还在拉镜像。
在这里插入图片描述

所有节点都active后,集群就搭建完成了,然后我们拷贝config文件到master机器。后续通过kubectl命令行工具操作集群和部署pod。
在这里插入图片描述

4、集群config文件拷贝:

点击cluster,然后点击kubeconfig File。
在这里插入图片描述

点击复制
在这里插入图片描述

然后去master机器创建文件 ~/.kube/config ,将复制的config内容写在~/.kube/config里面。
~/为当前用户目录。
.kube是隐藏文件,执行ll -a查看或者ls -la查看。
在.kube文件里新建config文件,将上面复制的kubeconfig File信息粘贴到config里,然后保存退出。
在这里插入图片描述
在这里插入图片描述

5、Kubectl工具安装:

然后我们在master机器上安装kubectl工具:

wget https://storage.googleapis.com/kubernetes-release/release/v1.19.1/bin/linux/amd64/kubectl

如果被墙了,可以从这下载:
https://download.csdn.net/download/qq_25591191/17805854

将下载的kubectl 工具复制到/usr/bin/目录下

cp kubectl /usr/bin/

给kubectl添加执行权限

chmod +x /usr/bin/kubectl

在这里插入图片描述

然后执行kubectl get node -owide 查看集群node信息。
在这里插入图片描述

到此,我们的k8s集群就搭建完成了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐