在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联系删除