溫馨提示×

Debian與K8S部署實戰指南

小樊
50
2025-04-26 09:14:13
欄目: 智能運維

在Debian系統上部署Kubernetes(K8s)集群是一個相對直接的過程,但需要確保所有步驟都正確執行以滿足集群的穩定性和性能需求。以下是一個詳細的步驟指南,幫助你在Debian系統上成功部署Kubernetes集群。

硬件和系統要求

  • CPU:至少2核
  • 內存:至少2GB RAM
  • 存儲:至少20GB磁盤空間
  • 網絡:穩定的互聯網連接,確保節點間可以互相通信

部署步驟

1. 設置主機名和更新hosts文件

在每個節點上設置主機名,并在 /etc/hosts 文件中添加節點間的解析信息。

sudo hostnamectl set-hostname "k8s-master01.test.local"
# 在其他節點上重復上述命令,更改主機名為相應的工作節點名稱
echo "192.168.16.20 k8s-master01.test.local k8s-master01" /etc/hosts
echo "192.168.16.21 k8s-worker01.test.local k8s-worker01" /etc/hosts
echo "192.168.16.22 k8s-worker02.test.local k8s-worker02" /etc/hosts

2. 關閉swap分區

禁用swap分區以確保kubelet順利運行。

sudo swapoff -a
sudo sed -i '/ swap / s/1/g' /etc/fstab

3. 配置防火墻

允許必要的端口通過防火墻。

sudo ufw allow 6443/tcp
sudo ufw allow 2379/tcp
sudo ufw allow 2380/tcp
sudo ufw allow 10250/tcp
sudo ufw allow 10251/tcp
sudo ufw allow 10252/tcp
sudo ufw allow 10255/tcp
sudo ufw reload

4. 安裝containerd運行時

在所有節點上安裝containerd,并配置必要的內核參數。

cat << eof | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_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

5. 安裝Kubernetes工具

添加Kubernetes的APT倉庫并安裝kubelet、kubeadm和kubectl。

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
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

6. 初始化Kubernetes集群

在主節點上使用kubeadm初始化集群。

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

7. 配置kubectl

配置kubectl以訪問集群。

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

8. 驗證集群安裝

檢查集群狀態和節點狀態。

kubectl cluster-info
kubectl get nodes

9. 安裝網絡插件(可選)

例如,安裝Calico網絡插件。

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

注意事項

  • 確保所有節點的MAC地址和product_uuid是唯一的,以避免虛擬克隆問題。
  • 在初始化Kubernetes集群時,記錄下生成的加入指令,以便在其他節點上使用。
  • 定期檢查和維護集群,確保所有組件都是最新的,并且沒有安全漏洞。

以上步驟提供了一個基本的框架,但在實際部署過程中,可能還需要根據具體情況進行調整和優化。希望這份指南能幫助你成功在Debian系統上部署Kubernetes集群。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女