其他分享
首页 > 其他分享> > 【K8s生产环境】集群节点操作系统配置要求

【K8s生产环境】集群节点操作系统配置要求

作者:互联网

OS版本:Ubuntu 18.04 LTS

确保每个节点上 MAC 地址和 product_uuid 的唯一性

禁用交换分区

sudo swapoff -a
sudo sed -i 's/.*swap.*/#&/' /etc/fstab

允许 iptables 检查桥接流量

确保 br_netfilter 模块被加载。这一操作可以通过运行 lsmod | grep br_netfilter 来完成。若要显式加载该模块,可执行 sudo modprobe br_netfilter。

为了让你的 Linux 节点上的 iptables 能够正确地查看桥接流量,你需要确保在你的 sysctl 配置中将 net.bridge.bridge-nf-call-iptables 设置为 1。例如:

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

配置Docker容器运行时(可选)

1.配置 Docker 守护程序,尤其是使用 systemd 来管理容器的 cgroup。

sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "data-root": "/mnt/docker-data",
  "storage-driver": "overlay2"
}
EOF

说明:对于运行 Linux 内核版本 4.0 或更高版本,或使用 3.10.0-51 及更高版本的 RHEL 或 CentOS 的系统,overlay2是首选的存储驱动程序。

2.重新启动 Docker 并在启动时启用:

sudo systemctl enable docker
sudo systemctl daemon-reload
sudo systemctl restart docker

启用IPVS必要模块(kube-proxy使用IPVS代理模式时)

# 安装IPVS管理工具
sudo apt-get install -y ipset ipvsadm
# 启用模块
sudo modprobe ip_vs
sudo modprobe ip_vs_rr
sudo modprobe ip_vs_wrr
sudo modprobe ip_vs_sh
sudo modprobe nf_conntrack_ipv4
# 开机启动模块
cat <<EOF | sudo tee /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
EOF

安全配置

cat <<EOF | sudo tee /etc/security/limits.d/k8s.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft memlock  unlimited
* hard memlock  unlimited
EOF

标签:操作系统,ip,sudo,cat,vs,模块,modprobe,K8s,节点
来源: https://www.cnblogs.com/varden/p/15121978.html