温馨提示×

K8s在Debian上的安全设置

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

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

节点唯一性

  • 确保每个节点的MAC地址和product_uuid是唯一的。
  • 使用ip linkifconfig -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地址和主机名映射。

时间同步

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

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

0