配置K8s部署环境

- Linux系统默认开启的SELinux安全机制会阻止容器网络部分端口的启用,导致无法正常部署
虚拟化 场景业务。这是Linux OS本身的行为,鲲鹏BoostKit虚拟化使能套件并不对此提供的详细解决方案。如果客户想在自己的系统中使用SELinux,则需要自行寻找解决方法。 - 针对此限制,我们提供了快速的禁用SELinux的方法。鲲鹏BoostKit虚拟化使能套件中,提供的SELinux配置方法仅供参考,需用户自行评估并承担相应风险。
- 禁用SELinux可能会导致安全问题,如果客户最终的解决方案本身就没有规划启用SELinux,建议通过端到端的整体方案来弥补SELinux关闭带来的风险,且需自行承担安全风险。如果客户有SELinux的需求,建议根据实际的SELinux问题进行细粒度的规则配置,并保证整个系统的安全。
管理节点和计算节点都需要配置K8s部署环境。
操作步骤
- 关闭防火墙。
systemctl stop firewalld && systemctl disable firewalld
- 关闭selinux。
setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
- 关闭交换分区。
- 临时关闭交换分区。
swapoff -a
- 注释掉“/etc/fstab”中的swap。
vi /etc/fstab #/dev/mapper/centos-swap swap swap defaults 0 0
- 临时关闭交换分区。
- 验证交换分区是否关闭。
cat /proc/swaps
预期结果如下,表示已经关闭交换分区。
- 加载内核模块。
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter EOF sudo modprobe overlay sudo modprobe br_netfilter
- 设置并应用sysctl参数。这些参数在操作系统重新启动后仍然生效。
- 在CentOS 8.1操作系统中执行如下命令:
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF sudo sysctl --system
- 在openEuler 20.03操作系统中执行如下命令:
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF cat <<EOF | sudo tee /etc/sysctl.conf net.ipv4.ip_forward = 1 EOF sudo sysctl -p /etc/sysctl.d/99-kubernetes-cri.conf sudo sysctl -p /etc/sysctl.conf
- 在CentOS 8.1操作系统中执行如下命令:
- 设置允许iptables检查桥接流量。
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 EOF sudo sysctl --system
父主题: 部署K8s集群