2017-10-04 46 views
0

私はKubernetesクラスタをAWSインスタンス上で実行し、プロメテウスは監視のためにkubernetes内で実行しています。 kubernetesの外部に走っている3つのetcdサーバがあり、私はetcetの健康を監視するためにプロメテウスを使用しようとしています。Prometheusは外部etcdを削ることができません

Prometheusはステートフルセットとして展開され、kubelet、ノードエクスポータ、およびそれ自体のメトリックを持っています。しかし、私はetcdからメトリックを得ることができません。ここで

はプロメテウスのconfigの関連する部分である:

apiVersion: v1 
kind: ConfigMap 
metadata: 
    name: prometheus 
    namespace: monitoring 
    data: 
    prometheus.yml: |- 
global: 
    scrape_interval: 30s 
    evaluation_interval: 30s 

rule_files: 
- /etc/alertmanager/*.rules 

scrape_configs: 

- job_name: etcd 
    scheme: https 
    static_configs: 
    - targets: ['x.x.x.x:2379'] 
    tls_config: 
    ca_file: /etc/etcd/ssl/ca.pem 
    cert_file: /etc/etcd/ssl/client.pem 
    key_file: /etc/etcd/ssl/client-key.pem 
    insecure_skip_verify: true 

- job_name: kubelets 
    scheme: https 
    tls_config: 
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 
    insecure_skip_verify: true 
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token 

これは、私はプロメテウスのダッシュボードに取得していますエラーです:

Get https://x.x.x.x.:2379/metrics: x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs 

証明書が自己署名されているものでなければなりません」 insecure_skip_verify "はそれをどう扱うのですか?

答えて

0

etcd3を使用している場合は、etcdクライアントでetcdctlと次の引数を使用し、https://github.com/coreos/etcd/blob/master/Documentation/dev-guide/interacting_v3.mdの手順を使用してetcdサーバーと対話できます。エラーなしで動作するならば、これはinsecure_skip_verify: trueの設定を尊重しないためのプロメテウスの問題だと言います。

--insecure-skip-tls-verify=true skip server certificate verification 
--insecure-transport=true   disable transport security for client connections 
関連する問題