云原生PrometheusGrafanaonK8s环境部署
1月25日 望北海投稿 一、概述
Prometheus最开始是由SoundCloud开发的开源监控告警系统,是GoogleBorgMon监控系统的开源版本。在2016年,Prometheus加入CNCF,成为继Kubernetes之后第二个被CNCF托管的项目。随着Kubernetes在容器编排领头羊地位的确立,Prometheus也成为Kubernetes容器监控的标配。
关于Prometheus的介绍可以参考我之前的文章:Prometheus原理详解
二、使用Helm安装Prometheus
地址:https:artifacthub。iopackageshelmprometheuscommunityprometheus1)配置源添加repohelmrepoaddprometheuscommunityhttps:prometheuscommunity。github。iohelmchartshelmrepoupdateprometheuscommunityhelmsearchrepoprometheuscommunityprometheus
2)下载prometheus包拉包helmpullprometheuscommunityprometheus解包tarxfprometheus15。12。2。tgz3)修改镜像grepA3image:prometheusvalues。yaml
search》pull》tag》push1、alertmanagerdockersearchalertmanagerdockerpullquay。ioprometheusalertmanagerdockertagquay。ioprometheusalertmanagermyharbor。commonitoringalertmanager:v0。24。0dockerpushmyharbor。commonitoringalertmanager:v0。24。02、configmapreloaddockersearchconfigmapreloaddockerpulljimmidysonconfigmapreload:v0。5。0dockertagjimmidysonconfigmapreload:v0。5。0myharbor。commonitoringconfigmapreload:v0。5。0dockerpushmyharbor。commonitoringconfigmapreload:v0。5。03、nodeexporterdockersearchnodeexporterdockerpullquay。ioprometheusnodeexporter:v1。3。1dockertagquay。ioprometheusnodeexporter:v1。3。1myharbor。commonitoringnodeexporter:v1。3。1dockerpushmyharbor。commonitoringnodeexporter:v1。3。14、prometheusdockersearchprometheusdockerpullquay。ioprometheusprometheus:v2。36。2dockertagquay。ioprometheusprometheus:v2。36。2myharbor。commonitoringprometheus:v2。36。2dockerpushmyharbor。commonitoringprometheus:v2。36。25、pushgatewaydockersearchpushgatewaydockerpullprompushgateway:v1。4。3dockertagprompushgateway:v1。4。3myharbor。commonitoringpushgateway:v1。4。3dockerpushmyharbor。commonitoringpushgateway:v1。4。36、kubestatemetricschartskubestatemetricsvalues。yamldockerpullbitnamikubestatemetricsdockertagbitnamikubestatemetrics:latestmyharbor。commonitoringkubestatemetrics:latestdockerpushmyharbor。commonitoringkubestatemetrics:latest
修改镜像values。yaml,chartskubestatemetricsvalues。yaml4)安装prometheusdryrundebughelminstallprometheus。nprometheuscreatenamespacesetserver。ingress。enabledtruesetserver。ingress。hosts{prometheus。k8s。local}setserver。ingress。paths{}setserver。ingress。pathTypePrefixsetalertmanager。ingress。enabledtruesetalertmanager。ingress。hosts{alertmanager。k8s。local}setalertmanager。ingress。paths{}setalertmanager。ingress。pathTypePrefixsetgrafana。ingress。enabledtruesetgrafana。ingress。hosts{grafana。k8s。local}setgrafana。ingress。paths{}setgrafana。ingress。pathTypePrefix
NOTESNAME:prometheusLASTDEPLOYED:SatSep1710:06:042022NAMESPACE:prometheusSTATUS:deployedREVISION:1TESTSUITE:NoneNOTES:ThePrometheusservercanbeaccessedviaport80onthefollowingDNSnamefromwithinyourcluster:prometheusserver。prometheus。svc。cluster。localGetthePrometheusserverURLbyrunningthesecommandsinthesameshell:exportPODNAME(kubectlgetpodsnamespaceprometheuslappprometheus,componentserverojsonpath{。items〔0〕。metadata。name})kubectlnamespaceprometheusportforwardPODNAME9090ThePrometheusalertmanagercanbeaccessedviaport80onthefollowingDNSnamefromwithinyourcluster:prometheusalertmanager。prometheus。svc。cluster。localFromoutsidethecluster,thealertmanagerURL(s)are:http:alertmanager。k8s。localWARNING:PodSecurityPolicyhasbeenmovedtoaglobalproperty。use。Values。podSecurityPolicy。enabledwithpodbasedannotations(e。g。。Values。nodeExporter。podSecurityPolicy。annotations)ThePrometheusPushGatewaycanbeaccessedviaport9091onthefollowingDNSnamefromwithinyourcluster:prometheuspushgateway。prometheus。svc。cluster。localGetthePushGatewayURLbyrunningthesecommandsinthesameshell:exportPODNAME(kubectlgetpodsnamespaceprometheuslappprometheus,componentpushgatewayojsonpath{。items〔0〕。metadata。name})kubectlnamespaceprometheusportforwardPODNAME9091FormoreinformationonrunningPrometheus,visit:https:prometheus。io
查看kubectlgetpods,svc,ingressnprometheus
5)访问web
prometheus:http:prometheus。k8s。local
alertmanager:http:alertmanager。k8s。local
6)配置https并更新1、生成证书(有证书可忽略)cdoptk8cdtls生成CA证书私钥opensslgenrsaoutca。key4096生成CA证书opensslreqx509newnodessha512days3650subjCCNSTGuangdongLShenzhenOk8s。localOUk8s。localCNk8s。localkeyca。keyoutca。crt创建域名证书,生成私钥opensslgenrsaoutk8s。local。key4096生成证书签名请求CSRopensslreqsha512newsubjCCNSTGuangdongLShenzhenOk8s。localOUk8s。localCNk8s。localkeyk8s。local。keyoutk8s。local。csr生成x509v3扩展catv3。extEOFauthorityKeyIdentifierkeyid,issuerbasicConstraintsCA:FALSEkeyUsagedigitalSignature,nonRepudiation,keyEncipherment,dataEnciphermentextendedKeyUsageserverAuthsubjectAltNamealtnames〔altnames〕DNS。1k8s。localDNS。2。k8s。localDNS。3k8s。localEOF创建k8s。local访问证书opensslx509reqsha512days3650extfilev3。extCAca。crtCAkeyca。keyCAcreateserialink8s。local。csroutk8s。local。crt
2、修改配置alertmanager:。。。ingress:。。。tls:secretName:prometheusalertstlshosts:alertmanager。k8s。local。。。server:。。。ingress:。。。tls:secretName:prometheusalertstlshosts:alertmanager。k8s。local。。。secrets:name:prometheusalertstlscert:tlsk8s。local。crtkey:tlsk8s。local。key
新增一个templatestlssecret。yaml文件{{range。Values。secrets}}apiVersion:v1kind:Secretmetadata:name:{{。name}}data:tls。crt:{{。Files。Get。certb64enc}}tls。key:{{。Files。Get。keyb64enc}}type:kubernetes。iotls{{end}}3、upgrade更新helmupgradeprometheus。nprometheus
查看kubectlgetpods,svc,ingressnprometheus
web访问:
https:prometheus。k8s。local
https:alertmanager。k8s。local7)卸载helmuninstallprometheusnprometheuskubectldeletepodnprometheuskubectlgetpodnprometheusawkNR1{print1}forcekubectlpatchnsprometheusp{metadata:{finalizers:null}}kubectldeletensprometheusforce三、使用Helm安装Grafana
地址:https:artifacthub。iopackageshelmgrafanagrafana1)配置源helmrepoaddgrafanahttps:grafana。github。iohelmchartshelmrepoupdategrafanahelmsearchrepografanagrafana2)下载grafana包helmpullgrafanagrafanatarxfgrafana6。38。3。tgz3)修改镜像grepA3image:grafanavalues。yaml
search》pull》tag》push1、grafanadockersearchgrafanadockerpullgrafanagrafanadockertaggrafanagrafana:latestmyharbor。commonitoringgrafana:9。1。5dockerpushmyharbor。commonitoringgrafana:9。1。52、batsdockersearchbatsdockerpullbatsbats:v1。4。1dockertagbatsbats:v1。4。1myharbor。commonitoringbats:v1。4。1dockerpushmyharbor。commonitoringbats:v1。4。13、busyboxdockersearchbusyboxdockerpullbusybox:1。31。1dockertagbusybox:1。31。1myharbor。commonitoringbusybox:1。31。1dockerpushmyharbor。commonitoringbusybox:1。31。14、k8ssidecardockersearchk8ssidecardockerpullquay。iokiwigridk8ssidecar:1。19。2dockertagquay。iokiwigridk8ssidecar:1。19。2myharbor。commonitoringk8ssidecar:1。19。2dockerpushmyharbor。commonitoringk8ssidecar:1。19。25、grafanaimagerendererdockersearchgrafanaimagerendererdockerpullgrafanagrafanaimagerenderer:latestdockertaggrafanagrafanaimagerenderer:latestmyharbor。commonitoringgrafanaimagerenderer:latestdockerpushmyharbor。commonitoringgrafanaimagerenderer:latest
修改镜像values。yaml4)安装grafanahelminstallgrafana。ngrafanacreatenamespacesetingress。enabledtruesetingress。hosts{grafana。k8s。local}setingress。paths{}setingress。pathTypePrefix
NOTESNAME:grafanaLASTDEPLOYED:SatSep1711:41:142022NAMESPACE:grafanaSTATUS:deployedREVISION:1NOTES:1。Getyouradminuserpasswordbyrunning:kubectlgetsecretnamespacegrafanagrafanaojsonpath{。data。adminpassword}base64echo2。TheGrafanaservercanbeaccessedviaport80onthefollowingDNSnamefromwithinyourcluster:grafana。grafana。svc。cluster。localIfyoubindgrafanato80,pleaseupdatevaluesinvalues。yamlandreinstall:securityContext:runAsUser:0runAsGroup:0fsGroup:0command:setcapcapnetbindserviceepusrsbingrafanaservershrun。shDetailsrefertohttps:grafana。comdocsinstallationconfigurationhttpport。Orgrafanawouldalwayscrash。Fromoutsidethecluster,theserverURL(s)are:http:grafana。k8s。local3。Loginwiththepasswordfromstep1andtheusername:adminWARNING:Persistenceisdisabled!!!YouwillloseyourdatawhentheGrafanapodisterminated。
查看kubectlgetpods,svc,ingressngrafana
5)访问web
http:grafana。k8s。local
账号:admin,密码通过下面命令获取0D0NfEWWFx9qsBiKR8PuFVxf6PPa9o8YGhZZaNXYkubectlgetsecretnamespacegrafanagrafanaojsonpath{。data。adminpassword}base64echo
6)配置https并更新
证书的就用上面的,注意记得把stl文件copy到grafana部署目录1、修改配置。。。ingress:。。。tls:secretName:prometheusalertstlshosts:grafana。k8s。local。。。secrets:name:grafanaalertstlscert:tlsk8s。local。crtkey:tlsk8s。local。key
新增一个templatestlssecret。yaml文件{{range。Values。secrets}}apiVersion:v1kind:Secretmetadata:name:{{。name}}data:tls。crt:{{。Files。Get。certb64enc}}tls。key:{{。Files。Get。keyb64enc}}type:kubernetes。iotls{{end}}2、upgrade更新helmupgradegrafana。ngrafana
查看kubectlgetpods,svc,ingressngrafana
web访问:https:grafana。k8s。local
账号:admin,密码通过下面命令获取0D0NfEWWFx9qsBiKR8PuFVxf6PPa9o8YGhZZaNXYkubectlgetsecretnamespacegrafanagrafanaojsonpath{。data。adminpassword}base64echo
7)卸载helmuninstallgrafanangrafanakubectldeletepodngrafanakubectlgetpodngrafanaawkNR1{print1}forcekubectlpatchnsgrafanap{metadata:{finalizers:null}}kubectldeletensgrafanaforce
PrometheusonK8s环境部署就先到这里了,下一篇文章讲具体怎么使用Prometheusgrafana监控k8s资源,请小伙伴耐心等待哦,有任何疑问欢迎给我留言哦
投诉 评论
马布里如今是北京纯爷们!坦言拿到中国绿卡后,妈妈告诉所有人在这个全球化的社会,每一个国家之间的交往都是非常密切的,这样的关系不仅体现在人际交往上,就连体育界也渗透了不少。在CBA中,中国引进了很多外援选手,希望能够通过不一般的力量来取……
岐黄心药一颗清凉的心,生发于安定的内在被炎热天气烤得浮躁不安的时候,人们总是习惯性地寻求清凉。孰不知真正的清凉是由内至外的。一颗清凉的心,生发于安定的内在,来自于有可以持续专注做的事情,来自于对生命规律的洞察和顺应……
致每一个努力度过艰难时光的你朋友你好,展信佳。万千人海中你读到这封信,是否正在积极调整突然居家的节奏,向往着大学校园外面的天空,躲开孩子的吵闹和同事视频会议,在网课间隙想念和同学一起学习玩闹的时光,……
中国网民规模达10。51亿普及率74。4中新社北京8月31日电(记者刘育英)中国互联网络信息中心(CNNIC)8月31日发布的第50次《中国互联网络发展状况统计报告》(简称《报告》)显示,截至2022年6月,中国网民……
希格斯玻色子发现10年了,下一个物理学突破性发现会是什么?大型强子对撞机(LHC)中的紧凑子线圈早在20世纪60年代,就有理论预测存在一种叫作希格斯玻色子的基本粒子,这种玻色子赋予了粒子质量。2012年7月4日,欧洲核子研……
奇葩的美女哲学街拍是否涉嫌侵犯隐私?什么人喜欢街拍?街拍是否涉嫌侵犯隐私?什么人喜欢街拍?街拍是否侵犯人的隐私,是有很大争议的。我们现在看到的许多街拍照片,实际上是模特和摄影师的合作。我们仔细想一想,我们平时在大街上……
记下每刻悟思在头条看见彼此不经意和身心放松,如此全神贯注入迷,这就是我的自媒体状态与美妙气场到来年三月底,我在头条创作就整两年了将这些金贵片刻带到现实中,一路欢美闪光,变成激情……
诗歌留得青山在不怕没柴烧(作者段民生)留下了真情点点,朋友们情谊无限。送上美好的祝福,盼着朋友们团团圆圆。愿你天天安康,奔跑在湿地公园。早上好美问候你,犹如花好月圆。朋友情谊深深,永远铭记于……
在冷湖,追逐最亮的星夜幕下的冷湖天文观测基地。柴达木循环经济试验区冷湖科技创新产业园区管理委员会供图核心阅读每当夜幕降临,浩瀚戈壁星河灿烂,光学望远镜静静矗立,捕捉宇宙讯息得天独厚的自……
1988年,泰森前妻在豪华游艇上被拍,泰森看到后闯入特朗普办在阅读此文前,麻烦您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持。1988年,拳王泰森的前妻罗宾吉文斯被美娱乐杂志拍到在美国商业大亨特朗普……
安信信托也丢了保险箱,风控出了啥问题?作者高远山来源独角金融信托公司与房产企业上演保险箱争夺战。前有中融国际信托有限公司(下称中融信托)保险柜被撬,后有安信信托(600816。SH,现ST安信)保……
今日油价国内油价最新调整后,今天11月13日92号95号汽油国际油价先跌后涨,新一轮国内油价调整时间确定,全国油价下调或将搁浅!今天是2022年11月13日,有料财经为大家带来了今日国内油价调整最新消息。国内油价或将下调的消……