info:cursos:pue:devops:sesion2

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:pue:devops:sesion2 [09/02/2019 03:48] mateinfo:cursos:pue:devops:sesion2 [23/02/2019 03:12] (actual) – [docker] mate
Línia 1: Línia 1:
 = Sesión 2: Docker = Sesión 2: Docker
-== capas +== info 
-  * desconfiar de lo que no se puede trazar o comprobar +  * [[https://es.atlassian.com/software/confluence]]
-  * agrupar capas de comandos que las generan siempre que sea posible +
-    * RUN, COPY, ADD..+
- +
-== docker +
-  * ''docker run -ti --entrypoint /bin/bash grafana/grafana'' +
-  * supervisor daemon (levanta varios servicios)+
   * https://12factor.net   * https://12factor.net
   * duffle -> helm   * duffle -> helm
   * istio.io : securiza la conexión entre PODs   * istio.io : securiza la conexión entre PODs
-  * [[https://es.atlassian.com/software/confluence]]+ 
 +=== sudo & services
   * sudoreplay   * sudoreplay
     * /var/log/sudo-io     * /var/log/sudo-io
-  * VOLUME+  * supervisor daemon (levanta varios servicios) 
 + 
 + 
 +=== datos 
 +  * datadog : [[https://www.datadoghq.com/]] 
 +  * influx : [[https://www.influxdata.com/]] 
 + 
 +=== Parallel changes 
 +  * Avro / Parquet / Hadoop 
 + 
 +== docker 
 +  * ''docker run -ti --entrypoint /bin/bash grafana/grafana'' 
 + 
 +=== imágenes 
 +  * desconfiar (imágenes) de lo que no se puede trazar o comprobar 
 +    * probablemente no se actualicen 
 +    * si no hay Dockerfile o depende de otras imágenes que no son confiables, no es recomendable 
 + 
 +=== capas 
 +  * agrupar capas de comandos que las generan siempre que sea posible 
 +    * RUN, COPY, ADD... 
 + 
 +=== VOLUME
     * ''docker volume create <nombre>''     * ''docker volume create <nombre>''
-      * por defecto en local, al crear se puede especificar otro drivers+      * por defecto en local, al crear se puede especificar otro (drivers)
     * ''docker volume ls''     * ''docker volume ls''
-    * **/var/lib/docker/volumes/...** +    * ubicación volúmenes: **/var/lib/docker/volumes/...** 
-  NETWORK+ 
 +=== NETWORK
     * bridge = switch software     * bridge = switch software
     * ''brctl show''     * ''brctl show''
     * ''docker network create --attachable <red>''     * ''docker network create --attachable <red>''
       * **%%--%%attachable** permite añadir a mano otros contenedores a una red       * **%%--%%attachable** permite añadir a mano otros contenedores a una red
 +
 +=== varios
   * REDIS   * REDIS
     * usarlo para guardar sesiones, permite ampliar los frontales     * usarlo para guardar sesiones, permite ampliar los frontales
 +
 == DOCKER-COMPOSE == DOCKER-COMPOSE
   * [[https://docs.docker.com/compose/install/]]   * [[https://docs.docker.com/compose/install/]]
   * services : uno o más contenedores haciendo lo mismo   * services : uno o más contenedores haciendo lo mismo
 +<code yaml; docker-compose.yml>
 +version: '3.3'
  
-=== fracaso +services: 
-<code>+   db: 
 +     image: mysql:5.7 
 +     volumes: 
 +       - db_data:/var/lib/mysql 
 +     restart: always 
 +     environment: 
 +       MYSQL_ROOT_PASSWORD: somewordpress 
 +       MYSQL_DATABASE: wordpress 
 +       MYSQL_USER: wordpress 
 +       MYSQL_PASSWORD: wordpress 
 + 
 +   wordpress: 
 +     depends_on: 
 +       - db 
 +     image: wordpress:latest 
 +     ports: 
 +       - "8000:80" 
 +     restart: always 
 +     environment: 
 +       WORDPRESS_DB_HOST: db:3306 
 +       WORDPRESS_DB_USER: wordpress 
 +       WORDPRESS_DB_PASSWORD: wordpress 
 +       WORDPRESS_DB_NAME: wordpress 
 +volumes: 
 +    db_data: {} 
 +</code> 
 +/via: [[https://docs.docker.com/compose/wordpress/]] 
 + 
 +== DOCKER-SWARM 
 +  * stack: conjunto de servicio+volumenes+redes... 
 +  * ''docker stack ls'' 
 +  * ''docker node ls'' 
 +  * ''docker stack servies <STACK>'' 
 +  * ''docker service scale wordpresito_wordpress=10'' : escala a 10 los wordpress 
 +    * en este caso no coordina las sesiones (para eso el REDIS) 
 +  * ''docker stack deploy -c docker-compose.yaml <nombre_stack>'' 
 + 
 +== recortes 
 + 
 + 
 +== continous deployment 
 +  * canary release : 5% + 95% 
 +    * rolling updates : actualizamos un nodo, si todo correcto, a por el siguiente, si no, atrás 
 +  * blue-green (red-black) 
 +  * microservicios 
 +    * cada uno con su storage 
 +    * ACID - CAP (2 de 3) 
 + 
 +== laboratorio 
 +<code; fracaso>
 FROM debian:7-slim  FROM debian:7-slim 
  
Línia 55: Línia 127:
 </code> </code>
  
 +== deberes
 +funciona por separado, pero no junto
 +<code yaml; docker-compose.yml>
 +version: '3.3'
 +
 +services:
 +  db:
 +    image: mysql:5.7
 +    volumes:
 +      - db_data:/var/lib/mysql
 +    environment:
 +      MYSQL_ROOT_PASSWORD: toor 
 +      MYSQL_DATABASE: wordpress
 +      MYSQL_USER: wordpress
 +      MYSQL_PASSWORD: wordpress 
 +
 +  wordpress:
 +    depends_on:
 +      - db
 +    image: wordpress:latest
 +    ports:
 +      - "8080:80"
 +    restart: always
 +    environment:
 +      WORDPRESS_DB_HOST: db:3306
 +      WORDPRESS_DB_USER: wordpress
 +      WORDPRESS_DB_PASSWORD: wordpress
 +      WORDPRESS_DB_NAME: wordpress
 +
 +volumes:
 +  db_data:
 +    driver: local
 +    driver_opts:
 +      type: 'none'
 +      o: 'bind'
 +      device: '${HOME}/Docker/_storage/mysql/wordpress'
 +</code>
 +  * ''docker run -d --rm --name mysql-test -p 3306:3306 --env-file mysql.env -v ${DATA_PATH}/mysql/test:/var/lib/mysql mysql:5.7.25''
 +  * ''docker run --link mysql-test:mysql -p 8080:80 -d wordpress''
  • info/cursos/pue/devops/sesion2.1549712922.txt.gz
  • Darrera modificació: 09/02/2019 03:48
  • per mate