Prometheus部署教程——基于 HELM 方式

举报
乐维社区 发表于 2024/08/21 15:16:20 2024/08/21
【摘要】 作者 乐维社区(forum.lwops.cn)许远背景随着容器化技术的飞速发展,Kubernetes已成为企业级容器编排的事实标准。为了确保容器化应用的稳定性和性能,有效的监控和告警系统显得尤为重要。因容器监控需要,某公司拟在k8s集群中搭建prometheus,计划通过Helm进行部署。Kubernetes原生应用程序拥有一系列YAML文件,允许用户在部署应用时自定义应用程序的一些元数据,...

作者 乐维社区(forum.lwops.cn)许远

背景

随着容器化技术的飞速发展,Kubernetes已成为企业级容器编排的事实标准。为了确保容器化应用的稳定性和性能,有效的监控和告警系统显得尤为重要。因容器监控需要,某公司拟在k8s集群中搭建prometheus,计划通过Helm进行部署。

Kubernetes原生应用程序拥有一系列YAML文件,允许用户在部署应用时自定义应用程序的一些元数据,以便于应用程序的分发。而Helm则是Kubernetes生态系统中的一个软件包管理工具,类似于Ubuntu的apt、CentOS的yum或Python的pip,专门负责管理Kubernetes应用资源,它主要作用包括应用程序封装、版本管理、依赖检查以及便于应用程序分发,使得用户能够以一种标准化和自动化的方式部署、升级和回滚应用程序。

以下是详细部署教程:

1. 安装HELM

下载二进制文件安装:

[root@k8s-master~]wget -c https://get.helm.sh/helm-v3.14.1-linux-amd64.tar.gz

[root@k8s-master ~] tar zxvf helm-v3.14.1-linux-amd64.tar.gz [root@k8s-master ~] cd linux-amd64/

[root@k8s-master linux-amd64] ls helm LICENSE README.md

[root@k8s-master linux-amd64] mv helm /usr/local/bin


#查看版本

[root@k8s-master ~] helm version

version.BuildInfo{Version:"v3.13.0",

GitCommit:"825e86f6a7a38cef1112bfa606e4127a706749b1", GitTreeState:"clean", GoVersion:"go1.20.8"}


#查看命令帮助

[root@k8s-master ~] helm --help


2. 添加仓库


[root@k8s-master]# helm repo add bitnami https://charts.bitnami.com/bitnami [root@k8s-master ~]# helm repo list

NAME URL

bitnami https://charts.bitnami.com/bitnami



3. 搜索应用

[root@k8s-master ~]# helm search repo bitnami | grep prometheus


4. 拉取应用

[root@k8s-master ~] helm pull bitnami/prometheus


5. 进入目录

[root@k8s-master ~] cd prometheus/


6. 修改value.yaml文件

修改prometheus中的value.yaml文件(prometheus/templates/下k8s构建的 资源对象,就是引用的value.yaml的值):

[root@k8s-master ~] vi value.yaml


修改svc资源的type方式:


注意:

1. 如果使用了storageclass就将文件中的storageclass改变成自己本地的storageclass的名字

2. 将svc的type改为NodePort( NodePort就是映射主机端口,进行访问用的)

3. 可以将pv的值调大点


7. 安装promtheus

[root@k8s-master ~] helm install 自定义应用名称 -f values.yaml bitnami/prometheus


8.查看开放端口

[root@k8s-master ~] kubectl get svc


使用浏览器访问ip:30331即可:

检查资源对象是否成功:


查看开放端口:


至此,整个部署过程结束。


从部署过程看,使用Helm部署Prometheus并不复杂,甚至对比其他部署方式,

使用Helm部署Prometheus到Kubernetes集群还具有以下优势:


1.模板化和参数化:Helm使用模板化配置,允许用户在部署时自定义应用程序的参数,从而适应不同的部署需求和环境。


2.版本控制和回滚:Helm支持应用的版本管理,可以轻松回滚到先前的版本,如果新版本出现问题,增强了部署的安全性和灵活性。


3.依赖管理:Helm能够自动处理应用的依赖关系,确保所有必需的组件都能正确安装和配置,减少了手动管理依赖的复杂性。


4.安全性:Helm 3移除了服务端组件Tiller,使用Kubernetes原生的RBAC进行权限控制,简化了安全模型。


5.配置的一致性和可维护性:通过Helm管理的配置,可以确保不同环境中配置的一致性,同时便于维护和更新配置。


这些优势使得Helm成为Kubernetes集群中部署和管理Prometheus及其他应用的强大工具。


以上就是本期的全部内容。更多运维技巧欢迎关注乐维社区,更多运维问题也欢迎到乐维社区留言提问。



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。