温馨提示×

K8s在Debian上的最佳安装实践

小樊
57
2025-03-07 02:11:54
栏目: 智能运维

在Debian上安装Kubernetes(K8s)集群时,遵循最佳实践是非常重要的,以确保系统的稳定性、安全性和可维护性。以下是一些关键步骤和最佳实践:

1. 硬件和系统要求

  • 硬件条件:至少2GB RAM(推荐4GB或更多),2核以上CPU,20GB硬盘空间。
  • 系统版本:建议使用Debian 12(Bookworm)。

2. 基础配置

  • 设置主机名及更新hosts文件

    • 登录每个节点,使用hostnamectl命令设置主机名。
    • 在所有节点的/etc/hosts文件中添加节点IP和主机名的映射。
  • 关闭swap分区

    • 禁用swap分区以确保kubelet顺利运行。
    • 运行sudo swapoff -a并注释掉/etc/fstab中的swap条目。
  • 配置网络

    • 启用IP转发:
      echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.conf sudo sysctl -p 
    • 配置Calico网络插件(或其他网络插件):
      kubectl apply -f https://docs.projectcalico.org/manifests/tigera-operator.yaml kubectl apply -f https://docs.projectcalico.org/manifests/custom-resources.yaml 

3. 安装必要的软件包

  • 安装Docker

    • 添加Docker官方GPG密钥:
      curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 
    • 设置稳定版Docker仓库:
      echo "deb [archamd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list 
    • 安装Docker Engine和CLI:
      sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io 
    • 启动并开启Docker服务:
      sudo systemctl start docker sudo systemctl enable docker 
  • 安装containerd

    • 安装containerd依赖:
      sudo apt install -y apt-transport-https ca-certificates curl 
    • 添加containerd的GPG密钥:
      curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - 
    • 设置containerd仓库:
      echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list 
    • 安装containerd:
      sudo apt update sudo apt install -y containerd 
    • 配置containerd:
      sudo mkdir -p /etc/containerd sudo containerd config default | sudo tee /etc/containerd/config.toml 
    • 启用并启动containerd:
      sudo systemctl restart containerd sudo systemctl enable containerd 

4. 初始化Kubernetes集群

  • 初始化Master节点
    sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --service-cidr=10.96.0.0/12 
  • 配置kubectl
    mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 

5. 验证安装

  • 检查集群状态
    kubectl cluster-info kubectl get nodes 

6. 安全加固

  • 关闭不必要的服务
    • 禁用swap、关闭不必要的网络接口等。
  • 配置防火墙
    • 允许必要的端口,如Kubernetes API服务器(6443)、etcd(2379/tcp、2380/tcp)等。
  • 使用网络策略
    • 限制Pod之间的通信,确保只有必要的流量可以通过。

7. 升级和维护

  • 定期更新
    • 定期检查并应用Kubernetes的最新安全补丁和功能更新。
  • 监控和日志
    • 使用工具如Prometheus和Grafana监控集群状态,定期检查日志以发现潜在问题。

通过遵循这些最佳实践,您可以在Debian上成功安装和配置一个稳定、安全的Kubernetes集群。

0