说明
因为内容确实比较多,所以单独用一篇来写 操作系统的环境准备还是有必要的
有些是非必须的, 有些是为了私有化部署的内容, 选择性使用;
虚拟机准备
之前部署使用过虚拟机, 恢复虚拟机快照, 并设置内存大小为 3G, 操作系统为 centos7;
不过目前环境没有再在用;
|
|
通用系统环境初始化
内网 yum 源配置
先上传内网 yum 源配置文件, 再更新仓库
yum clean all && yum repolist
安装基础包
yum install -y bash-completion tcpdump
时间同步
指定内部 ntp server
|
|
内部 dns 服务器
就不再需要每个节点都维护 hosts 文件了;
注意在内网 dns 解析配置上, 把所有主机都加上, 初始化集群时需要
echo ’nameserver 10.2.1.5’ » /etc/resolv.conf
内网 日志 服务器
集中日志存储, 避免来回多主机查看系统日志
|
|
私有 CA 证书更新
因为这个私有环境中业务层有大量使用 tls, 所以提前放置内部的私有CA 证书;\
/etc/pki/ca-trust/source/anchors/cwxCA.pem
update-ca-trust
操作系统配置优化
文件打开数优化
echo “* - nofile 102400” » /etc/security/limits.conf
===
k8s 环境专有的系统配置优化
更新内核
更新操作系统内核版本 kernel-core-5.4.225-200.el7.x86_64,
默认内核版本是 3.x, 可以直接使用 centos 的扩展源拉取新版本包;
更新 libseccomp
因为 el7 的包太旧, 所以这里用 el8 的包;
libseccomp-2.5.2-1.el8.x86_64.rpm 包;
防火墙
此处为了方便直接停了, 实际可以不停止, 信任相关主机段地址, 或者开放个别端口也可以的;
|
|
selinux
此处是直接关了, 早期兼容性不好; 目前看文档说是 k8s 和 selinux 的兼容性已经很好了, 但不确定运行时和 selinux的兼容性, 所以如果启用了, 需要注意观察;
|
|
关闭 swap
早期版本需要彻底关闭 swap, 目前新版本已经兼容 swap 了;
但是如果开启, 需要单独配置 kubelet, 还需要测试确认, 比较麻烦, 推荐还是关闭好了;
sysctl -w vm.swappiness=0
swapoff -a
然后把 fstab 里面的 swap 给注释了
安装 ipset 和 ipvsadm
因为后面 proxy 会采用 ipvs 模式, 所以此处提前安装 ipset 和 lvs 的用户态管理工具;
yum install -y ipset ipvsadm
配置防火墙模块
配置网桥转发
将桥接的 IPv4 流量传递到 iptables 的链; 让 iptable 能看到桥接的流量
|
|
这里的配置主要目的是将二层的流量转到 iptables, 因为默认 iptable 只处理三层的包;
|
|
载入 ipset 和 ipvsadm 模块
注意升级内核后才是 nf_conntrack 模块, 没有升级是另外一个名字
|
|
配置 PATH
|
|
重启主机
可选, 实际没必要
reboot