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

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

原文地址:https://www.cnblogs.com/CoderLinkf/p/12410749.html

时间: 2024-08-02 00:45:55

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

CentOS7部署Kubernetes集群

CentOS7部署Kubernetes集群 简介 Kubernetes是什么? Kubernetes一个用于容器集群的自动化部署.扩容以及运维的开源平台. 通过Kubernetes,你可以快速有效地响应用户需求: a.快速而有预期地部署你的应用 b.极速地扩展你的应用 c.无缝对接新的应用功能 d.节省资源,优化硬件资源的使用 我们希望培育出一个组件及工具的生态,帮助大家减轻在公有云及私有云上运行应用的负担. Kubernetes特点: a.可移植: 支持公有云,私有云,混合云,多重云(mult

centos7部署postgresql集群高可用 patroni + etcd 之patroni篇

实验环境:centos7.4纯净版 postgres版本: 9.6.15 etcd版本:3.3.11 patroni版本: ip规划 192.168.216.130 node1 master 192.168.216.132 node2 slave 192.168.216.134 node3 slave etcd集群部署请看上一篇文章:https://www.cnblogs.com/caidingyu/p/11408389.html postgres部署参考文章:https://www.cnblo

Centos7部署Kubernetes集群+flannel

centos7 部署Kubernetes+flannel https://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html kubernetes集群部署DashBoard http://www.cnblogs.com/zhenyuyaodidiao/p/6500897.html 原文地址:http://blog.51cto.com/lookingdream/2094162

centos7部署ceph集群(正确)

环境介绍 主机名 系统 ip地址 ceph版本 ceph-node1 CentOS Linux release 7.2.1511 192.168.1.120 jewel ceph-node2 CentOS Linux release 7.2.1511 192.168.1.121 jewel ceph-node3 CentOS Linux release 7.2.1511 192.168.1.128 jewel 准备工作 ◆ 1-7在三台ceph节点上都需要进行操作 ◆ 8只在ceph1操作即可

记二进制搭建k8s集群完成后,部署时容器一直在创建中的问题

gcr.io/google_containers/pause-amd64:3.0这个容器镜像国内不能下载容器一直创建中是这个原因 在kubelet.service中配置 systemctl daemon-reload systemctl restart kubelet 重新部署应用发现一切搞定 原文地址:https://www.cnblogs.com/java-le/p/11135606.html

Centos7部署kubernetes集群CA证书创建和分发(二)

1.解压软件包 [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# ls k8s-v1.10.1-manual.zip [[email protected] src]# unzip k8s-v1.10.1-manual.zip [[email protected] src]# cd k8s-v1.10.1-manual [[email protected] k8s-v1.10.1-manual]# cd k8s-v

centos7部署etcd集群

实验环境:centos7.4纯净版 192.168.216.130 node1 master 192.168.216.132 node2 slave 192.168.216.134 node3 slave yum安装etcd yum install etcd yum list installed |grep -i etcd node1 etcd 配置 cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak cd /etc/etcd/ [[email prot

k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法

问题说明: 一个POD里放了百个容器,然后让K8S集群部署上百个POD,得到可运行上万个容器的实验目的. 实验环境:3台DELL裸机服务器,16核+64G,硬盘容量忽略吧,上T了,肯定够. 1.一开始运行5000多个容器的时候(也就50个POD),集群部署后,10几分钟就起来了,感觉还不错. 2.增加压力,把50个POD增加到100个POD,感觉也不会很长时间,都等到下班后又过了半个小时,还是没有起来,集群链接缓慢,使用kubect里面的命令,好久都出不来信息,UI界面显示服务器超时. 心想,完

k8s集群架构及基本操作

首先在k8s集群中要知道有两个部署工具:kubeadm:自动化部署k8s集群的工具.kubectl: k8s命令行工具,用于接收用户输入的指令. kubernetes是由什么组成的? 在硬件级别,一个kubernetes集群由很多节点组成,这些节点被分成以下两种类型: 主节点:它承载着kubernetes控制和管理整个集群系统的控制面板 工作节点: 它们运行用户实际部署的应用. 控制面板(master) 控制面板用于控制集群并使它工作.它包含多个组件,组件可以运行在单个主节点上或者通过副本分别部