プロメテウスモニタリングモニタリング/ kube-controller-manager / 0(0/0アップ)の問題を解決します

Kubernetesを使用してプロメテウスモニタリングを構築しました。大きな問題はありませんが、monitoring / kube-controller-manager / 0(0/0 up)には価値がありません。

通常、この問題は、Kubernetesがデプロイされたときに対応するラベルがないために発生し、リソースを見つけることができなくなります。

問題

質問1:IPアドレス

通常は開いていますが、このリスニングポートは127.0.0.1であり、Prometheusは直接アクセスできません

[root@k8s-master01 jiankong]# netstat -lntp | grep control
tcp        0      0 127.0.0.1:10257         0.0.0.0:*               LISTEN      112736/kube-control 
tcp6       0      0 :::10252                :::*                    LISTEN      112736/kube-control

問題2:SVCにラベルリソースがない

[root@k8s-master01 jiankong]# kubectl get servicemonitors.monitoring.coreos.com -n monitoring kube-controller-manager -oyaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  annotations:
..............................
      sourceLabels:
      - __name__
    - action: drop
      regex: etcd_(debugging|disk|request|server).*
      sourceLabels:
      - __name__
    port: http-metrics
  jobLabel: k8s-app
  namespaceSelector:
    matchNames:
    - kube-system
  selector:
    matchLabels:
      k8s-app: kube-controller-manager  #通过这个标签匹配kube-controller-manager

[root@k8s-master01 jiankong]# kubectl get svc -n kube-system -l k8s-app= kube-controller-manager
error: name cannot be provided when a selector is specified

#这边在kube-system没有这个标签的svc,所以无法匹配到

 

解決する:

1.リスニングアドレスを変更します

vim /etc/kubernetes/manifests/kube-controller-manager.yaml

    - --bind-address=0.0.0.0

Kubernetes通信には双方向の証明書が必要なため、0.0.0.0を開くことができます。

 

2. svcepタグを追加します

apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: kube-controller-manager
  name: kube-controller-manage-monitor
  namespace: kube-system
spec:
  ports:
  - name: http-metrics
    port: 10252
    protocol: TCP
    targetPort: 10252
  sessionAffinity: None
  type: ClusterIP

apiVersion: v1
kind: Endpoints
metadata:
  labels:
    k8s-app: kube-controller-manager
  name: kube-controller-manage-monitor
  namespace: kube-system
subsets:
- addresses:
  - ip: 192.168.0.100
  ports:
  - name: http-metrics
    port: 10252
    protocol: TCP

 

3.テスト

 

おすすめ

転載: blog.csdn.net/heian_99/article/details/114971123