温馨提示×

如何在Debian上快速部署K8S

小樊
42
2025-03-03 01:27:09
栏目: 智能运维
Debian服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian上快速部署Kubernetes(K8S)集群可以通过以下步骤实现。以下是一个详细的指南,帮助你在Debian系统上安装和配置Kubernetes集群。

准备工作

  1. 硬件要求

    • 至少2核CPU
    • 至少2GB RAM
    • 至少20GB磁盘空间
  2. 网络要求

    • 稳定的互联网连接
    • 所有节点能够通过可靠的网络连接相互通信
  3. 软件要求

    • Debian 12(Bookworm)或更高版本
    • Docker
    • kubeadm
    • kubelet
    • kubectl
    • containerd

安装步骤

1. 更新系统

首先,确保你的系统是最新的:

sudo apt update
sudo apt upgrade -y

2. 安装Docker

安装Docker及其依赖项:

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
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/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker

3. 关闭Swap分区

为了确保kubelet顺利运行,建议禁用Swap分区:

sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

4. 配置内核参数

添加以下内核参数:

cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlaybr_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter

cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

5. 安装containerd

在所有节点上安装containerd:

sudo apt update
sudo apt install -y containerd
sudo systemctl daemon-reload
sudo systemctl enable --now containerd
sudo systemctl restart containerd

6. 配置containerd

初始化containerd配置文件:

sudo mkdir -p /etc/containerd
sudo tar -C /etc/containerd -xzf /usr/share/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

7. 添加Kubernetes源

添加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 update

8. 安装Kubernetes组件

安装kubelet、kubeadm和kubectl:

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

9. 初始化Kubernetes集群

在主节点上初始化集群:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --service-cidr=10.96.0.0/12

10. 配置kubectl

配置kubectl以访问Kubernetes集群:

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

11. 安装网络插件(可选)

例如,安装Calico网络插件:

kubectl apply -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl apply -f https://docs.projectcalico.org/manifests/custom-resources.yaml

12. 验证集群

验证集群是否正常运行:

kubectl get nodes
kubectl get pods --all-namespaces

注意事项

  • 确保所有节点的防火墙允许必要的端口(如6443、2379、2380等)。
  • 如果在网络受限的环境中,可能需要提前下载所有必要的镜像并离线安装。

通过以上步骤,你可以在Debian上快速部署一个基本的Kubernetes集群。根据具体需求,你可以进一步配置和扩展集群。

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

推荐阅读:K8s在Debian上怎么部署

0