K8S prometheus desplegado exportador Común

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


Supongo que te gusta

Origin blog.51cto.com/13520772/2485066
Recomendado
Clasificación