Despliegue Kube-estado-métricas, Kube-estado-métricas utilizadas para obtener el estado de todos los recursos del clúster K8S:
Preparar un espejo:
[root @ hdss7-200 ~] # ventana acoplable quay.io/coreos/kube-state-metrics:v1.5.0 tirón v1.5.0: Tirando de CoreOS / Kube-estado-métricas cd784148e348: Tire completa f622528a393e: Tire completa Digesto: sha256 : b7a3143bd1eb7130759c9259073b9f239d0eeda09f5210f1cd31f1a530599ea1 Estado: descargado nueva imagen para quay.io/coreos/kube-state-metrics:v1.5.0 quay.io/coreos/kube-state-metrics:v1.5.0 [root @ hdss7-200 ~] # docker imágenes | grep Kube-estado-métricas quay.io/coreos/kube-state-metrics v1.5.0 91599517197a 15 meses hace 31.8MB [root @ hdss7-200 ~] # ventana acoplable etiqueta 91599517197a harbor.od.com/public/kube-state- métricas: v1.5.0 [root @ hdss7-200 ~] # docker harbor.od.com/public/kube-state-metrics empuje : v1.5.0 El empuje se refiere a repositorio [harbor.od.com/public/kube-state-metrics] 5b3c36501a0a: Empujado 7bff100f35cb: Empujado v1.5.0: digerir: sha256: 16e9a1d63e80c19859fc1e2727ab7819f89aeae5f8ab5c3380860c2f88fe0a58 tamaño: 739
Preparar una lista de recursos:
[root @ hdss7-200 Kube-estado-métricas] rbac.yaml # cat apiVersion: v1 tipo: ServiceAccount metadatos: etiquetas: addonmanager.kubernetes.io/mode: Conciliar kubernetes.io/cluster-service: "verdadero" nombre: kube -estado-métricas de espacio de nombres: Kube-sistema --- apiVersion: rbac.authorization.k8s.io/v1 tipo: ClusterRole metadatos: etiquetas: addonmanager.kubernetes.io/mode: Conciliar kubernetes.io/cluster-service: "true" nombre: estatales Kube-metrics reglas: - apiGroups: - "" recursos: - configmaps - secrets - nodos - vainas - servicios - resourcequotas - replicationcontrollers - limitranges - persistentvolumeclaims - persistentvolumes - espacios de nombres - puntos finales verbos: - Lista - Mira - apiGroups: - política de recursos: - poddisruptionbudgets verbos: - Lista - Mira - apiGroups: - extensiones de recursos: - daemonsets - despliegues - replicasets verbos: - lista - Mira - apiGroups: - Aplicaciones recursos: - statefulsets verbos: - lista - Mira - apiGroups: - lote recursos: - cronjobs - empleos verbos: - Lista - Mira - apiGroups: - AutoScaling recursos: - horizontalpodautoscalers verbos: - Lista - reloj --- apiVersion: rbac.authorization.k8s.io / v1 tipo: ClusterRoleBinding metadatos: etiquetas: addonmanager.kubernetes.io/mode: Conciliar kubernetes.io/cluster-service: "verdadero" nombre: estado Kube-métricas roleRef: apiGroup: rbac.authorization.k8s.io tipo: ClusterRole nombre: Kube-estado-métricas temas: - tipo: ServiceAccount nombre: estado Kube-métricas de espacio de nombres: Kube-sistema [root @ hdss7-200 Kube-estado-métricas] dp.yaml # cat apiVersion: extensiones / v1beta1 tipo: Despliegue de metadatos: anotaciones: deployment.kubernetes.io/revision: "2" etiquetas: grafanak8sapp: "true" Kube-estado-métricas de aplicaciones: Nombre: Kube-estado-métricas de espacio de nombres: Kube-sistema de especificación : selector: matchLabels: grafanak8sapp: "true" app: Kube-estado-métricas estrategia: rollingUpdate: maxSurge: 25% maxUnavailable: 25% tipo: RollingUpdate plantilla: metadatos: etiquetas: grafanak8sapp: "true" aplicación: por el estado kube-métricas de especificaciones: contenedores: - nombre: kube-estatal métrica imagen: harbor.od.com/public /kube-state-metrics:v1.5.0 imagePullPolicy: IfNotPresent puertos: - containerPort: 8080 nombre: http-métricas de protocolo: TCP readinessProbe: FailureThreshold: 3 HTTPGet: ruta: / healthz puerto: 8080 esquema: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 tiempo_espera_en_segundos: 5 ServiceAccountName: Kube-estado-métricas
Aplicación de lista de configuración de recursos:
[root @ hdss7-21 ~] # kubectl aplica -f http://k8s-yaml.od.com/kube-state-metrics/rbac.yaml ServiceAccount / Kube-Estado-métricas creadas clusterrole.rbac.authorization.k8s. io / Kube-estado-métricas creadas clusterrolebinding.rbac.authorization.k8s.io/kube-state-metrics crearon [root @ hdss7-21 ~] # kubectl aplicar -f http://k8s-yaml.od.com/kube -estado-métricas / dp.yaml deployment.extensions / Kube-estado-métricas creadas [root @ hdss7-21 ~] # kubectl get vaina -n-kube sistema NOMBRE READY REINICIO DE eSTADO DE EDAD coredns-6b6c4f9648-rrgfx 1/1 Ejecución 0 49m Kube-estado-métricas-8669f776c6-gb6nd 0/1 Ejecución de 0 15s kubernetes-salpicadero-76dcdb4677-c847s 1/1 Ejecución de 0 38m traefik-entrada-h2jpc 1/1 Ejecución de 0 2d traefik-entrada-k5hgk 1/1 Ejecución de 0 2d [root @ hdss7-21 ~] # rizo 172.7.21.9:8080 / healthz ok
El despliegue de nodo-exportador, nodo-exportador es ayudar a monitorear los recursos de acogida:
Preparar un espejo:
[root @ hdss7-200 ~] # ventana acoplable prom tirón / node-exportador: v0.15.0 v0.15.0: Tirando de baile / node-exportador docker.io/prom/node-exporter:v0.15.0 imagen utiliza SCHEMA1 obsoleto formato de manifiesto . Por favor, actualice una imagen de SCHEMA2 para una mejor compatibilidad en el futuro a. Más información en https://docs.docker.com/registry/spec/deprecated-schema-v1/ aa3e9481fcae: Tire completa a3ed95caeb02: Tire completa afc308b02dc6: Tire completa 4cafbffc9d4f: Tire completa Digesto: sha256: a59d1f22610da43490532d5398b3911c90bfa915951d3b3e5c12d3c0bf8771c3 Estado: la imagen más reciente descargado de forma prom / node-exportador: v0.15.0 docker.io/prom/node-exporter:v0.15.0 [root @ hdss7-200 ~] # imágenes ventana acoplable | grep nodo exportador: v0.15.0 [root @ hdss7-200 ~] # imágenes ventana acoplable | grep nodo exportador prom / node-exportador v0.15.0 hace 2 años 12d51ffa2b22 22.8MB [root @ hdss7-200 ~] etiqueta # ventana acoplable 12d51ffa2b22 harbor.od.com/public/ node-exportador: v0.15.0 [root @ hdss7-200 ~] # ventana acoplable empuje harbor.od.com/public/node-exporter:v0.15.0 El empuje se refiere a repositorio [harbor.od.com/public/node-exporter ] 5f70bf18a086: Montada desde / pausa pública 1c7f6350717e: Empujado a349adf62fe1: Empujado c7300f623e77: Empujado v0.15.0: digerir: sha256: tamaño 57d9b335b593e4d0da1477d7c5c05f23d9c3dc6023b3e733deb627076d4596ed: 1979
Preparar una lista de recursos:
[root @ hdss7-200 nodo-exportador] # cat ds.yaml tipo: DaemonSet apiVersion: extensiones / v1beta1 metadatos: nombre: node-exportador espacio de nombres: Kube-sistema de etiquetas: demonio: "nodo-exportador" grafanak8sapp: "true" spec : selector: matchLabels: demonio: "nodo-exportador" grafanak8sapp: "true" plantilla: metadatos: nodo-exportador: nombre de etiquetas: demonio: "nodo-exportador" grafanak8sapp: "true" spec: volúmenes: - nombre: proc rutaServidor: camino:/ proc escribir: "" - nombre: sys rutaServidor: sys /: camino tipo: "" contenedores: - nombre: nodo-exportador imagen: harbor.od.com/public/node-exporter:v0.15.0 imagePullPolicy: IfNotPresent args: - - -path.procfs = / host_proc - --path.sysfs = / host_sys puertos: - nombre: nodo-exportador HostPort: 9100 containerPort: 9100 Protocolo: TCP volumeMounts: - nombre: sys readOnly: verdadera ruta de montaje: / host_sys - nombre: proc readOnly: verdadera ruta de montaje: / host_proc hostNetwork: verdadera [root @ hdss7-21 ~] # kubectl aplicar -f http://k8s-yaml.od.com/node-exporter/ds.yaml daemonset.extensions / node-exportador creado
Debido a la forma en que el despliegue daemonset nodo exportador, un POD se ejecuta en cada nodo de computación voluntad
[root @ hdss7-21 ~] # kubectl get vaina -n-kube sistema -o amplia NOMBRE ESTADO LISTO REINICIO DE EDAD IP NODE GATES NOMINADO NODO DE PREPARACIÓN coredns-6b6c4f9648-rrgfx 1/1 Ejecución de 0 63m 172.7.22.7 hdss7-22.host .com <ninguno> <ninguno> kube-estado-métricas-8669f776c6-gb6nd 1/1 Ejecución de 0 14m 172.7.21.9 hdss7-21.host.com <ninguno> <ninguno> kubernetes-salpicadero-76dcdb4677-c847s 1/1 Running 0 52m 172.7.22.10 hdss7-22.host.com <ninguno> <ninguno> nodo-exportador-gn2hb 1/1 Ejecución de 0 3m 10.4.7.22 hdss7-22.host.com <ninguno> <ninguno> node-exportador-nzww6 1/1 Ejecución de 0 3m 10.4.7.21 hdss7-21.host.com <ninguno> <ninguno> traefik-entrada-h2jpc 1/1 Ejecución de 0 2d1h 172.7.21.3 hdss7-21.host.com <ninguno > <ninguno> traefik-entrada-k5hgk 1/1 Ejecución de 0 2d 172.7.22.2 hdss7-22.host.com <ninguno> <ninguno>
cadvisor despliegue, cadvisor es ayudar a nuestros paradero kubelet recursos consumidos por cada contenedor:
Preparar un espejo:
[root @ hdss7-200 nodo-exportador] # ventana acoplable Google tirón / cadvisor: v0.28.3 v0.28.3: Tirando de Google / cadvisor ab7e51e37a18: Tire completa a2dc2f1bce51: Tire completa 3b017de60d4f: Tire completa Digesto: 9e347affc725efd3bfe95aa69362cf833aa810f84e6cb9eed1cb65c35216632a: sha256 Estado: descargada más reciente la imagen de google / cadvisor: v0.28.3 docker.io/google/cadvisor:v0.28.3 [root @ hdss7-200 nodo-exportador] # [root @ hdss7-200 nodo-exportador] # [root @ hdss7-200 node- exportador] imágenes # docker | grep google / cadvisor google / v0.28.3 cadvisor 75f88e3ec333 hace 2 años 62.2MB [root @ hdss7-200 nodo-exportador] etiqueta # ventana acoplable 75f88e3ec333 harbor.od.com/public/cadvisor:v0.28.3 [root @ hdss7-200 nodo-exportador] # cargador de muelle de empuje harbor.od.com/public/cadvisor: v0.28.3 El empuje se refiere a repositorio [harbor.od.com/public/cadvisor] f60e27acaccf: Empujado f04a25da66bf: Empujado 52a5560f4ca0: Empujado v0.28.3: digerir: sha256: 34d9d683086d7f3b9bbdab0d1df4518b230448896fa823f7a6cf75f66d64ebe1 tamaño: 951
nodo de computación Soft está conectado a todas las modificaciones:
montar -o remount, rw / sys / fs / cgroup / ln -s / sys / fs / cgroup / cpu, cpuacct / sys / fs / cgroup / cpuacct, cpu
Aplicación de lista de configuración de recursos:
[root @ hdss7-22 ~] # kubectl aplicar -f http://k8s-yaml.od.com/cadvisor/ds.yaml daemonset.apps / cadvisor creado [root @ hdss7-22 ~] # kubectl -n kube- sistema de obtener vaina NOMBRE eSTADO LISTO reinicia EDAD cadvisor-cdtzg 1/1 Ejecución de 0 12s cadvisor-pbmb7 1/1 Ejecución de 0 12s coredns-6b6c4f9648-rrgfx 1/1 Ejecución de 0 82m Kube-estado-métricas-8669f776c6-gb6nd 1/1 de reproducción 0 33m kubernetes-salpicadero-76dcdb4677-c847s 1/1 Ejecución de 0 71m nodo-exportador-gn2hb 1/1 Ejecución de 0 22m node-exportador-nzww6 1/1 Ejecución de 0 22m traefik-entrada-h2jpc 1/1 Ejecución de 0 2d1h traefik-entrada-k5hgk 1/1 Ejecución de 0 2d1h