在主机搭建时,选择了一主三从的配置,需要4台服务器,这里学习使用了虚拟机来完成,使用VMware安装4台centos虚拟机,本文详细记录了安装过程及初始环境的配置
虚拟机系统为centos7,镜像下载地址https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2207-02.iso
首先,使用VMware创建新的虚拟机,直接下一步
选择稍后安装系统
选择linux centos7
命名虚拟机并选择位置,这里我已经安装过master的系统了,4台服务器系统的安装过程一样,直接拿这个参考就行
分配磁盘大小50G
自定义硬件
内存修改到2GB
处理器分配两个核心
完成
编辑虚拟机指定iso镜像文件
进入虚拟机回车开始安装
选择简体中文
软件选择基础设施服务器
安装源选择本地介质
安装位置里选择自动配置分区
配置网络和主机名
修改主机名
开始安装
设置root密码
等待安装完成重启进入系统即可,4台虚拟机都是相同的操作
这里推荐一个远程工具MobaXterm,可同时操作多台服务器,使用这个工具可以大量的节省我们的时间https://mobaxterm.mobatek.net/download-home-edition.html
# kubernetes集群要求centos版本在7.5或以上
[root@master ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# 编辑三台服务器/ets/hosts文件,增加以下内容
192.168.145.100 master
192.168.145.101 node1
192.168.145.102 node2
# 启动chronyd服务
[root@master ~]# systemctl start chronyd
# 设置chronyd服务开机自启
[root@master ~]# systemctl enable chronyd
#chronyd服务启动稍等几秒钟,就可以使用date命令验证时间了
[root@master ~]# date
2023年 04月 29日 星期六 11:30:27 CST
可以观察下多台服务时间是否一致
4. 禁用iptables和firewalld服务
kubernets和docker在运行中会产生大量的iptables规则,为了不让系统规则跟它们混淆,直接关闭系统的规则,生产环境中慎重操作
# 关闭firewalld服务
[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl disable firewalld
# 关闭iptables服务
[root@master ~]# systemctl stop iptables
[root@master ~]# systemctl disable iptables
# 编辑/etc/selinux/config文件,修改SELINUX的值为disabled
# 注意修改完毕之后需要重启linux服务
SELINUX=disbled
# 编辑分区配置文件/etc/fstab,注释调swap分区一行
# 注意修改完毕之后需要重启linux服务
/dev/mapper/centos-root / xfs defaults 0 0
UUID=3f5b742e-2dd9-42cd-87fd-e7ff787eb1e8 /boot xfs defaults 0 0
# /dev/mapper/centos-swap swap swap defaults 0 0
# 修改linux的内核参数,添加网桥过滤和地址转发功能
# 添加并编辑/etc/sysctl.d/kubernetes.conf文件,添加如下配置:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
# 重新加载配置
[root@node2 ~]# sysctl -p
# 加载网桥过滤模块
[root@node2 ~]# modprobe br_netfilter
# 查看网桥过滤模块是否加载成功
[root@node2 ~]# lsmod | grep br_netfilter
br_netfilter 22256 0
bridge 151336 1 br_netfilter
# 安装ipset和ipvsadm
[root@master ~]# yum install ipset ipvsadmin -y
# 添加需要加载的模块写入脚本文件
[root@master ~]# cat <<EOF > /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
# 为脚本文件添加执行权限
[root@master ~]# chmod +x /etc/sysconfig/modules/ipvs.modules
# 执行脚本文件
[root@master ~]# /bin/bash /etc/sysconfig/modules/ipvs.modules
# 查看对应的模块是否加载成功
[root@master ~]# lsmod | grep -e ip_vs -e nf_conntrack_ipv4
nf_conntrack_ipv4 15053 0
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
ip_vs_sh 12688 0
ip_vs_wrr 12697 0
ip_vs_rr 12600 0
ip_vs 145458 6 ip_vs_rr,ip_vs_sh,ip_vs_wrr
nf_conntrack 139264 2 ip_vs,nf_conntrack_ipv4
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack
[root@master ~]# reboot
启动完毕后,验证上述操作是否生效
# 验证selinux
[root@node1 ~]# getenforce
Disabled
# 验证swap分区
[root@node1 ~]# free -m
total used free shared buff/cache available
Mem: 1819 154 1484 9 180 1515
Swap: 0 0 0
至此,虚拟机安装及环境初始化完毕