准备工作

修改主机名

每台主机修改为环境说明中的hostname,并解析到每台的/etc/hosts文件中

  • 设置主机名

hostnamectl set-hostname <hostname>
  • 添加hosts

cat >> /etc/hosts << EOF
192.168.166.52 chrony-server
192.168.166.170 k8s-master-1
192.168.166.156 k8s-master-2
192.168.166.46 k8s-master-3
192.168.166.251 k8s-node-1
192.168.166.53 k8s-node-2
192.168.166.117 k8s-node-3
192.168.166.192 etcd-1
192.168.166.15 etcd-2
192.168.166.82 etcd-3
EOF

升级内核版本(所有主机)

k8s,docker,cilium等很多功能、特性需要较新的linux内核支持,所以有必要在集群部署前对内核进行升级。

  • 载入公钥

  • 安装ELRepo

  • 安装新版本的kernel

  • 删除旧版本工具包

  • 安装新版本工具包

  • 选择默认启动内核

默认启动的顺序是从0开始,新内核是从头插入,所以需要选择0。

  • 重启并检查

chrony 时间同步

在安装k8s集群前需确保各节点时间同步;chrony 是一个优秀的 NTP 实现,性能比ntp好,且配置管理方便;它既可作时间服务器服务端,也可作客户端。

chrony-server安装配置

1)卸载原有的ntp服务

2)安装chrony服务

3)配置 chrony server

/etc/chrony.conf 配置以下几项,其他项默认值即可

  1. 配置时间源

  2. 配置允许同步的客户端网段

    我这里允许所有,可以结合实际情况,具体配置

  3. 配置离线也能作为源服务器

4)启动chrony服务

5)验证配置

  • 在 chrony server 检查时间源信息,默认配置为ntp1.aliyun.com的地址:

  • 在 chrony server 检查时间源同步状态

chrony-client安装配置

1)卸载原有的ntp服务

2)安装chrony服务

3)配置chrony client

/etc/chrony.conf 配置

清除所有其他时间源,只配置一个本地chrony server节点作为源

4)启动chrony服务

5)验证配置

  • 在 chrony client 检查,可以看到时间源只有一个(groups.chrony[0] 节点地址)

验证时间同步状态完成

chrony 服务启动后,chrony server 会与配置的公网参考时间服务器进行同步;server 同步完成后,chrony client 会与 server 进行时间同步;一般来说整个集群达到时间同步需要几十分钟。可以用如下命令检查,初始时 NTP synchronized: no,同步完成后 NTP synchronized: yes

设置基础操作系统软件和系统参数

1)删除centos默认安装

2)安装基础软件包

3)关闭selinux:

4)优化设置 journal 日志相关,避免日志重复搜集,浪费系统资源

编辑/etc/rsyslog.conf文件,注释掉下面内容

重启rsyslog服务

5)关闭swap:

6)加载内核模块

7)启用systemd自动加载模块服务

8)增加内核模块开机加载配置

9)设置系统参数

10 )设置系统 ulimits

11) 把SCTP列入内核模块黑名单

Last updated

Was this helpful?