🗣 Wd提问: VPS搭建教程Kubernetes集群
🤖 Ai回答: 搭建 Kubernetes 集群的过程可以分为几个步骤,包括准备环境、安装 Kubernetes 组件、配置网络插件等。以下是一个基于 VPS(虚拟专用服务器)的 Kubernetes 集群搭建教程。
1、准备工作
1.1 环境准备
VPS:你需要至少两台 VPS 来搭建集群,一台作为主节点(Master Node),其他作为工作节点(Worker Node)。
操作系统:建议使用 Ubuntu 20.04 或 CentOS 7/8。
硬件要求:每个节点至少 2 核 CPU 和 2GB 内存。
1.2 网络配置
确保所有 VPS 节点之间可以通过 SSH 连接,并且防火墙允许必要的端口通信(如 6443, 2379-2380, 10250-10252 等)。
1.3 安装依赖工具
在所有节点上安装以下工具:
bash
更新系统包
sudo apt update && sudo apt upgrade -y
安装 Docker(Kubernetes 默认容器运行时)
sudo apt install docker.io -y
启动并设置 Docker 开机自启
sudo systemctl start docker
sudo systemctl enable docker
安装 kubeadm, kubelet, kubectl
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
2、初始化 Kubernetes 集群
2.1 在主节点上初始化集群
选择一台 VPS 作为主节点,执行以下命令来初始化 Kubernetes 集群:
bash
sudo kubeadm init pod-network-cidr=10.244.0.0/16
`pod-network-cidr` 参数指定了 Pod 的网络范围,这里使用了 Flannel 网络插件的默认 CIDR。
初始化完成后,你会看到类似如下的输出:
bash
Your Kubernetes control-plane has been initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run kubectl apply -f [podnetwork].yaml with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join <control-plane-host:<control-plane-port token <token discovery-token-ca-cert-hash sha256:<hash
按照提示执行以下命令,以便非 root 用户也可以使用 `kubectl`:
bash
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2.2 安装网络插件
Kubernetes 需要一个网络插件来管理 Pod 之间的网络通信。常用的网络插件有 Flannel、Calico 等。这里我们使用 Flannel:
bash
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
2.3 检查集群状态
使用以下命令检查集群状态:
bash
kubectl get nodes
你应该会看到主节点的状态为 `NotReady`,因为还没有加入工作节点。
3、加入工作节点
在每台工作节点上执行以下命令(从主节点初始化输出中获取):
bash
sudo kubeadm join <control-plane-host:<control-plane-port token <token discovery-token-ca-cert-hash sha256:<hash
例如:
bash
sudo kubeadm join 192.168.1.100:6443 token abcdef.0123456789abcdef discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
在主节点上再次运行以下命令,确认所有节点都已加入集群:
bash
kubectl get nodes
你应该会看到所有节点的状态为 `Ready`。
4、部署应用
现在你可以通过 `kubectl` 部署应用到集群中。例如,部署一个 Nginx 应用:
bash
kubectl create deployment nginx image=nginx
kubectl expose deployment nginx port=80 type=NodePort
查看服务状态:
bash
kubectl get services
你将看到 Nginx 服务的外部访问地址和端口。
5、其他注意事项
高可用性:如果你需要高可用性集群,可以考虑使用多个主节点,并配置负载均衡器。
存储:根据你的需求,可以选择合适的存储解决方案,如 NFS、Ceph 等。
监控与日志:可以部署 Prometheus、Grafana、ELK 等工具来进行集群监控和日志收集。
6、清理集群
如果你想清理集群,可以在主节点上执行以下命令:
bash
sudo kubeadm reset
然后在每个工作节点上也执行相同的命令。
通过以上步骤,你就可以成功搭建一个基于 VPS 的 Kubernetes 集群。
📣 商家广告 :
👍
0
👎
IP地址: 194.7.221.65
搜索次数: 71
提问时间: 2025-11-23 09:39:53
本站所有
❓
问答
均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
本站由
🟢
豌豆Ai
提供技术支持,使用的最新版:
豌豆Ai站群搜索引擎系统 V.25.10.25
搭建本站。