Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
| info:cursos:pue:devops:sesion3 [15/02/2019 10:57] – [varios] mate | info:cursos:pue:devops:sesion3 [04/03/2019 06:05] (actual) – [influx+grafana+telegraf] mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| - | = Sesión 3 | + | = Sesión 3 : swarm |
| == varios | == varios | ||
| * spreed brain?: | * spreed brain?: | ||
| Línia 5: | Línia 5: | ||
| * 5 nodos producción | * 5 nodos producción | ||
| * '' | * '' | ||
| + | * docker mysql: importar los fichero SQL de la carpeta **/ | ||
| + | * visto en el Dockerfile (https:// | ||
| + | * directiva **constrains** para deployar en máquinas concretas | ||
| + | * nodo, os | ||
| + | * daryl : plantillas + variables = yaml personalizados (imagino que cualquier otra cosa) | ||
| + | * portainer : App templates | ||
| == swarm | == swarm | ||
| + | === conceptos | ||
| + | * swarm: '' | ||
| + | * node: '' | ||
| + | * stack: '' | ||
| + | * service '' | ||
| + | * tasks '' | ||
| + | |||
| + | === inicialización + gestión nodos | ||
| * '' | * '' | ||
| * para crear un swarm con varios nodos, solo 1 ha de iniciarlo | * para crear un swarm con varios nodos, solo 1 ha de iniciarlo | ||
| * '' | * '' | ||
| * podemos añadirnos como manager o como workers al swarm creado | * podemos añadirnos como manager o como workers al swarm creado | ||
| - | * '' | + | * '' |
| - | * '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| * '' | * '' | ||
| + | |||
| + | === stacks & servicios | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === logs & inspección | ||
| + | * '' | ||
| + | * si no puedes ver logs del contenedor, mirar en logs de docker: | ||
| + | * / | ||
| + | * / | ||
| + | * o en algún concentrador (ELK) | ||
| + | * inspeccionar en el nodo que se está ejecutando: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| + | |||
| + | * '' | ||
| + | * '' | ||
| === portainer | === portainer | ||
| + | requiere tener una red llamada proxy creada: '' | ||
| <code yaml; swarm-portainer.yml> | <code yaml; swarm-portainer.yml> | ||
| version: ' | version: ' | ||
| Línia 73: | Línia 109: | ||
| === influx+grafana+telegraf | === influx+grafana+telegraf | ||
| - | <code yaml; stack.yml> | + | <code yaml; stack-triolalala.yml> |
| + | version: ' | ||
| + | |||
| + | services: | ||
| + | influxdb: | ||
| + | image: influxdb: | ||
| + | command: | ||
| + | -config / | ||
| + | environment: | ||
| + | INFLUXDB_ADMIN_USER: | ||
| + | INFLUXDB_ADMIN_PASSWORD: | ||
| + | networks: | ||
| + | - agents | ||
| + | - grafana | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | deploy: | ||
| + | replicas: 1 | ||
| + | |||
| + | telegraf: | ||
| + | image: telegraf: | ||
| + | environment: | ||
| + | HOST_PROC: '/ | ||
| + | HOST_SYS: '/ | ||
| + | HOST_ETC: '/ | ||
| + | networks: | ||
| + | - agents | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | deploy: | ||
| + | mode: global | ||
| + | restart_policy: | ||
| + | condition: on-failure | ||
| + | delay: 5s | ||
| + | |||
| + | grafana: | ||
| + | image: grafana/ | ||
| + | environment: | ||
| + | GF_INSTALL_PLUGINS: | ||
| + | volumes: | ||
| + | - / | ||
| + | networks: | ||
| + | - grafana | ||
| + | - proxy | ||
| + | depends_on: | ||
| + | - influxdb | ||
| + | deploy: | ||
| + | replicas: 1 | ||
| + | ports: | ||
| + | - 9002:3000 | ||
| + | |||
| + | networks: | ||
| + | agents: | ||
| + | external: true | ||
| + | grafana: | ||
| + | external: true | ||
| + | proxy: | ||
| + | external: true | ||
| + | </ | ||
| + | <code yaml; stack-kpeiruza.yml> | ||
| # Author: Kenneth Peiruza | # Author: Kenneth Peiruza | ||
| version: ' | version: ' | ||
| Línia 143: | Línia 244: | ||
| </ | </ | ||
| - | * escupe fichero de config base: '' | + | |
| - | <code; telegraf.conf> | + | |
| - | </ | + | * modificado el **inputs.docker**: |
| + | * descomentado endopoint, gather_services | ||
| + | * y el **outputs.influxdb** | ||
| + | * descomentado urls, | ||
| <code; influxdb.conf> | <code; influxdb.conf> | ||
| Línia 273: | Línia 377: | ||
| enabled = true | enabled = true | ||
| run-interval = " | run-interval = " | ||
| + | </ | ||
| + | |||
| + | relevante: | ||
| + | * constrains | ||
| + | * tasks.< | ||
| + | * si apuntas un loadbalancer (traefik) a los master... | ||
| + | * en el caso de este portainer, no desplegamos en al red de docker, si no sobre la máquina loca (pila tcp-ip local) | ||
| + | |||
| + | <code yaml; kpeiruza-portainer.yml> | ||
| + | version: ' | ||
| + | |||
| + | services: | ||
| + | portainer: | ||
| + | image: portainer/ | ||
| + | command: '-H " | ||
| + | ports: | ||
| + | - ${PUBLIC_PORT}: | ||
| + | networks: | ||
| + | - proxy | ||
| + | - portainer_agent | ||
| + | volumes: | ||
| + | - / | ||
| + | - ${REMOTE_MOUNT}/ | ||
| + | deploy: | ||
| + | mode: replicated | ||
| + | replicas: 1 | ||
| + | labels: | ||
| + | traefik.port: | ||
| + | traefik.frontend.rule: | ||
| + | traefik.docker.network: | ||
| + | placement: | ||
| + | constraints: | ||
| + | | ||
| + | agent: | ||
| + | image: portainer/ | ||
| + | environment: | ||
| + | AGENT_CLUSTER_ADDR: | ||
| + | volumes: | ||
| + | - / | ||
| + | ports: | ||
| + | - target: 9001 | ||
| + | published: 9001 | ||
| + | protocol: tcp | ||
| + | mode: host | ||
| + | networks: | ||
| + | - portainer_agent | ||
| + | deploy: | ||
| + | mode: global | ||
| + | placement: | ||
| + | constraints: | ||
| + | |||
| + | |||
| + | |||
| + | networks: | ||
| + | portainer_agent: | ||
| + | external: true | ||
| + | proxy: | ||
| + | external: true | ||
| + | </ | ||
| + | |||
| + | === traefik (con https y let's encrypt) | ||
| + | <code yaml; traefik-proxy.yaml> | ||
| + | version: ' | ||
| + | |||
| + | services: | ||
| + | traefik: | ||
| + | image: library/ | ||
| + | command: | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | networks: | ||
| + | - frontal | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | ports: | ||
| + | - 80:80 | ||
| + | - 443:443 | ||
| + | - 8080:8080 | ||
| + | deploy: | ||
| + | restart_policy: | ||
| + | condition: on-failure | ||
| + | |||
| + | networks: | ||
| + | frontal: | ||
| + | external: true | ||
| + | </ | ||
| + | |||
| + | === traefik (simple) | ||
| + | <code swarm-traefik.yml> | ||
| + | version: ' | ||
| + | |||
| + | services: | ||
| + | traefik: | ||
| + | image: library/ | ||
| + | command: | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | # - " | ||
| + | networks: | ||
| + | - frontal | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | ports: | ||
| + | - 80:80 | ||
| + | - 443:443 | ||
| + | - 8080:8080 | ||
| + | deploy: | ||
| + | restart_policy: | ||
| + | condition: on-failure | ||
| + | |||
| + | networks: | ||
| + | frontal: | ||
| + | external: true | ||
| </ | </ | ||