Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Següent revisió | Revisió prèvia | ||
| info:cursos:pue:devops:sesion16 [06/04/2019 00:45] – creat mate | info:cursos:pue:devops:sesion16 [06/04/2019 23:18] (actual) – [Sesión 16 prometheus on kubernetes] mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| = Sesión 16 prometheus on kubernetes | = Sesión 16 prometheus on kubernetes | ||
| + | * [[https:// | ||
| == google cloud | == google cloud | ||
| * '' | * '' | ||
| Línia 31: | Línia 32: | ||
| namespace: kube-system | namespace: kube-system | ||
| </ | </ | ||
| - | * obtener password: '' | + | * obtener password: '' |
| * igual no necesario | * igual no necesario | ||
| * inicializamos helm'' | * inicializamos helm'' | ||
| * '' | * '' | ||
| + | * tiller: parte servidor de helm, con la que interactuamos | ||
| * creamos para deployar: '' | * creamos para deployar: '' | ||
| * deployamos: '' | * deployamos: '' | ||
| * vemos el deploy: '' | * vemos el deploy: '' | ||
| - | * comprobación de nuestro NGINX desplegado: '' | + | * comprobación de nuestro NGINX desplegado: '' |
| == prometheus | == prometheus | ||
| * [[https:// | * [[https:// | ||
| + | * instalación a través de helm: '' | ||
| + | * verificamos: | ||
| + | * prometheus: '' | ||
| + | * grafana: '' | ||
| + | * alertmanager: | ||
| + | |||
| + | == deploy traefik | ||
| + | para usar con el deploy del WHO (necesitamos la IP asignada por el uso de **nip.io**) | ||
| + | <code yaml; traefik.yaml> | ||
| + | --- | ||
| + | apiVersion: v1 | ||
| + | kind: ServiceAccount | ||
| + | metadata: | ||
| + | name: traefik-ingress-controller | ||
| + | namespace: kube-system | ||
| + | --- | ||
| + | kind: Deployment | ||
| + | apiVersion: extensions/ | ||
| + | metadata: | ||
| + | name: traefik-ingress-controller | ||
| + | namespace: kube-system | ||
| + | labels: | ||
| + | k8s-app: traefik-ingress-lb | ||
| + | spec: | ||
| + | replicas: 1 | ||
| + | selector: | ||
| + | matchLabels: | ||
| + | k8s-app: traefik-ingress-lb | ||
| + | template: | ||
| + | metadata: | ||
| + | labels: | ||
| + | k8s-app: traefik-ingress-lb | ||
| + | name: traefik-ingress-lb | ||
| + | spec: | ||
| + | serviceAccountName: | ||
| + | terminationGracePeriodSeconds: | ||
| + | containers: | ||
| + | - image: traefik | ||
| + | name: traefik-ingress-lb | ||
| + | ports: | ||
| + | - name: http | ||
| + | containerPort: | ||
| + | - name: admin | ||
| + | containerPort: | ||
| + | args: | ||
| + | - --api | ||
| + | - --kubernetes | ||
| + | - --logLevel=INFO | ||
| + | - --metrics | ||
| + | - --metrics.prometheus | ||
| + | - --web | ||
| + | - --web.metrics | ||
| + | - --web.metrics.prometheus | ||
| + | --- | ||
| + | kind: Service | ||
| + | apiVersion: v1 | ||
| + | metadata: | ||
| + | name: traefik-ingress-service | ||
| + | namespace: kube-system | ||
| + | spec: | ||
| + | selector: | ||
| + | k8s-app: traefik-ingress-lb | ||
| + | ports: | ||
| + | - protocol: TCP | ||
| + | port: 80 | ||
| + | name: web | ||
| + | - protocol: TCP | ||
| + | port: 8080 | ||
| + | name: admin | ||
| + | type: LoadBalancer | ||
| + | </ | ||
| + | <code yaml; rbac.yaml> | ||
| + | --- | ||
| + | kind: ClusterRoleBinding | ||
| + | apiVersion: rbac.authorization.k8s.io/ | ||
| + | metadata: | ||
| + | name: traefik-ingress-controller | ||
| + | roleRef: | ||
| + | apiGroup: rbac.authorization.k8s.io | ||
| + | kind: ClusterRole | ||
| + | name: traefik-ingress-controller | ||
| + | subjects: | ||
| + | - kind: ServiceAccount | ||
| + | name: traefik-ingress-controller | ||
| + | namespace: kube-system | ||
| + | --- | ||
| + | kind: ClusterRole | ||
| + | apiVersion: rbac.authorization.k8s.io/ | ||
| + | metadata: | ||
| + | name: traefik-ingress-controller | ||
| + | rules: | ||
| + | - apiGroups: | ||
| + | - "" | ||
| + | resources: | ||
| + | - services | ||
| + | - endpoints | ||
| + | - secrets | ||
| + | verbs: | ||
| + | - get | ||
| + | - list | ||
| + | - watch | ||
| + | - apiGroups: | ||
| + | - extensions | ||
| + | resources: | ||
| + | - ingresses | ||
| + | verbs: | ||
| + | - get | ||
| + | - list | ||
| + | - watch | ||
| + | </ | ||
| + | |||
| + | * nos asignamos admin para poder hacer el rbac: '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * [[http://< | ||
| + | |||
| + | == deploy WHO | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === otro | ||
| + | <code yaml; otro-who.yaml> | ||
| + | apiVersion: extensions/ | ||
| + | kind: Deployment | ||
| + | metadata: | ||
| + | name: whoami-deployment | ||
| + | spec: | ||
| + | replicas: 1 | ||
| + | selector: | ||
| + | matchLabels: | ||
| + | app: whoami | ||
| + | template: | ||
| + | metadata: | ||
| + | labels: | ||
| + | app: whoami | ||
| + | spec: | ||
| + | containers: | ||
| + | - name: whoami-container | ||
| + | image: containous/ | ||
| + | --- | ||
| + | apiVersion: v1 | ||
| + | kind: Service | ||
| + | metadata: | ||
| + | name: whoami-service | ||
| + | spec: | ||
| + | ports: | ||
| + | - name: http | ||
| + | targetPort: 80 | ||
| + | port: 80 | ||
| + | selector: | ||
| + | app: whoami | ||
| + | --- | ||
| + | apiVersion: extensions/ | ||
| + | kind: Ingress | ||
| + | metadata: | ||
| + | name: whoami-ingress | ||
| + | annotations: | ||
| + | kubernetes.io/ | ||
| + | spec: | ||
| + | rules: | ||
| + | - host: whoami.localhost | ||
| + | http: | ||
| + | paths: | ||
| + | - path: / | ||
| + | backend: | ||
| + | serviceName: | ||
| + | servicePort: | ||
| + | </ | ||
| + | |||
| + | == añadir ingress para grafana de prometheus | ||
| + | <code yaml; grafana.yaml> | ||
| + | apiVersion: extensions/ | ||
| + | kind: Ingress | ||
| + | metadata: | ||
| + | name: prometheus-operator-grafana | ||
| + | namespace: monitoring | ||
| + | annotations: | ||
| + | kubernetes.io/ | ||
| + | spec: | ||
| + | rules: | ||
| + | - host: grafana-35-187-100-153.nip.io | ||
| + | http: | ||
| + | paths: | ||
| + | - path: / | ||
| + | backend: | ||
| + | serviceName: | ||
| + | servicePort: | ||
| + | </ | ||
| + | * '' | ||
| + | |||
| + | == otros | ||
| + | * cloudflare : anti-DDOS + CDN | ||
| + | * confluence (10$ por 10 users on-premise) | ||
| + | * '' | ||