温馨提示×

怎样在Debian上成功部署K8s

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

在Debian上部署Kubernetes(K8s)集群是一个相对复杂的过程,需要仔细规划和执行多个步骤。以下是一个详细的指南,帮助你在Debian上成功部署K8s集群。

1. 环境准备

硬件要求

  • 至少2核CPU
  • 至少2GB RAM
  • 至少20GB磁盘空间

软件要求

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

2. 安装Docker

首先,在所有的Debian节点上安装Docker。

sudo apt update
sudo apt 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/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. 安装containerd

在所有的Debian节点上安装containerd。

sudo apt update
sudo apt install -y containerd
sudo systemctl enable --now containerd
sudo systemctl start containerd

4. 配置内核参数

编辑/etc/sysctl.d/99-kubernetes-k8s.conf文件,添加以下内容:

net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

使配置生效:

sudo sysctl --system

5. 安装Kubernetes组件

在所有的Debian节点上安装kubelet、kubeadm和kubectl。

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

6. 初始化主节点

在主节点上初始化Kubernetes集群。

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

7. 配置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

8. 安装网络插件

安装Calico作为网络插件。

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

9. 加入工作节点

在工作节点上加入集群。

sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

10. 验证集群

验证集群是否正常运行。

kubectl get nodes
kubectl get pods --all-namespaces

11. 部署示例应用程序

部署一个简单的Nginx应用程序以验证集群功能。

kubectl create deployment nginx --image=nginx --replicas=1
kubectl expose deployment nginx --type=NodePort --port=80 --target-port=80
kubectl get svc

通过以上步骤,你应该能够在Debian上成功部署一个Kubernetes集群。请确保在每个步骤中都仔细检查配置,并根据实际情况进行调整。

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

推荐阅读:怎样在centos上成功部署k8s

0