Kubernetes部署在Debian上的最佳实践

632
2025/4/10 6:32:30
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian上部署Kubernetes集群是一个复杂但非常有价值的过程,以下是一些关键步骤和最佳实践:

硬件和系统要求

  • 推荐配置:至少2核CPU、2GB RAM、20GB磁盘空间。

安装前的准备工作

  1. 更新系统
sudo apt-get update && sudo apt-get upgrade -y
  1. 关闭Swap
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
  1. 配置主机名
sudo hostnamectl set-hostname "master"

安装Docker

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [archamd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce
sudo systemctl enable docker && sudo systemctl start docker

安装containerd

sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/containerd.list
sudo apt-get update
sudo apt-get install -y containerd
sudo systemctl enable containerd && sudo systemctl start containerd

配置containerd

sudo mkdir -p /etc/systemd/system/containerd.service.d
cat <<EOF | sudo tee /etc/systemd/system/containerd.service.d/override.conf
[unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[service]
ExecStart=/usr/local/bin/containerd
Restart=always
RestartSec=5s
KillMode=process
Delegate=yes
KillSignal=SIGKILL

[install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable containerd
sudo systemctl start containerd

添加Kubernetes APT仓库

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update

安装Kubernetes组件

sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

初始化Kubernetes集群

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

配置kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

安装网络插件(例如Flannel)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

验证集群安装

kubectl get nodes
kubectl get pods --all-namespaces

额外的安全建议

  • 关闭Swap:确保所有节点的swap分区已关闭。
  • 防火墙配置:根据需要配置防火墙规则,允许必要的端口。
  • SELinux:如果使用SELinux,确保其配置不会影响Kubernetes的正常运行。

以上步骤和最佳实践为在Debian上部署Kubernetes提供了一个全面的指南,确保系统的高效运行和安全性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在Debian FTP服务器上设置磁盘配额