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

  這樣,就不怕重啟后要做一系列的操作了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM