1.准备环境
三台centos7.9的虚拟机,4G内存,1cpu2核
每台虚拟机都做如下操作,为后续操作提供便利
# 查看网卡
ip a
# 配置ip
nmcli connection modify (网卡) ipv4.method manual ipv4.addresses (自己想要的ip/掩码) ipv4.gateway (网关ip) ipv4.dns 223.5.5.5 autoconnect yes
nmcli connection up (网卡)
主机名设置:按照下面信息设置主机名
master节点: master
node节点: node1
node节点: node2
# 配主机名
hostnamectl set-hostname (主机名)
su - # 切换更新
2.环境初始化(三台服务器都需要配置)
2.1 检查操作系统的版本
[root@master ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2.2 主机名解析
# 编辑三台服务器的/etc/hosts文件,添加下面内容
192.168.171.101 node1
192.168.171.102 node2
192.168.171.103 master
# ip看自己配置的写
2.3 时间同步
kubernetes要求集群中的节点时间必须精确一致,这里直接使用chronyd服务从网络同步时间。
# 安装chrony
[root@master ~]# yum install chrony
# 修改配置文件
[root@master ~]# vim /etc/chrony.conf
server ntp1.aliyun.com iburst
# 启动chronyd服务
[root@master ~]# systemctl start chronyd
# 设置chronyd服务开机自启
[root@master ~]# systemctl enable chronyd
# chronyd服务启动稍等几秒钟,就可以使用date命令验证时间了
[root@master ~]# date
2.4 禁用iptables和firewalld服务
# 1 关闭firewalld服务
[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl disable firewalld
[root@master ~]# firewall-cmd --state
not running
# 2 关闭iptables服务 有些没有此项服务
[root@master ~]# systemctl stop iptables
[root@master ~]# systemctl disable iptables
2.5 禁用selinux
selinux是linux系统下的一个安全服务,如果不关闭它,在安装集群中会产生各种各样的奇葩问题
# 编辑 /etc/selinux/config 文件,修改SELINUX的值为disabled
# 注意修改完毕之后需要重启linux服务
SELINUX=disabled
或者:
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
setenforce 0
[root@master ~]# sestatus
SELinux status: disabled
2.6 禁用swap分区
swap分区指的是虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用 启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备
# 编辑分区配置文件/etc/fstab,注释掉swap分区一行
# 注意修改完毕之后需要重启linux服务
UUID=fe398b83-5394-4ba3-85f1-91c1f387b806 /boot xfs defaults 0 0
# /dev/mapper/centos-swap swap swap defaults 0 0
2.7 升级操作系统内核
# 导入elrepo gpg key
[root@master ~]# rpm --import https://www.elrepo.org/RPM-G