KUBE-상태 메트릭 K8S 모니터링

용기 모니터링 KUBE 상태 메트릭스

참조 : https://github.com/kubernetes/kube-state-metrics/tree/master/kubernetes

          https://www.kubernetes.org.cn/5435.html

 

이론적으로

메트릭 서버 (또는 heapster)이 API를 서버 CPU, 메모리 사용량 등 모니터링 지표에서 얻은, 및 influxdb 또는 클라우드 공급 업체로, 백엔드 스토리지로 보내, 그는 현재 중심 역할입니다 : HPA 및 기타 구성 요소에 지표 의사 결정 지원을 제공합니다.

 KUBE-국가 통계는 이유가 없다, 취득일은 배포 또는 daemonset 등 다양한 자원을 K8S에 초점을 왜 메트릭 서버의 능력에 KUBE-국가 통계, 그들은 자연에 같은 초점을하지 않기 때문에 가. 메트릭 서버는 본질적 모니터링 시스템이며, 데이터는 특정 서면 저장 포맷을 취득한다. KUBE-국가 통계는 건강 K8S 메모리에 스냅 샷을 만들어, 새로운 목표를 획득,하지만 그는 이러한 지표를 수출 할 수있는 능력을 가지고 있지 않은 것입니다.

 

모니터링 할 수있는 지표

각 포드 상태 및 클라이언트에 정확하지 않습니다.

kube_configmap_info

kube_daemonset_

kube_deployment

kube_endpoint

kube_ingress

kube_namespace

kube_node

kube_pod_info

....

기본값은 아이템의 의견을 모니터링.

kube_persistent

kube_hpa

kube_poddisruption

 

 설치 및 배포

[루트 @ 메르의 KUBE-국가 통계] KUBE 상태 - 측정 - service.yaml에있는 파일에 대한 # KUBE-국가 통계-클러스터 역할 binding.yaml KUBE 상태 - 측정 - 클러스터 role.yaml KUBE 상태 -metrics-deployment.yaml KUBE-국가 통계 서비스 - account.yaml;은 wget 않습니다 https://raw.githubusercontent.com/kubernetes/kube-state-metrics/master/kubernetes/$file;done

 

[루트 @ 마스터 KUBE-상태 메트릭] #은 -f 적용 kubectl ./

[루트 @ 마스터 ~] # kubectl GET 포드 -n KUBE 시스템 | 그렙 메트릭

KUBE - 상태 - 측정 -74f9f4ddb9-kzdbj 1/1 0 19m를 실행

측정은 -server-v0.3.3-6448dcfb78-rrhd8 2/2이 20 시간을 실행

[루트 @ 마스터 ~] # kubectl GET SVC -n KUBE 시스템 | 그렙 메트릭      

KUBE - 상태 - 메트릭     ClusterIP 10.103.111.189 <없음> 8080 / TCP, 8081 / TCP의 20m

측정 -server ClusterIP 10.108.249.201 <없음> 443 / TCP의 20 시간

[루트 @ 마스터 ~] #

컨테이너 내부 액세스 정상 표시됩니다.

 

[루트 @ 마스터 ~] #

이 서비스를 통해 그레스 노출 될 필요가있다.

  

일반 방문, 브라우저는 정상이었다, 호스트 파일을 구성됩니다.

 

관련 명령 요약.

[루트 @ 마스터 ~] # kubectl GET SVC -n KUBE 시스템                          

이름 유형 CLUSTER-IP 외부 IP PORT (S) AGE

KUBE 상태 메트릭스 ClusterIP 10.103.111.189   <없음> 8080 / TCP, 8081 / TCP를 101m

[루트 @ 마스터 ~] # 개의 kubectl는 -n KUBE-시스템을 보내고받을

이름은 주소의 포트 AGE를 호스팅

진입 - KUBE-상태 metrics.kube.state              80 25m를

[루트 @ 마스터 ~] # 개의 kubectl 설명 보내고 / 진입 - KUBE 상태 -n KUBE 시스템  

이름 :             진입 - KUBE 상태

네임 스페이스 : KUBE 시스템

주소:         

Default backend:  default-http-backend:80 (<none>)

 

默认是Clusterip方式部署,通过ingress暴露服务。

[root@master ~]# cat ingress_kube-state.yaml

apiVersion: extensions/v1beta1

kind: Ingress

metadata:

  name: ingress-kube-state

  namespace: kube-system

spec:

  rules:

  - host: metrics.kube.state

    http:

      paths:

      - path: /

        backend:

          serviceName: kube-state-metrics

          servicePort: 8080

 

配置granfa组件,查看。

 

自此完成了容器监控kube-state-metrics服务部署和暴露对外访问。

추천

출처www.cnblogs.com/sunnyyangwang/p/10943788.html