设置系统默认内核
查看系统上的所有内核版本:
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
设置默认内核为我们刚才升级的内核版本
备份
cp /etc/default/grub /etc/default/grub-bak
设置默认内核版本
grub2-set-default 0
编辑/etc/default/grub
vi /etc/default/grub
将GRUB_DEFAULT=saved修改为GRUB_DEFAULT=0
重新创建内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
查看默认内核
grubby --default-kernel grub2-editenv list
效果如下:
更新软件包并重启
yum makecache reboot
效果如下:
初始化
安装K8S之前需要对系统进行一些设置,比如 关闭防火墙,selinux,swap,设置主机名,ip解析,时间同步 。
关闭防火墙
通过ansible把三台机器的防火墙关闭,并设置开机不启动。执行如命令:
ansible k8s -m shell -a "systemctl stop firewalld" ansible k8s -m shell -a "systemctl disable firewalld"
关闭selinux
通过ansible把三台机器的selinux永久关闭,执行如命令:
ansible k8s -m shell -a "sed -i 's/enforcing/disabled/' /etc/selinux/config"
关闭swap
执行swapoff -a 临时关闭,通过修改/etc/fstab文件实现永久关闭。执行如下命令
ansible k8s -m shell -a "sed -ri 's/.*swap.*/#&/' /etc/fstab"
修改主机名
分别对三台主机进行主机名的修改,通过图形页面直接修改更快,效果如下:
也可以执行如下的命令进行修改:
根据规划设置主机名【k8s-master节点上操作】
hostnamectl set-hostname k8s-master
根据规划设置主机名【k8s-node1节点操作】
hostnamectl set-hostname k8s-node1
根据规划设置主机名【k8s-node2节点操作】
hostnamectl set-hostname k8s-node2
修改hosts文件
在master节点上修改hosts文件,根据规划进行修改,命令如下:
sudo nano /etc/hosts
然后添加以下内容,如下:
192.168.122.130 k8s-master1 192.168.122.131 k8s-node1 192.168.122.132 k8s-node2
保存并退出nano编辑器,命令为Ctrl+X,输入Y确认保存,按Enter键,然后可以通过ping或者ssh命令测试hostname是否生效,例如:
ping k8s-master1 ssh k8s-node1
将桥接的IPv4流量传递到iptables的链
在/etc/sysctl.d/目录上新增k8s.conf,内容如下:
# 允许桥接设备对 IPv6 进行 iptables 调用 net.bridge.bridge-nf-call-ip6tables = 1 # 允许桥接设备对 IPv4 进行 iptables 调用 net.bridge.bridge-nf-call-iptables = 1 # 开启 IPv4 转发功能 net.ipv4.ip_forward = 1
把该文件拷贝到其他两台机器上,如下:
ansible k8s -m copy -a "src=/etc/sysctl.d/k8s.conf dest=/etc/sysctl.d/k8s.conf"
执行 sysctl --system命令使配置生效,代码如下:
ansible k8s -m shell -a "sysctl --system"
配置时间同步
使用yum命令安装ntpdate,如下:
ansible k8s -m shell -a "yum install ntpdate -y"
配置NTP网络时间同步服务器地址为 ntp.aliyun.com,执行如下命令:
ansible k8s -m shell -a "ntpdate ntp.aliyun.com"