Debian系统如何配置Kubernetes安装
导读:在 Debian 上使用 kubeadm 部署 Kubernetes 集群 一 环境准备与前置条件 节点与网络 至少准备 1 台 Master + 1 台 Worker,推荐 2 核 CPU、2GB 内存、20GB 磁盘 以上。 各节点...
在 Debian 上使用 kubeadm 部署 Kubernetes 集群
一 环境准备与前置条件
- 节点与网络
- 至少准备 1 台 Master + 1 台 Worker,推荐 2 核 CPU、2GB 内存、20GB 磁盘 以上。
- 各节点需 主机名唯一、时间同步(如 NTP)、互通网络,并 关闭 Swap:执行
sudo swapoff -a,并在 /etc/fstab 中注释 swap 行。
- 系统源与依赖
- 更新系统:
sudo apt update & & sudo apt upgrade -y - 安装工具:
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
- 更新系统:
- 容器运行时
- 安装 containerd(推荐)或 Docker CE。下面分别给出两种常用方式,二选一即可。
二 安装容器运行时
- 方案 A containerd(推荐)
- 安装:
sudo apt install -y containerd - 生成默认配置并启用 CRI:
sudo mkdir -p /etc/containerd & & containerd config default | sudo tee /etc/containerd/config.toml - 重启并开机自启:
sudo systemctl restart containerd & & sudo systemctl enable containerd
- 安装:
- 方案 B Docker CE
- 添加 GPG 与源并安装:
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
- 添加 GPG 与源并安装:
- 说明
- 无论采用哪种方案,后续 kubeadm 均通过 CRI 与容器运行时交互。
三 安装 kubeadm kubelet kubectl
- 添加 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 sudo apt install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl sudo systemctl enable --now kubelet - 说明
- 使用
apt-mark hold防止组件被意外升级导致版本不一致。
- 使用
四 初始化控制平面与配置 kubectl
- 初始化 Master(将 替换为你的主节点 IP;如使用 Flannel,Pod CIDR 用 10.244.0.0/16;如使用 Calico,常见为 192.168.0.0/16)
sudo kubeadm init --apiserver-advertise-address=< master-ip> --pod-network-cidr=10.244.0.0/16 # 或使用 Calico 时: # sudo kubeadm init --apiserver-advertise-address=< master-ip> --pod-network-cidr=192.168.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 - 安装 CNI 网络插件(二选一)
- Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml - Calico:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml # 或新版 Calico Operator 方式: # kubectl apply -f https://docs.projectcalico.org/manifests/tigera-operator.yaml # kubectl apply -f https://docs.projectcalico.org/manifests/custom-resources.yaml
- Flannel:
- 验证
kubectl get nodes kubectl cluster-info kubectl get pods -n kube-system - 说明
- 初始化完成后,控制台会输出
kubeadm join ...命令,用于 Worker 加入集群。
- 初始化完成后,控制台会输出
五 加入工作节点与常用运维
- 加入 Worker
- 使用
kubeadm init输出中的完整命令,或重新生成:# 重新生成 join 命令(在 Master 上) kubeadm token create --print-join-command # Worker 上执行输出的命令,例如: sudo kubeadm join < master-ip> :6443 --token < token> --discovery-token-ca-cert-hash sha256:< hash>
- 使用
- 防火墙与安全组(示例为 UFW)
sudo ufw allow 6443/tcp sudo ufw allow 10250/tcp sudo ufw allow 10251/tcp sudo ufw allow 10252/tcp sudo ufw allow 10255/tcp sudo ufw reload - 常用维护
- 重置节点(重装时使用):
sudo kubeadm reset - 清理 CNI 残留:
sudo rm -rf /etc/cni/net.d - 重置 iptables:
sudo iptables -F & & sudo iptables -t nat -F & & sudo iptables -t mangle -F & & sudo iptables -X
- 重置节点(重装时使用):
- 说明
- 生产环境建议开放或放通 6443、10250、10251、10252 等端口,并按需配置 30000–32767 NodePort 范围。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统如何配置Kubernetes安装
本文地址: https://pptw.com/jishu/771523.html
