在 Linux VPS 服务器上部署 Kubernetes 并安装 Prometheus 监控

Clash 小火箭 v2ray节点购买

好用的梯子,海外网络,快速稳定

Google

本文介绍如何在一台(或多台)VPS 服务器上部署 Kubernetes 集群,并使用 Prometheus 对集群进行监控。教程含概念简介、安装流程及配置示例,让你对 Kubernetes + Prometheus 有一个快速上手的体验。

1. 背景与准备

1.1 Kubernetes 简介

Kubernetes 是一款容器编排平台,可自动管理容器应用的部署、伸缩与运维。它抽象了底层硬件与网络资源,使分布式应用的管理更加高效与可扩展。

1.2 Prometheus 简介

Prometheus 是一款开源的监控与告警系统,遵循 “拉取” 模式(pull-based),定期从目标端点采集指标数据,并通过可视化与告警实现及时监控。

1.3 准备条件

  • VPS 服务器 一台或多台,建议配置至少 2 vCPU / 4GB RAM(更大规模集群同理,可多台 VPS)。
  • 操作系统 建议使用主流发行版,如 Ubuntu 20.04+、Debian 10+、CentOS 7/8 或其他兼容 Linux。
  • 网络连通 如果需要多节点,确保节点间互通。
  • sudo/root 权限 以便安装所需组件与配置。

2. 安装 Kubernetes

以下以 kubeadm 方式在 Ubuntu 系统上部署单主节点集群为例,其他系统或多节点场景类似。

亦可参考《搬瓦工 VPS 上安装部署 Docker 集群管理工具 Kubernetes (K8S) 教程

2.1 安装依赖

sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl

2.2 添加 Kubernetes 软件源并安装

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF'

sudo apt update
sudo apt install -y docker.io kubelet kubeadm kubectl
sudo systemctl enable docker
sudo systemctl start docker

2.3 初始化 Master 节点

  1. 关闭 swap(Kubernetes 要求):
    sudo swapoff -a
    sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
    
  2. 使用 kubeadm 初始化集群
    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    

    等待执行完成后,会输出类似 kubeadm join ... 命令,用于添加工作节点(多节点时使用)。

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

2.4 部署网络插件

Kubernetes 需要网络插件(CNI)让 Pod 能够正常通信。以 Flannel 为例:

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

检查集群状态:

kubectl get nodes

出现 Ready 状态,说明主节点已就绪。此时若只是练习,可以把主节点同时当作工作节点使用(生产不推荐):

kubectl taint nodes --all node-role.kubernetes.io/control-plane-

即移除对调度的限制。

3. 安装 Prometheus 监控

3.1 准备 Helm

Helm 是 Kubernetes 包管理工具,用来简化应用安装与升级。

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

或使用软件包管理器安装。

3.2 添加并更新仓库

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

3.3 部署 Prometheus

Prometheus 官方推荐的安装方式是通过 kube-prometheus-stack(打包了 Prometheus、Alertmanager、Grafana 等组件),可以一站式获得监控、告警、可视化能力:

helm install my-prometheus prometheus-community/kube-prometheus-stack \
  --namespace monitoring --create-namespace
  • my-prometheus:Release 名称,可自由修改。
  • monitoring:创建并使用 monitoring 命名空间。

等待安装完成后,可用以下命令查看状态:

kubectl get pods -n monitoring

若全部处于 RunningCompleted,说明部署成功。

3.4 访问 Prometheus 界面

  1. 使用端口转发 (临时方式)
    kubectl port-forward -n monitoring svc/my-prometheus-kube-prometheus-stack-prometheus 9090:9090
    

    在本地浏览器访问 http://127.0.0.1:9090/ 查看 Prometheus UI。

  2. 使用 Ingress 或 NodePort (生产方式)
    • 若你有域名和 Ingress 控制器,可给 Prometheus、Grafana 等服务配置外部路由。
    • 或者修改 values.yaml 启用 service.type=NodePort 方式让外部可访问,结合防火墙或负载均衡器。

4. 简单使用教程

  1. Prometheus 监控原理:定期从各个暴露监控指标的端点(如 节点、Kubernetes 控制平面、Pod 等)抓取数据,然后存储、分析,并可与 Grafana 搭配展示图表。
  2. 通过内置 ServiceMonitor / PodMonitor:kube-prometheus-stack 会自动发现 Kubernetes 组件和 Node 节点。要监控自己部署的应用,需在 Pod 或服务里暴露 /metrics 端点,并创建对应的 ServiceMonitor 或 PodMonitor 资源。
  3. 查看 Grafana 仪表盘
    kubectl port-forward -n monitoring svc/my-prometheus-kube-prometheus-stack-grafana 3000:80
    

    浏览器访问 http://127.0.0.1:3000 登录,默认用户名 admin,密码可在 helm install 时通过 --set grafana.adminPassword=xxx 自定义,或在安装后查询:

    kubectl get secret \my-prometheus-kube-prometheus-stack-grafana -n monitoring -o jsonpath="{.data.admin-password}" \| base64 --decode
    
  4. 设置告警:kube-prometheus-stack 也包含 Alertmanager,可设置基于 CPU 使用率、响应延迟等进行邮件或其他形式通知,确保出现异常时能及时获知。

5. 维护与扩展

  1. 更新 Kubernetes:定期 sudo apt update && sudo apt upgrade 并查看 kubeadm/kubectl 更新,遵循官方升级指引。
  2. 更新 Helm Charts
    helm repo updatehelm upgrade my-prometheus prometheus-community/kube-prometheus-stack -n monitoring
    

    获取最新特性及安全修复。

  3. 分布式集群扩容:在多台 VPS 里安装 kubeadm 并执行 kubeadm join ... 命令,将节点加入同一集群,提升容器应用的可用性。

6. 总结

通过以上步骤,你已经在 VPS 服务器上使用 kubeadm 完整部署了单节点或多节点的 Kubernetes 集群,并借助 Prometheus(可搭配 Grafana)实时监控集群及各容器应用的运行状况。Kubernetes + Prometheus 的组合为应用提供了自动化容器编排与高可用监控,让开发与运维在可观测性方面更具主动性。

如需更进一步,请参考:

祝你在 VPS 上部署 Kubernetes 的学习和实践顺利!

搬瓦工新手教程和优惠套餐

搬瓦工推荐方案

搬瓦工实时库存:https://stock.bwg.net

温馨提醒 如果您有选择困难症,直接选中间的 CN2 GIA-E方案,季付 $49.99,多达 12 个机房任意切换
方案内存CPU硬盘流量/月带宽推荐机房价格购买
KVM
(最便宜)
1GB2核20GB1TB1GbpsDC2 AO
DC8 ZNET
$49.99/年购买
KVM2GB3核40GB2TB1Gbps$52.99/半年
$99.99/年
购买
CN2 GIA-E
(最推荐)
1GB2核20GB1TB2.5Gbps美国 DC6 CN2 GIA-E
美国 DC9 CN2 GIA
日本软银 JPOS_1
荷兰 EUNL_9
美国圣何塞 CN2 GIA
加拿大 CN2 GIA
$49.99/季度
$169.99/年
购买
CN2 GIA-E2GB3核40GB2TB2.5Gbps$89.99/季度
$299.99/年
购买
HK
(高端首选)
2GB2核40GB0.5TB1Gbps中国香港 CN2 GIA
日本东京 CN2 GIA
日本大阪 CN2 GIA
新加坡 CN2 GIA
$89.99/月
$899.99/年
购买
HK4GB4核80GB1TB1Gbps$155.99/月
$1559.99/年
购买
OSAKA2GB2核40GB0.5TB1.5Gbps日本大阪 CN2 GIA$49.99/月
$499.99/年
购买
OSAKA4GB4核80GB1TB1.5Gbps$86.99/月
$869.99/年
购买
搬瓦工优惠码:BWHCGLUKKB搬瓦工购买教程:《2025 年最新搬瓦工购买教程和支付宝支付教程

选择建议:

  • 入门:常规 KVM 套餐,目前最便宜,入门之选。
  • 推荐:洛杉矶 CN2 GIA-E 套餐,速度超快,可选机房多(DC6、DC9、日本软银、荷兰联通等),性价比最高。
  • 高端:香港 CN2 GIA 套餐,价格较高,但是无可挑剔。大阪 CN2 GIA 套餐也是非常不错的高端选择。

搬瓦工新手教程

  1. 搬瓦工新手入门:《搬瓦工新手入门完全指南:方案推荐、机房选择、优惠码和购买教程(推荐阅读)
  2. 搬瓦工购买教程:《2025 年最新搬瓦工购买教程和支付宝支付教程
  3. 搬瓦工优惠码:BWHCGLUKKB
  4. 搬瓦工补货通知:《欢迎订阅搬瓦工补货通知(补货提醒)/ 加入搬瓦工交流群
  5. 搬瓦工方案推荐:《搬瓦工高性价比 VPS 推荐:目前哪款方案最值得买?

未经允许不得转载:Bandwagonhost中文网 » 在 Linux VPS 服务器上部署 Kubernetes 并安装 Prometheus 监控