용기 모니터링 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服务部署和暴露对外访问。