准备工作可查看
MacOS M1 虚拟机VMware部署CentOS7搭建k8s集群(保姆级教程)(一)创建虚拟机并连接
现在开始搭建集群
注:本文章参考自Kubernetes篇(二)— 集群环境搭建
目录
注意,非特殊说明,就代表需要三台设备都执行,可以使用批量发送功能
一、环境初始化
1.检查操作系统版本
# 此方式下安装kubernetes集群要求Centos版本要在7.5或之上
# 查看系统版本
cat /etc/centos-release
# 查看内核版本
uname -sr
可以批量发送,后面就不贴图了
2.主机名解析
为了方便调用,配置一下主机名解析,企业中推荐用内部DNS服务器
# 增加hosts解析
cat >>/etc/hosts <<EOF
192.168.3.210 master
192.168.3.211 node1
192.168.3.212 node2
EOF
可以ping主机名测试一下
3.时间同步
kubernetes要求集群中的节点时间必须精确一致,这里直接使用chronyd服务从网络同步时间。
企业中建议配置内部的时间同步服务器
# 启动chronyd服务
systemctl start chronyd
# 设置chronyd服务开机自启
systemctl enable chronyd
# chronyd服务启动稍等几秒钟,就可以使用date命令验证时间了
date
可以看到时间一致了
4.禁用iptables和firewalld服务
kubernetes和docker在运行中会产生大量的iptables规则,为了不让系统规则跟它们混淆,直接关闭系统的规则。注意:生产环境关掉firewalld要慎重
# 1 关闭firewalld服务
systemctl stop firewalld
systemctl disable firewalld
# 2 关闭iptables服务
systemctl stop iptables
systemctl disable iptables
当前这个系统没有iptables,所以显示无此服务
5.禁用selinux
selinux是linux系统下的一个安全服务,如果不关闭它,在安装集群中会产生各种各样的奇葩问题
# 将 SELinux 设置为 permissive 模式,即从强制模式修改为宽容模式(相当于将其禁用)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
通过查看可以看到确实config已经被修改
# 查看/etc/selinux/config
cat /etc/selinux/config
这里注意,如果把SELINUX改成SELINUX=disabled,会导致待会重启之后无法正常登录。
6.禁用swap分区
swap分区指的是虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用。
启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备。
但是如果因为某些原因确实不能关闭swap分区,就需要在集群安装过程中通过明确的参数进行配置说明。
# 临时关闭,主机重启后k8s无法自动重启,需要重新关闭swap
swapoff -a
# 永久关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab
可以看到这个地方被注释掉了,也就永久关闭了。
cat /etc/fstab