温馨提示×

K8s在Debian上的安全设置

小樊
80
2025-04-04 04:33:45
栏目: 智能运维

在Debian上部署Kubernetes(K8s)时,安全设置是非常重要的。以下是一些关键的安全配置步骤:

节点唯一性

  • 确保每个节点的MAC地址和product_uuid是唯一的。
  • 使用ip link或ifconfig -a检查product_uuid。

主机名重命名

  • 设置机器名称以便在集群中辨识。
  • 使用sudo hostnamectl set-hostname master01命令临时设置主机名,并使用sudo tee /etc/hostname永久保存。

关闭swap

  • 临时关闭swap:sudo swapoff -a。
  • 永久关闭swap:编辑/etc/fstab文件,添加noauto选项,例如:UUID=f96e71e3-a4b7-4dbb-9576-9ef9ae498717 none swap defaults,noauto 0 0。

防火墙配置

  • 安装管理工具:sudo apt install ufw。
  • 启动防火墙:sudo ufw enable。
  • 设置控制平面的端口,例如:
    • Kubernetes API服务器:sudo ufw allow 6443。
    • etcd服务器客户端API:sudo ufw allow 2379:2380/tcp。
    • Kubelet API:sudo ufw allow 10250。
    • kube-scheduler、kube-controller-manager:sudo ufw allow 10251:10252。
    • NodePort服务:sudo ufw allow 30000:32767/tcp。
    • Flannel/Calico的VXLAN Overlay网络专用端口:sudo ufw allow 8472/udp。
    • coredns:sudo ufw allow 53。
    • flanneld:sudo ufw allow 9153/tcp。
    • coredns与flanneld通信:sudo ufw allow 443/tcp。

SELinux和AppArmor

  • Debian默认使用AppArmor进行权限控制。如果需要关闭SELinux(适用于Red Hat类系统),可以使用以下命令:
    • 临时关闭:sudo setenforce 0。
    • 永久关闭:编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled。

启用IPVS

  • 安装软件:sudo apt-get install ipvsadm ipset。
  • 临时启用IPVS:
    • sudo modprobe -- ip_vs。
    • sudo modprobe -- ip_vs_rr。
    • sudo modprobe -- ip_vs_wrr。
    • sudo modprobe -- ip_vs_sh。
    • sudo modprobe -- nf_conntrack。

配置hosts文件

  • 编辑/etc/hosts文件,添加集群中各节点的IP地址和主机名映射。

时间同步

  • 安装时间同步软件,例如ntpd或chrony,以确保集群中各节点的时间一致。

以上步骤是在Debian上部署Kubernetes时的一些基本安全设置。根据具体需求和环境,可能还需要进行其他安全配置,如网络策略、证书管理等。

0 踩