debian

Debian服务器Kubernetes安装指南

小樊
47
2025-09-30 04:12:58
栏目: 云计算

Debian服务器Kubernetes安装指南

一、安装前准备

1. 硬件要求

2. 系统设置

二、安装Docker与Containerd

Kubernetes依赖容器运行时,推荐使用Docker(需兼容版本):

# 安装Docker依赖
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

# 添加Docker APT源
echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

# 安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

配置Containerd(Kubeadm默认使用):

sudo mkdir -p /etc/containerd
sudo tee /etc/containerd/config.toml <<EOF
[plugins."io.containerd.grpc.v1.containerd"]
  suspend_timeout = 2h
[plugins."io.containerd.grpc.v1.containerd.default_runtime"]
  runtime_type = "runc"
  runtime_root = "/run/containerd/runc"
EOF
sudo systemctl restart containerd

三、安装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

# 安装kubelet、kubeadm、kubectl
sudo apt update
sudo apt install -y kubelet kubeadm kubectl

# 锁定组件版本(避免自动升级)
sudo apt-mark hold kubelet kubeadm kubectl

四、初始化Master节点

在Master节点上执行(选择Pod网络CIDR,如Flannel需10.244.0.0/16):

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

初始化完成后,会输出加入Worker节点的命令(含Token和CA证书哈希),需保存备用。

配置kubectl

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

六、加入Worker节点

在Worker节点上执行Master节点初始化时输出的kubeadm join命令(示例):

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:123456789abcdef

七、验证集群状态

在Master节点上执行:

# 查看节点状态(所有节点应为Ready)
kubectl get nodes

# 查看集群信息
kubectl cluster-info

# 部署测试应用(可选)
kubectl create deployment nginx --image=nginx --replicas=2
kubectl expose deployment nginx --type=NodePort --port=80 --target-port=80
kubectl get pods -o wide  # 查看Pod分布

通过任意节点IP加NodePort(如http://<节点IP>:31743)访问Nginx,验证集群功能。

注意事项

0
看了该问题的人还看了