La portabilidad y reproducibilidad de los procesos en contenedores significa que tenemos la oportunidad de mover y escalar nuestras aplicaciones en contenedores a través de nubes y centros de datos. Los contenedores garantizan de forma eficaz que estas aplicaciones se ejecuten de la misma forma en todas partes, lo que nos permite utilizar todos estos entornos de forma rápida y sencilla. Además, a medida que se expande la escala de las aplicaciones, necesitamos algunas herramientas para ayudar a automatizar el mantenimiento de estas aplicaciones, para poder reemplazar automáticamente los contenedores fallidos y para administrar las actualizaciones y los lanzamientos de configuración durante el ciclo de vida de estos contenedores.
Las herramientas para administrar, escalar y mantener aplicaciones en contenedores se denominan orquestadores, cuyos ejemplos más comunes son Kubernetes y Docker Swarm . La implementación del entorno de desarrollo de estos dos orquestadores la proporciona Docker Desktop, y la usaremos en esta guía para crear nuestra primera aplicación en contenedor de orquestación.
El módulo avanzado le enseña a:
- Configure y use el entorno de Kubernetes en su máquina de desarrollo
- Configure y use el entorno Swarm en su máquina de desarrollo
Habilitar Kubernetes
Docker Desktop configurará Kubernetes rápida y fácilmente. Siga las instrucciones de configuración y verificación para su sistema operativo:
Ventanas
-
Después de instalar Docker Desktop, debería ver el icono de Docker en la bandeja del sistema. Haga clic con el botón derecho en él y vaya a Configuración > Kubernetes .
-
Marque la casilla etiquetada Habilitar Kubernetes y luego haga clic en Aplicar y reiniciar . Docker Desktop configurará Kubernetes automáticamente. Cuando vea la luz verde junto a "Kubernetes en ejecución " en el menú de configuración , significa que Kubernetes se ha habilitado correctamente.
Nota del traductor:
Si no ve el elemento de Kubernetes , haga clic con el botón derecho en el ícono de la bandeja del sistema, seleccione "Cambiar a contenedores de Linux ..." y luego navegue a Configuración > Kubernetes para verlo nuevamente .
-
Para confirmar que Kubernetes ya está en funcionamiento, cree un archivo llamado
pod.yaml
archivo de texto que contenga lo siguiente:apiVersion: v1 kind: Pod metadata: name: demo spec: containers: - name: testpod image: alpine:3.5 command: ["ping", "8.8.8.8"]
Esto describe un pod con un solo contenedor, aislando un simple ping a "8.8.8.8".
-
En PowerShell, navegue hasta que cree
pod.yaml
un directorio y cree un pod:kubectl apply -f pod.yaml
-
Compruebe si el pod está en funcionamiento:
kubectl get pods
Debería ver un resultado como este:
NAME READY STATUS RESTARTS AGE demo 1/1 Running 0 4s
-
Compruebe si obtiene el registro del proceso de ping que espera:
kubectl logs demo
Debería ver el resultado del proceso de ping normal:
PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=37 time=21.393 ms 64 bytes from 8.8.8.8: seq=1 ttl=37 time=15.320 ms 64 bytes from 8.8.8.8: seq=2 ttl=37 time=11.111 ms ...
-
Finalmente, retire la cápsula de prueba:
kubectl delete -f pod.yaml
Mac
Similar a Windows, consulte https://docs.docker.com/get-started/orchestration/#kubeosx para obtener más detalles
Habilitar Docker Swarm
Docker Desktop se ejecuta principalmente en el motor Docker, que tiene todo lo necesario para ejecutar Swarm integrado. Siga las instrucciones de configuración y verificación para su sistema operativo:
Ventanas
-
Abra powershell e inicialice el modo Docker Swarm:
docker swarm init
Si todo va bien, debería ver un mensaje similar al siguiente:
Swarm initialized: current node (tjjggogqpnpj2phbfbz8jd5oq) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-3e0hh0jd5t4yjg209f4g5qpowbsczfahv2dea9a1ay2l8787cf-2h4ly330d0j917ocvzw30j5x9 192.168.65.3:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
-
Ejecute un servicio Docker simple, use un sistema de archivos basado en alpin y aísle un ping a 8.8.8.8:
docker service create --name demo alpine:3.5 ping 8.8.8.8
-
Compruebe si su servicio crea un contenedor en ejecución:
docker service ps demo
Debería ver un resultado como este:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 463j2s3y4b5o demo.1 alpine:3.5 docker-desktop Running Running 8 seconds ago
-
Compruebe si obtiene el registro del proceso de ping que espera:
docker service logs demo
Debería ver el resultado del proceso de ping normal:
demo.1.463j2s3y4b5o@docker-desktop | PING 8.8.8.8 (8.8.8.8): 56 data bytes demo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=13.005 ms demo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=13.847 ms demo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=41.296 ms ...
-
Finalmente, elimine el servicio de prueba:
docker service rm demo
Mac
Similar a Windows, consulte https://docs.docker.com/get-started/orchestration/#swarmosx para obtener más detalles
En conclusión
En este punto, ha confirmado que puede ejecutar cargas de trabajo simples en contenedores en Kubernetes y Swarm. El siguiente paso es escribir Kubernetes yaml, describiendo cómo ejecutar y administrar estos contenedores en Kubernetes.
Acerca de la implementación en Kubernetes >>
Para aprender a escribir un archivo de pila (archivo de pila) que le ayude a ejecutar y administrar el contenedor en Swarm, consulte implementar Swarm en To .
Referencias CLI
Puede encontrar más documentación de todos los comandos CLI utilizados en este artículo aquí:
- kubectl aplicar
- kubectl obtener
- registros de kubectl
- kubectl eliminar
- docker swarm init
- servicio de Docker *
Autor:
Traductor oficial del sitio web de Docker : Technical Zemin
Editor: Technical Verses
enlaces: texto en inglés