debian

Kubernetes在Debian上如何安装

小樊
42
2025-11-07 09:06:10
栏目: 智能运维

Kubernetes在Debian上的安装步骤

一、准备工作

  1. 系统要求:使用Debian 12(Bookworm)及以上稳定版本;每个节点(Master/Worker)需满足至少2核CPU、2GB RAM、20GB硬盘空间。
  2. 网络配置:所有节点之间网络互通,能访问外网(用于下载镜像和组件);关闭防火墙或放行必要端口(如Kubernetes API服务器6443、kubelet的10250系列端口)。
  3. 主机名与解析:为每个节点设置唯一主机名(如masterworker1),并在/etc/hosts文件中添加节点IP与主机名的映射(避免DNS解析问题)。
  4. 关闭Swap:Kubernetes要求禁用Swap分区,否则kubelet无法正常启动。执行以下命令:
    sudo swapoff -a  # 临时关闭
    sudo sed -i '/ swap / s/1/g' /etc/fstab  # 永久禁用(注释掉swap行)
    

二、安装Docker容器运行时

Kubernetes依赖容器运行时,推荐使用Docker(社区常用):

  1. 添加Docker官方GPG密钥和软件源:
    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
    
  2. 安装Docker组件并启动服务:
    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl start docker
    sudo systemctl enable docker  # 设置开机自启
    

三、添加Kubernetes官方APT仓库

  1. 导入Kubernetes官方GPG密钥:
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    
  2. 添加Kubernetes软件源(使用kubernetes-xenial仓库,兼容Debian 12):
    echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
    
  3. 更新软件包索引:
    sudo apt update
    

四、安装Kubernetes核心组件

安装kubelet(节点代理)、kubeadm(集群初始化工具)、kubectl(命令行工具),并锁定版本(避免意外升级):

sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl  # 锁定版本

五、初始化Master节点

在Master节点上执行初始化命令,指定Pod网络CIDR(用于Flannel插件,需与后续网络插件配置一致):

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

初始化完成后,会输出加入Worker节点的命令(包含Token和CA证书哈希),需保存备用(格式:sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>)。

六、配置kubectl

将Master节点的Kubernetes配置文件复制到当前用户目录,用于本地管理集群:

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

七、安装网络插件

Kubernetes需要网络插件实现Pod间通信,推荐使用Flannel(轻量易用):

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

等待插件部署完成(可通过kubectl get pods -n kube-system查看插件Pod状态,需全部为Running)。

八、加入Worker节点

在每台Worker节点上,使用Master节点初始化时输出的加入命令执行:

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

加入成功后,Worker节点会自动注册到集群中。

九、验证安装

  1. 检查集群信息:
    kubectl cluster-info
    
  2. 查看节点状态(Master节点需标记为Ready,Worker节点需陆续变为Ready):
    kubectl get nodes
    
  3. 部署示例应用(如Nginx)验证集群功能:
    kubectl create deployment nginx-app --image=nginx --replicas=2
    kubectl expose deployment nginx-app --name=nginx-web-svc --type=NodePort --port=80 --target-port=80
    kubectl get pods  # 查看Pod状态
    
    若Pod状态为Running,则说明集群安装成功。

注意事项

0
看了该问题的人还看了