![云原生Kubernetes全栈架构师实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/167/47217167/b_47217167.jpg)
上QQ阅读APP看书,第一时间看更新
1.2 内核配置
为了集群的稳定性和兼容性,生产环境的内核最好升级到4.18版本以上,本示例将升级到4.19版本。
Master01下载离线包:
![](https://epubservercos.yuewen.com/27A31B/26581513401334806/epubprivate/OEBPS/Images/Figure-P26_132543.jpg?sign=1738788118-itkJwua5MiPKVHi2G4LBemmLllGl2rTi-0-fc9a05a854a5a600177a1ac11849782d)
将安装包从Master01节点传到其他节点:
![](https://epubservercos.yuewen.com/27A31B/26581513401334806/epubprivate/OEBPS/Images/Figure-P26_132544.jpg?sign=1738788118-cDqhJW4Om2BfQbSZPBjYaQgiPXo5sks1-0-b52529eb18d69b667a3e998378642188)
所有节点安装内核:
# cd /root && yum localinstall -y kernel-ml*
所有节点更改内核启动顺序:
![](https://epubservercos.yuewen.com/27A31B/26581513401334806/epubprivate/OEBPS/Images/Figure-P26_132545.jpg?sign=1738788118-YuY17VtnO3pLArYmglyD3jmbXckajOY8-0-4d6ddbd24cbdb46a4fc115a83f56bd26)
所有节点检查默认内核是不是4.19:
# grubby --default-kernel /boot/vmlinuz-4.19.12-1.el7.elrepo.x86_64
所有节点重启,然后检查内核是不是4.19:
![](https://epubservercos.yuewen.com/27A31B/26581513401334806/epubprivate/OEBPS/Images/Figure-P26_132547.jpg?sign=1738788118-icceymWG2m3Rrwmz9GROe3lgIO31VjoK-0-26c5808a718a5b32a8d1f6a827631722)
所有节点安装ipvsadm和ipset:
# yum install ipvsadm ipset sysstat conntrack libseccomp -y
所有节点配置ipvs模块,在内核4.19+版本nf_conntrack_ipv4已经改为nf_conntrack,4.18以下版本使用nf_conntrack_ipv4即可:
# vim /etc/modules-load.d/ipvs.conf # 加入以下内容 ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_fo ip_vs_nq ip_vs_sed ip_vs_ftp ip_vs_sh nf_conntrack # 4.18改为nf_conntrack_ipv4 ip_tables ip_set xt_set ipt_set ipt_rpfilter ipt_REJECT ipip
然后执行systemctl enable --now systemd-modules-load.service即可。
开启一些K8s集群中必需的内核参数,所有节点配置K8s内核:
# cat <<EOF > /etc/sysctl.d/k8s.conf net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 fs.may_detach_mounts = 1 net.ipv4.conf.all.route_localnet = 1 vm.overcommit_memory=1 vm.panic_on_oom=0 fs.inotify.max_user_watches=89100 fs.file-max=52706963 fs.nr_open=52706963 net.netfilter.nf_conntrack_max=2310720 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_probes = 3 net.ipv4.tcp_keepalive_intvl =15 net.ipv4.tcp_max_tw_buckets = 36000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_max_orphans = 327680 net.ipv4.tcp_orphan_retries = 3 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.ip_conntrack_max = 65536 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_timestamps = 0 net.core.somaxconn = 16384 EOF # sysctl --system
所有节点配置完内核后,重启服务器,保证重启后内核依旧加载:
# reboot # lsmod | grep --color=auto -e ip_vs -e nf_conntrack