【发布时间】:2019-02-24 01:25:24
【问题描述】:
我是 Prometheus 的新手,对 kubernetes 还比较陌生,所以请多多包涵。我正在尝试测试 Prometheus 并尝试了两种不同的方法。
-
将 Prometheus 作为 Kubernetes 之外的 docker 容器运行。为此,我创建了这个 Dockerfile:
FROM prom/prometheus ADD prometheus.yml /etc/prometheus/还有这个 yaml 文件:
global: scrape_interval: 15s external_labels: monitor: 'codelab-monitor' scrape_configs: - job_name: 'kubernetes-apiservers' scheme: http tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token kubernetes_sd_configs: - role: endpoints api_server: localhost:443当我运行它时,我得到:
Failed to list *v1.Pod: Get http://localhost:443/api/v1/pods?limit=500&resourceVersion=0: dial tcp 127.0.0.1:443: connect: connection refused" Failed to list *v1.Service: Get http://localhost:443/api/v1/pods?limit=500&resourceVersion=0: dial tcp 127.0.0.1:443: connect: connection refused" Failed to list *v1.Endpoints: Get http://localhost:443/api/v1/pods?limit=500&resourceVersion=0: dial tcp 127.0.0.1:443: connect: connection refused"在一个循环中。当我访问 localhost:9090 但没有数据时,Prometheus 会加载。
-
我认为将 Prometheus 部署为 Kubernetes 部署可能会有所帮助,所以我制作了这个 yaml 并进行了部署。
kind: Deployment apiVersion: extensions/v1beta1 metadata: name: prometheus-monitor spec: selector: matchLabels: app: prometheus template: metadata: labels: app: prometheus spec: containers: - name: prometheus-monitor image: prom/prometheus # args: # - '-config.file=/etc/prometheus/prometheus.yaml' imagePullPolicy: IfNotPresent ports: - name: webui containerPort: 9090部署成功,但如果我转到 localhost:9090,我会得到“ERR_SOCKET_NOT_CONNECTED”。 (我的端口被转发)
谁能告诉我使用 Kubernetes 与使用 Kubernetes 的优势以及如何解决这些问题中的至少一个?
另外,我的配置文件被禁止显示,因为它给出了一个错误,一旦我能够加载 Prometheus,我将对此进行调查。
【问题讨论】:
标签: docker kubernetes yaml prometheus