CentOS 8.2 对k8s基础环境配置( 二 )

6 基础依赖安装由于服务器最小化安装 , 需要安装一些常用的依赖和工具 , 否则后面安装可能会报错
# 安装 epel 源[root@localhost yum.repos.d]# yum -y install epel-release[root@localhost yum.repos.d]# yum clean all33 files removed[root@localhost yum.repos.d]# yum makecache# 安装常用依赖yum -y install gcc glibc gcc-c++ make cmake net-tools screen vim lrzsz tree dos2unix lsof \tcpdump bash-completion wget openssl openssl-devel bind-utils traceroute \bash-completion glib2 glib2-devel unzip bzip2 bzip2-devel libevent libevent-devel \expect pcre pcre-devel zlib zlib-devel jq psmisc tcping yum-utils device-mapper-persistent-data \lvm2 git device-mapper-persistent-data bridge-utils container-selinux binutils-devel \ncurses ncurses-devel elfutils-libelf-devel ack# 升级服务器yum -y update注意:yum 安装出错 , 看最后一个报错标题里面找 。
7 配置时间同步本地或者自建服务器都需要配置时间同步 , 如果是云服务器由于本身就有对应云的时间同步机制 , 不需要配置
echo "# 互联网时间同步" >> /var/spool/cron/rootecho "*/5 * * * * /usr/sbin/ntpdate time2.aliyun.com >/dev/null 2>&1" >> /var/spool/cron/root9 互相免密Master 节点执行以下操作
ssh-keygen -t rsa# 定义 master 列表MASTER_LIST=(192.168.192.10192.168.192.30)# 配置免密登录for i in ${MASTER_LIST[@]};dossh-copy-id -i /root/.ssh/id_rsa.pub root@$idone# yes# 输入密码10 内核升级在 Kubernetes 的 Github 仓库中:

  • https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.25.md
有提到关于内核版本的问题:
  • Faster mount detection for linux kernel 5.10+ using openat2 speeding up pod churn rates. On Kernel versions less 5.10, it will fallback to using the original way of detecting mount points i.e by parsing /proc/mounts.
  • 这意味着内核 5.10 版本以后会使用 openat2 进行更快的挂载检测 , 所有可以将内核升级到 5.10 以后 , 但没必要最新 。
  • 这里使用的是 5.11.16 版本 , 更新于 2021 年 4 月 。如果想安装其它版本可以去下面网站下载:http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/
创建用于存放安装包并下载
mkdir -p /opt/software/kernelcd /opt/software/kernelwget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.11.14-1.el7.elrepo.x86_64.rpmwget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-5.11.14-1.el7.elrepo.x86_64.rpm执行安装
yum localinstall -y kernel-ml*# 设置内核启动顺序grub2-set-default0 && grub2-mkconfig -o /etc/grub2.cfg# 查看默认内核grubby --default-kernel注意:CentOS 8.2 对以上内核升级需要安装各种依赖 。
CentOS 7.9 升级内核 kernel-ml-5.6.14版本:https://www.cnblogs.com/huaxiayuyi/p/16788084.html
Centos 8.2 升级内核通过elrepo源:https://www.cnblogs.com/huaxiayuyi/p/16794239.html
8 系统优化对系统打开文件数进行修改 , 提升性能
cat >> /etc/security/limits.conf << EOF# 打开文件优化配置* soft nofile 655360* hard nofile 655350* soft nproc 655350* hard nproc 655350* soft memlock unlimited* hard memlock unlimitedEOFcat /etc/security/limits.conf11 加载模块ipvs模块配置
kube-proxy开启ipvs的前置条件
  • 原文:https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/ipvs/README.md
  • 参考:https://www.qikqiak.com/post/how-to-use-ipvs-in-kubernetes/
创建配置文件
内核 4.19+版本 nf_conntrack_ipv4 已改为 nf_conntrack  , 4.18以下使用 nf_conntrack_ipv4即可 。
安装 ipvsadm , 节点通信需要用到 LVS , 所有需要安装 ipvsadm 。ipset 和 ipvsadm (便于查看 ipvs 的代理规则)

经验总结扩展阅读