CentOS7 部署K8S集群成功后,重启就不能用了???k8s环境自启动

Posted coderlinkf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 部署K8S集群成功后,重启就不能用了???k8s环境自启动相关的知识,希望对你有一定的参考价值。

如题,踩了一堆坑后,终于把项目部署到k8s,但是每次重启,都要初始化???不科学啊,找了一堆资料,记录下踩坑过程:

一、准备工作

  如果你的项目还没在k8s环境下部署成功,建议看看其他几篇文档:

  1、安装虚拟机:https://www.cnblogs.com/CoderLinkf/p/12393993.html

  2、集群部署:https://www.cnblogs.com/CoderLinkf/p/12395710.html

  3、项目部署:https://www.cnblogs.com/CoderLinkf/p/12408589.html

二、问题说明

  我们在部署项目的时候发现一个问题,部署完k8s,机子重启后,需要关闭防火墙,swap,重置k8s环境,重新安装,并且重新将node join进来。情况就是在使用kubectl get nodes时出现6443端口占用

技术图片

 

 

 查看状态,发现没有运行,于是,开始找解决方法

三、解决问题

  1、关闭防火墙(不安全的做法),但是,每次重启,防火墙也开启,所以彻底关掉它

systemctl stop firewalld.service
systemctl disable firewalld.service

  2、关闭防火墙之后,既然是不安全的做法,我们来使用iptables配置规则:

  yum install iptables -y

  yum install iptables-services

  安装成功技术图片

 

  接下来,配置规则,编辑文件

  vi /etc/sysconfig/iptables

  技术图片

  这里说一下文件,一般简单配置开放端口,就是按端口顺序在

  -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

  上下添加配置,连续的端口可以使用“:”号,比如,100:200表示一百到两百间的端口,100:表示一百以上的端口,:200表示两百以下端口,贴出配置,master节点:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 2379:2380 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 6443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10250:10255 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 30000:32767 -j ACCEPT

  node节点:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10250:10255 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 30000:32767 -j ACCEPT

  然后执行,保存,启动

service iptables save
systemctl start iptables.service
systemctl enable iptables.service

  3、设置swap关闭

    需要关闭交换内存

    swapoff -a

    修改/etc/fstab文件

vi /etc/fstab

  将文件中的/dev/mapper/centos-swap swap swap defaults 0 0这一行注释掉

  vi /etc/sysctl.d/k8s.conf

   添加一行

vm.swappiness=0

  执行

sysctl -p /etc/sysctl.d/k8s.conf

  4、让kubelet自启

最后,在master,node节点中,都要让kubelet自启

  systemctl start kubelet

    systemctl enable kubelet

  这样,就不怕重启后要做一系列的操作了

以上是关于CentOS7 部署K8S集群成功后,重启就不能用了???k8s环境自启动的主要内容,如果未能解决你的问题,请参考以下文章

云原生centos7搭建安装k8s集群 v1.25版本详细教程实战

Ubuntu下搭建Kubernetes集群--k8s部署

centos7下的k8s+dashboard集群部署---环境准备及docker部署

k8s-踩坑篇2-服务器重启后重启集群

K8S简介+CentOS7 部署K8S集群

centos7下的k8s+dashboard集群部署---k8s部署