zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    ssh: connect to host port 22: Connection refused
    mysql安装出现 conflicts with mysql*的解决办法
    Linux 搭建互信后,仍需要密码验证
    正则表达式的小技巧
    基础的正则表达式与re模块(2)
    包的导入
    import模块
    模块的导入
    logging 模块
    hashlib 模块
  • 原文地址:https://www.cnblogs.com/CoderLinkf/p/12410749.html
Copyright © 2011-2022 走看看