kubernetes集群搭建

kubernetes集群搭建

最近由于实验室项目需要搭建kuberbetes集群,参考了很多文章,踩了很多坑,花了很长时间才搭建好,这里分享一下,免得更多的人踩坑。
1.安装步骤:
(1)准备工作(每个节点都要做)
第一步:设定各阶段时间精确同步
用date命令查看三个节点的时间,如果不同步直接启动chronyd服务,并设定开机启动
systemctl start chronyd.service
systemctl enable chronyd.serrvice

第二步:配置节点域名,使用hosts文件设置节点域名解析
Mastar节点:
hostnamectl set-hostname master
Node节点:
hostnamectl set-hostname node01
hosts文件如下:
其中192.168.50.101与192.168.50.102分别是master与node01的IP地址,并设在同一网段
第三步:关闭各节点的iptables或firewalld服务,并禁止开机启动
systemctl stop firewalld.service
systemctl stop iptables.service
systemctl disable firewalld.service
systemctl disable iptables.service

第四步:禁用各节点的SELinux
用命令getenforce查看,如果结果不是Disabled输入命令:setenforce 0

第五步:各节点禁用swap
用命令free -m查看swap项是否为0, 如果非零则修改配置文件 vi /etc/fstab将带有swap类型的设备注释掉。
如果不禁用的话后面初始化节点时可以强行忽略。

(2)安装k8s(每个节点都要做)
在/etc/yum.repos.d/目录下运行vi kubernetes.repo
在这里插入图片描述
接下来初始化集群需要下载相关镜像,由于墙的原因国外k8s镜像库无法下载,所以需要在国内镜像库拉取镜像后再更改标签。执行kubeadm config images list可以获取Kubeadm初始化需要的镜像。
在这里插入图片描述
(3)启动k8s
对于master节点:
在这里插入图片描述
除了使用使用官网https://github.com/coreos/flannel提供的配置文件进行Flannel的安装,如果wget不下来的话,可以从github查找flannel.yml文件。(我们在contos服务器上wget不下来,但是在windows系统却可以得到,然后复制过去。)

对于node节点
初始化node01节点
这里只需要把前面join的代码复制到node01节点上运行就可以使node节点加入到mster的集群。
join后可在master上查看所有节点状态,如果节点状态都为ready说明已成功搭建好k8s集群。

由于在服务器上面搭建,所以本文的有些图片是从网上获取。
搭建主要的坑有:
1.hosts文件要编辑正确
2.初始化集群需要下载相关镜像,我们是采用从阿里云镜像库拉取的办法,可以参考https://www.jianshu.com/p/aac137b8a022
3.重新init或者join时会有报错,需要运行kubeadm reset这条命令还原当前节点上 kubeadm init 或者 kubeadm join 所做的所有更改
4.我们在服务器init时,主机会自动分配到接了外网路由器的网口,需要断开外网,只打开与node节点连接的网口。而且网口之间存在冲突,至今还没有解决,可能是IP地址设置问题。
5.最大的坑是我们有一台服务器join的时候一直没能加入集群,查找了很多文章和方法一直没能解决。后面我们将master与node节点位置对换之后,发现这台服务器init不了。可以使用journalctl -xeu kubelet查看到该node端上运行的pod的日志情况。发现我们是大页内存的配置存在问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值