欢迎光临
我们一直在努力

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

在 Linux VPS 服务器上部署 Kubernetes 并安装 Prometheus 监控,需要依次完成 Kubernetes 环境搭建、Prometheus 部署等多个步骤。以下为你详细介绍概念简介、安装流程及配置示例,让你对 Kubernetes + Prometheus 有一个快速上手的体验。

Kubernetes 简介

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

Prometheus 简介

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

准备条件

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

安装 Kubernetes

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

安装依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl

添加 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

初始化 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
部署网络插件

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-

即移除对调度的限制。

安装 Prometheus 监控

准备 Helm

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

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
部署 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

若全部处于 Running 或 Completed,说明部署成功。

访问 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 方式让外部可访问,结合防火墙或负载均衡器。

简单使用教程

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

4、设置告警:kube-prometheus-stack 也包含 Alertmanager,可设置基于 CPU 使用率、响应延迟等进行邮件或其他形式通知,确保出现异常时能及时获知。

维护与扩展

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 … 命令,将节点加入同一集群,提升容器应用的可用性。

总结

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

如需更进一步,请参考:

上述步骤已经覆盖了从基础环境搭建到最终部署监控工具的全过程。如果你在操作过程中遇到任何问题,比如特定命令报错、配置文件格式不正确等,欢迎查看相关教程文字 。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Linux VPS服务器上部署Kubernetes并安装Prometheus监控教程》
文章链接:http://www.zyhot.com/archives/196.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发