Prometheus on k8s 部署与实战操作进阶篇( 四 )


2、修改镜像源国外镜像源某些镜像无法拉取,我们这里修改prometheus-operator,prometheus,alertmanager,kube-state-metrics,node-exporter,prometheus-adapter的镜像源为国内镜像源 。我这里使用的是中科大的镜像源 。
# 查找grep -rn 'quay.io' *# 批量替换sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' `grep "quay.io" -rl *`# 再查找grep -rn 'quay.io' *grep -rn 'image: ' *3、修改 service 配置类型为 NodePort

为了可以从外部访问 prometheus,alertmanager,grafana,我们这里修改 promethes,alertmanager,grafana的 service 类型为 NodePort 类型 。
【1】修改 prometheus 的 service# 设置对外访问端口,增加如下两行,完整配置也贴出来了 。# type: NodePort# nodePort: 30090vi manifests/prometheus-service.yaml完整配置
apiVersion: v1kind: Servicemetadata:labels:app.kubernetes.io/component: prometheusapp.kubernetes.io/instance: k8sapp.kubernetes.io/name: prometheusapp.kubernetes.io/part-of: kube-prometheusapp.kubernetes.io/version: 2.46.0name: prometheus-k8snamespace: monitoringspec:type: NodePortports:- name: webport: 9090targetPort: webnodePort: 30090- name: reloader-webport: 8080targetPort: reloader-webselector:app.kubernetes.io/component: prometheusapp.kubernetes.io/instance: k8sapp.kubernetes.io/name: prometheusapp.kubernetes.io/part-of: kube-prometheussessionAffinity: ClientIP【2】修改 grafana 的 service完整配置
# 设置对外访问端口,增加如下两行,完整配置也贴出来了 。# type: NodePort# nodePort: 30300vi manifests/grafana-service.yaml完整配置
apiVersion: v1kind: Servicemetadata:labels:app.kubernetes.io/component: grafanaapp.kubernetes.io/name: grafanaapp.kubernetes.io/part-of: kube-prometheusapp.kubernetes.io/version: 9.5.3name: grafananamespace: monitoringspec:type: NodePortports:- name: httpport: 3000targetPort: httpnodePort: 30300selector:app.kubernetes.io/component: grafanaapp.kubernetes.io/name: grafanaapp.kubernetes.io/part-of: kube-prometheus【3】修改 alertmanager 的 service# 设置对外访问端口,增加如下两行,完整配置也贴出来了 。# type: NodePort# nodePort: 30093vi manifests/grafana-service.yaml完整配置
apiVersion: v1kind: Servicemetadata:labels:app.kubernetes.io/component: alert-routerapp.kubernetes.io/instance: mainapp.kubernetes.io/name: alertmanagerapp.kubernetes.io/part-of: kube-prometheusapp.kubernetes.io/version: 0.25.0name: alertmanager-mainnamespace: monitoringspec:type: NodePortports:- name: webport: 9093targetPort: webnodePort: 30093- name: reloader-webport: 8080targetPort: reloader-webselector:app.kubernetes.io/component: alert-routerapp.kubernetes.io/instance: mainapp.kubernetes.io/name: alertmanagerapp.kubernetes.io/part-of: kube-prometheussessionAffinity: ClientIP4、开始安装kubectl apply --server-side -f manifests/setupkubectl wait--for cnotallow=Established--all CustomResourceDefinition--namespace=monitoringkubectl apply -f manifests/# 查看kubectl get all -n monitoring
Prometheus on k8s 部署与实战操作进阶篇

文章插图
图片
【温馨提示】如果上面下载镜像失败,可以使用以下地址下载,当然也可以去hub.Docker.com下载 。
这里也提供镜像包
链接:https://pan.baidu.com/s/10ksK1OtKwlvZqbExKmZgLw?pwd=bcu6提取码:bcu6
6、浏览器访问Prometheus:http://ip:30090/
Prometheus on k8s 部署与实战操作进阶篇

文章插图
图片
Grafana :http://ip:30300/默认账号/密码:admin/admin
Prometheus on k8s 部署与实战操作进阶篇

文章插图
图片
Alertmanager:http://ip:30093/
Prometheus on k8s 部署与实战操作进阶篇

文章插图
图片
5、卸载kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup4)【第二种安装方法】通过 helm3 开始安装 kube-prometheus-stack1、下载安装包# 添加repohelm repo add prometheus-community https://prometheus-community.github.io/helm-chartshelm repo update# 查询helm search repo prometheus-community/prometheus# 拉包helm pull prometheus-community/kube-prometheus-stack --versinotallow=48.4.0# 解包tar -xf kube-prometheus-stack-48.4.0.tgz2、修改配置查看所需要的镜像,最好提前下载镜像,要不然很大可能会因为下载镜像失败而安装失败 。
grep -A3 'image:' kube-prometheus-stack/values.yaml
Prometheus on k8s 部署与实战操作进阶篇

文章插图
图片
3、开始安装helm install mykube-prometheus-stack kube-prometheus-stack-n kube-prometheus-stack --create-namespace--set prometheus-node-exporter.hostRootFsMount=false--set prometheus.ingress.enabled=true--set prometheus.ingress.hosts='{prometheus.k8s.local}'--set prometheus.ingress.paths='{/}'--set prometheus.ingress.pathType=Prefix--set alertmanager.ingress.enabled=true--set alertmanager.ingress.hosts='{alertmanager.k8s.local}'--set alertmanager.ingress.paths='{/}'--set alertmanager.ingress.pathType=Prefix--set grafana.ingress.enabled=true--set grafana.ingress.hosts='{grafana.k8s.local}'--set grafana.ingress.paths='{/}'--set grafana.ingress.pathType=Prefix


推荐阅读