fc4121350a64059439d2480bcdf8501730c9a6a3
home.rst
... | ... | @@ -1,5 +0,0 @@ |
1 | -Bienvenid@ |
|
2 | -========== |
|
3 | -Esta es la wiki de [[EVALinux|http://evalinux.com]]. Gracias por visitarnos! |
|
4 | - |
|
5 | -Revisa la sección de [[overview|/gollum/overview]] del menú de arriba. |
howto/docker-swarm.rst
... | ... | @@ -0,0 +1,120 @@ |
1 | +===== |
|
2 | +Swarm |
|
3 | +===== |
|
4 | +--------------------------- |
|
5 | +Instalación y configuración |
|
6 | +--------------------------- |
|
7 | + |
|
8 | +Describimos como instalar swarm y jugar con él un poco. |
|
9 | + |
|
10 | +Pre-requisitos |
|
11 | +============== |
|
12 | + |
|
13 | +Sistema Operativo |
|
14 | +----------------- |
|
15 | + |
|
16 | +* Instalación mínima de Fedora 25 |
|
17 | +* Red pública para el controlador (ens3) |
|
18 | +* Red privada para los nodos (ens4) |
|
19 | + |
|
20 | +Firewall |
|
21 | +-------- |
|
22 | +El firewall debe modificarse para permitir acceso de/a swarm por la interfaz de red privada. Solo abriremos los puertos necesarios. |
|
23 | + |
|
24 | +.. code:: bash |
|
25 | + |
|
26 | + # configurar zona |
|
27 | + firewall-cmd --permanent --zone=work --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/udp |
|
28 | + |
|
29 | + # modificar la zona de ens4 |
|
30 | + nmcli connection modify ens4 connection.zone work |
|
31 | + |
|
32 | + # activar |
|
33 | + firewall-cmd --full-reload |
|
34 | + nmcli connection reload ens4 |
|
35 | + |
|
36 | + # verificar |
|
37 | + nmcli connection show ens4 |
|
38 | + |
|
39 | + firewall-cmd --list-all |
|
40 | + firewall-cmd --list-all --zone=work |
|
41 | + |
|
42 | + |
|
43 | +Instalación |
|
44 | +=========== |
|
45 | +Instalaremos la versión más reciente en los repositorios de Fedora. |
|
46 | + |
|
47 | +.. code:: bash |
|
48 | + |
|
49 | + # instalar |
|
50 | + dnf -y install docker-latest |
|
51 | + |
|
52 | + # activar |
|
53 | + systemctl enable docker-latest |
|
54 | + systemctl start docker-latest |
|
55 | + |
|
56 | + |
|
57 | +Configuración |
|
58 | +============= |
|
59 | +Debemos iniciar un swarm y unir los nodos a él. |
|
60 | + |
|
61 | +.. code:: bash |
|
62 | + |
|
63 | + # crear un swarm (manager) |
|
64 | + docker swarm init --advertise-addr 192.168.77.1 |
|
65 | + |
|
66 | + # agregar nodos (nodos) |
|
67 | + # ejecutar ésto en nodos swarm2 y swarm3 |
|
68 | + docker swarm join --token <token-generado> 192.168.77.1:2377 |
|
69 | + |
|
70 | + # verificar (manager) |
|
71 | + docker info |
|
72 | + docker node ls |
|
73 | + |
|
74 | + |
|
75 | +Despliegue |
|
76 | +========== |
|
77 | +Veremos como desplegar algunas aplicaciones, usando ejemplos simplificados. |
|
78 | + |
|
79 | +.. code:: bash |
|
80 | + |
|
81 | + # crear un servicio con 1 réplica |
|
82 | + docker service create --replicas 1 --name helloworld alpine ping docker.com |
|
83 | + docker service ls |
|
84 | + docker service rm helloworld |
|
85 | + |
|
86 | + |
|
87 | + # crear un servicio con 3 réplicas |
|
88 | + docker service create --replicas 3 --name helloworld alpine ping docker.com |
|
89 | + docker service ls |
|
90 | + |
|
91 | + |
|
92 | + # inspeccionar el servicio |
|
93 | + docker service inspect --pretty helloworld |
|
94 | + |
|
95 | + |
|
96 | + # escalar |
|
97 | + ## abajo |
|
98 | + docker service scale helloworld=1 |
|
99 | + docker service inspect --pretty helloworld |
|
100 | + |
|
101 | + ## arriba |
|
102 | + docker service scale helloworld=5 |
|
103 | + docker service inspect --pretty helloworld |
|
104 | + docker service rm helloworld |
|
105 | + |
|
106 | + |
|
107 | + # exponer servicios |
|
108 | + docker service create --name my-web --publish 8080:80 --replicas 3 nginx |
|
109 | + docker service ls |
|
110 | + docker ps |
|
111 | + |
|
112 | + ## probar |
|
113 | + curl localhost:8080 |
|
114 | + curl 192.168.77.1:8080 |
|
115 | + curl 104.36.16.224:8080 |
|
116 | + |
|
117 | + |
|
118 | +Referencias |
|
119 | +=========== |
|
120 | +* https://docs.docker.com/engine/swarm/swarm-tutorial/ |
inicio.rst
... | ... | @@ -0,0 +1,5 @@ |
1 | +Bienvenid@ |
|
2 | +========== |
|
3 | +Esta es la wiki de [[EVALinux|http://evalinux.com]]. Gracias por visitarnos! |
|
4 | + |
|
5 | +Revisa la sección de [[overview|/gollum/overview]] del menú de arriba. |