在Kubernetes(k8s)中部署Prometheus监控Pod,可以按照以下步骤进行:

(图片来源网络,侵删)
1、创建Prometheus配置文件
创建一个名为prometheusconfigmap.yaml的配置文件,内容如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheusconfig
data:
prometheus.yml: |
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
job_name: \'kubernetesapiservers\'
kubernetes_sd_configs:
role: endpoints
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: default;kubernetes;https
job_name: \'kubernetesnodes\'
kubernetes_sd_configs:
role: node
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
action: labelmap
regex: __meta_kubernetes_node_label_(.+)
2、创建Prometheus部署文件
接下来,创建一个名为prometheusdeployment.yaml的部署文件,内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: prometheus
spec:
replicas: 1
selector:
matchLabels:
app: prometheus
template:
metadata:
labels:
app: prometheus
spec:
containers:
name: prometheus
image: prom/prometheus:v2.30.3
args:
"config.file=/etc/prometheus/prometheus.yml"
"storage.tsdb.path=/prometheus"
ports:
containerPort: 9090
volumeMounts:
name: prometheusconfigvolume
mountPath: /etc/prometheus
name: prometheusstoragevolume
mountPath: /prometheus
volumes:
name: prometheusconfigvolume
configMap:
name: prometheusconfig
name: prometheusstoragevolume
emptyDir: {}
3、创建Prometheus服务文件
创建一个名为prometheusservice.yaml的服务文件,内容如下:
apiVersion: v1
kind: Service
metadata:
name: prometheus
spec:
type: NodePort
selector:
app: prometheus
ports:
protocol: TCP
port: 9090
targetPort: 9090
nodePort: 30000
4、应用配置文件到Kubernetes集群
使用kubectl命令将上述配置文件应用到Kubernetes集群:
kubectl apply f prometheusconfigmap.yaml f prometheusdeployment.yaml f prometheusservice.yaml
5、查看Prometheus运行状态和访问地址
使用以下命令查看Prometheus的运行状态和访问地址:
kubectl get pods l app=prometheus o wide n default # 查看Prometheus运行状态和IP地址等信息 kubectl describe service prometheus # 查看Prometheus服务的详细信息,包括NodePort等访问地址信息
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/461959.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除