Site is under maintenance mode. Please wait few min!
Saltar al contenido

Cómo instalar Apache Tomcat 7 en Ubuntu 14.04 a través de Apt-Get

marzo 4, 2020

 

Introducción

acoplable Swarm es la solución acoplable nativo para el despliegue de un grupo de hosts acoplables. Se puede utilizar para desplegar rápidamente un grupo de hosts Docker que ejecutan en su máquina local o en plataformas en la nube compatibles.

Antes del estibador 1.12, la configuración y el despliegue de un grupo de hosts acoplables que se requiere para utilizar un almacén de claves-valor externo como ETCD o Cónsul de descubrimiento de servicios. Con acoplable 1.12, sin embargo, un servicio de detección externa ya no es necesario, ya que viene con un estibador almacén de claves-valor en memoria que funciona fuera de la caja.

En este tutorial, aprenderá cómo implementar un conjunto de máquinas acoplables mediante la función enjambre de estibador en digitalocean 1.12. Cada nodo del estibador en el clúster será CentOS 7. Mientras se ejecuta puede ejecutar un conjunto formado por decenas, cientos o miles de hosts Docker, el grupo que va a configurar en este tutorial estará compuesta de un nodo del gestor y dos nodos de trabajo, para un total de tres miembros de clúster. Una vez finalizado este tutorial, podrás añadir más nodos al clúster con facilidad.

Requisitos previos

Para este tutorial, necesitará:

  • Una máquina local con acoplable instalado. El equipo local se puede ejecutar cualquier distribución de Linux, o incluso Windows o MacOS. Para Windows y MacOS, instale acoplable mediante el instalador oficial. Si tiene CentOS 7 se ejecuta en la máquina local, pero acoplable no está instalado, consulte Instalación y Uso del estibador en CentOS 7 para obtener instrucciones.
  • Un digitalocean API token. Si no tiene uno, generarla utilizando esta guía. Cuando se genera una ficha, asegúrese de que tiene un alcance de lectura-escritura. Ese es el valor predeterminado, por lo que si usted no cambia ninguna opción, mientras que la generación, tendrá capacidades de lectura y escritura. Para que sea más fácil de usar en la línea de comandos, asegúrese de asignar el testigo a una variable como se da en dicho artículo.
  • acoplable máquina instalada en el equipo local, que va a utilizar para crear tres anfitriones. En Windows y MacOS, la instalación incluye acoplable acoplable máquina. Si está ejecutando CentOS 7 localmente, ver cómo aprovisionar y Administrar hosts remotos con Docker acoplable automático en CentOS 7 para obtener instrucciones de instalación.

Paso 1 – Aprovisionamiento de los nodos del clúster

Necesitamos crear varios equipos acoplables para nuestra agrupación. A modo de recordatorio, las siguientes disposiciones de mando de un único host Dockerized, donde $ DOTOKEN es una variable de entorno que se evalúa como su API digitalocean token:

docker-machine create --driver digitalocean --digitalocean-image centos-7-0-x64 --digitalocean-access-token $DOTOKEN machine-name

  • ventana acoplable a la máquina crean –driver digitalocean –digitalocean-imagen centos-7-0 -x64 –digitalocean-acceso-token $ DOTOKEN nombre-máquina

Imagine tener que hacer eso para configurar un clúster formado por al menos tres nodos, el aprovisionamiento de un host a la vez.

Nos puede automatizar el proceso de aprovisionamiento de cualquier número de hosts Docker utilizando este comando, combinado con algunos simples Bash scripting. Ejecutar este comando en el equipo local para crear tres anfitriones Docker, llamado nodo-1, el nodo-2, y el nodo-3:

for i in 1 2 3; do docker-machine create --driver digitalocean
--digitalocean-image centos-7-0-x64
--digitalocean-access-token $DOTOKEN node-$i; done

  • para i en 1 2 3; do ventana acoplable-máquina de crear –driver digitalocean
  • –digitalocean imagen centos-7-0-x64
  • –digitalocean-acceso-token $ DOTOKEN node- $ i; Done

Después de que el comando se ha completado con éxito, se puede verificar que todas las máquinas se han creado visitando su tablero de instrumentos digitalocean, o escribiendo el comando siguiente:

docker-machine ls

  • ventana acoplable a la máquina ls

La salida debería ser similar a la siguiente, y debe servir como una referencia rápida para buscar la dirección IP de los nodos:

OutputNAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
node-1 - digitalocean Running tcp://111.111.111.111:2376 v1.12.2
node-2 - digitalocean Running tcp://111.111.111.112:2376 v1.12.2
node-3 - digitalocean Running tcp://111.111.222.222:2376 v1.12.2

en este punto, los tres anfitriones Dockerized se han creado, y tiene la dirección IP de cada host. También están ejecutando acoplable 1.12.x, pero todavía no son parte de un clúster del estibador. En los pasos siguientes, vamos a configurar las reglas de firewall que harán que los nodos en sus funciones como miembros de un clúster, elegir uno de los nodos y la convierten en la ventana acoplable Administrador de Swarm, y configurar el resto de trabajadores del estibador Swarm.

Paso 2 – Configurar las reglas de firewall para permitir el tráfico acoplable Swarm

Un grupo tiene que tener al menos un nodo que sirve como un administrador, aunque para una configuración de producción, se recomiendan tres directivos. Para esta configuración, vamos a elegir el primer nodo y lo convierten en el gestor de enjambre. Los otros dos nodos serán los nodos de trabajo. Ciertos puertos de red

deben estar abiertos en los nodos que formarán parte sea de un clúster para el clúster para funcionar correctamente. Que conlleva la configuración del servidor de seguridad para permitir el tráfico a través de esos puertos. Debido a que hay tres aplicaciones de cortafuegos diferentes que se pueden utilizar para llevar a cabo esa tarea, los comandos que necesita para ejecutar en los nodos de servidor de seguridad para cada aplicación se ha documentado en un artículo separado. Siga esta guía y configurar los servidores de seguridad para cada huésped. Abrir los puertos apropiados en el gestor, a continuación, repita para abrir los puertos en los dos nodos cliente.

Después de haber completado este paso, se puede inicializar el gestor de clúster.

Paso 3 – Inicialización El Cluster Manager

hemos decidido que el nodo-1 será nuestro gestor de clúster, por lo que iniciar sesión en el nodo desde su máquina local:

docker-machine ssh node-1

  • ssh ventana acoplable-máquina del nodo-1

el símbolo del sistema cambiará para reflejar el hecho de que ahora estás conectado a ese nodo particular. Para configurar el nodo como el gerente Swarm, escriba el siguiente comando:

docker swarm init --advertise-addr node_ip_address

  • ventana acoplable enjambre init –advertise-addr node_ip_address

node_ip_address es la dirección IP del nodo. Usted puede obtener de la salida de ls ventana acoplable a la máquina o desde su panel de control digitalocean.

Verás salida que tiene el siguiente aspecto:

OutputSwarm initialized: current node (2n4y8bwu6s7c1kwdryd945zv1) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join
--token SWMTKN-1-57m6beujakwyx0t2j5mglpi9juf8czapp8kf2tj3gudkgjkoda-0eg0x08w7uvyxiacmmx0zv67o
111.111.111.111:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Dentro de la salida es el ID del nodo, que es 2n4y8bwu6s7c1kwdryd945zv1 en este ejemplo, y las instrucciones sobre cómo agregar los otros nodos al clúster.

Así que ahora usted tiene un estibador Swarm con un administrador configurado. Vamos a añadir el resto de nodos como trabajadores.

Paso 4 – Adición de nodos al clúster

Para completar este paso, es posible que desee abrir otra terminal y salir de la lengüeta del terminal o ventana que utilizó para iniciar sesión en el gestor de Swarm solo por ahora.

primer lugar, conecte al nodo-2 de su máquina local:

docker-machine ssh node-2

  • ventana acoplable-máquina ssh nodo-2

luego ejecutar este comando, donde your_swarm_token es la señal que recibió cuando se creó el grupo en el paso anterior, y manager_node_ip_address es la IP del gestor de enjambre:

docker swarm join
--token your_swarm_token
manager_node_ip_address:2377

  • enjambre ventana acoplable unirse a
  • –token your_swarm_token
  • manager_node_ip_address: 2377

Después de que el comando se ha ejecutado con éxito, verá esta respuesta:

OutputThis node joined a swarm as a worker.

Desconectar de nodo-2, y luego repetir este proceso con el nodo-3 para añadirlo al clúster.

Ahora ha agregado dos nodos de trabajo a la agrupación. Si las reglas del cortafuegos se han configurado correctamente, ahora tiene un funcionamiento acoplable Swarm, con todos los nodos sincronizados.

Paso 5 – Gestión El Cluster

Después de que los nodos de dirigentes y trabajadores han sido asignados al clúster, todos los comandos de gestión del estibador Swarm tienen que ser ejecutados en los nodos del gestor. Así retorno al terminal que ha utilizado para agregar el administrador y escriba este comando para ver todos los miembros de la agrupación:

docker node ls

  • ls nodo ventana acoplable

El resultado debe ser similar a esto:

OutputID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
4smt8qechkvb8qp02nwo2oe6t * node-1 Ready Active Leader
5wzik3knakgj0c24jmtmiy5oq node-2 Ready Active
7f6ws6oladh94xnmbfdhanokm node-3 Ready Active

Este resultado muestra que que estamos tratando con un 3-nodo del estibador Swarm y sus nodos – un gerente y dos trabajadores. Para ver los otros comandos de administración que puede ejecutarse en el nodo del gestor, Tipo:

docker node --help

  • ventana acoplable nodo –help

Para obtener información detallada sobre el clúster, puede utilizar el siguiente comando en el gerente o los trabajadores (es una comando genérico estibador):

docker info

  • información ventana acoplable

la salida debe ser de este tipo, y debe indicar el estado del cluster ( activa o pendientes ), el número de nodos en el clúster, y si el nodo particular es un gerente o trabajador.

Output...

Network: null host overlay bridge
Swarm: active
NodeID: 4smt8qechkvb8qp02nwo2oe6t
Is Manager: true
ClusterID: 31i554ti23njgxg28av52hv47
Managers: 1
Nodes: 3
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: 111.111.111.111
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.22.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux

...

Si repite el mismo comando en los nodos de trabajo, Gerente de la línea SI debe mostrar falsa.

Consejo : Puede añadir o eliminar nodos del clúster en cualquier momento. Además, un nodo trabajador puede ser promovido a un gerente, y el gerente se puede convertir a un trabajador.

Ahora vamos a un servicio en ejecución en el clúster.

Paso 6 – Ejecutar servicios en la ventana acoplable Swarm

Ahora que tiene un estibador enjambre en marcha y funcionando, vamos a ejecutar un contenedor de prueba y vea cómo el gestor maneja. En un equipo con motor acoplable 1.12 o más reciente, los contenedores se implementan como servicios utilizando el comando de servicio ventana acoplable. Y al igual que el comando nodo de estibador, el comando service ventana acoplable sólo puede ser ejecutado en un nodo del gestor.

Así que vamos a implementar un servicio de servidor web utilizando la imagen oficial de contenedores Nginx: Servicio ventana acoplable

docker service create -p 80:80 --name webserver nginx

  • crear -p 80:80 –name servidor web nginx

En este comando, estamos asignación de puertos 80 en el contenedor Nginx al puerto 80 en el cluster para que podamos acceder a la página por defecto Nginx desde cualquier lugar.

vista a la que los servicios se están ejecutando en un clúster, escriba:

docker service ls

  • ls servicios ventana acoplable

La salida debe tomar esta forma. Los espectáculos de columna REPLICAS cuántas instancias del servicio se están ejecutando:

OutputID NAME REPLICAS IMAGE COMMAND
ch7xnvy8upho webserver 1/1 nginx

Puede determinar qué nodos de los servicios se ejecutan en mediante el uso de un servicio ps ventana acoplable seguido por el nombre del servicio.

docker service ps webserver

  • servicio ventana acoplable ps servidor web

La salida debe ser similar a la siguiente:

OutputID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR
4pfbvs7sh5mugtzckw4czhcfm webserver.1 nginx node-1 Running Running 2 minutes ago

En este ejemplo, el servicio de servidor web se está ejecutando en el nodo-1. Ya que es un servidor Web que se ejecutan en los puertos por defecto, puede acceder a ella apuntando desde su navegador a http: // nodo-1_ip_address. Darle una oportunidad. Verá la página por defecto de Nginx.

con la magia de redes de malla, un servicio que se ejecuta en un nodo se puede acceder a cualquier otro nodo del clúster. Por ejemplo, este servicio Nginx también se puede acceder apuntando desde su navegador a la dirección IP de cualquier nodo del clúster, no sólo el que se está ejecutando. Darle una oportunidad.

Otra característica de Docker Swarm es la capacidad de escalar un servicio, es decir, girar las instancias adicionales de un servicio. Suponemos que queremos escalar el servicio de servidor web que empezamos más temprano para cinco casos. Para ello, sólo tiene que escribir el siguiente comando y el sistema creará cuatro casos más: Escala servicio ventana acoplable

docker service scale webserver=5

  • servidor web = 5

Y la salida de ps servicio ventana acoplable se mostrará en el cual los nodos de los nuevos casos se iniciaron en :

OutputID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR
4pfbvs7sh5mugtzckw4czhcfm webserver.1 nginx node-1 Running Running 3 minutes ago
1er2rbrnj6ltanoe47mb653wf webserver.2 nginx node-3 Running Running 14 seconds ago
evassgyvruh256ebv5pj3bqcz webserver.3 nginx node-3 Running Running 14 seconds ago
d453agrdpgng47klbl6yfjnka webserver.4 nginx node-1 Running Running 18 seconds ago
2hsdevx178rg15gqxhzrsnmg6 webserver.5 nginx node-2 Running Running 14 seconds ago

que muestra que dos de los cuatro nuevos casos se iniciaron en el nodo-3, uno se inició en el nodo-1 y el otro empezado en el nodo-2.

Por último, si un servicio se cae, se reinicia automáticamente en el mismo nodo o en un nodo distinto, si el nodo original ya no está disponible.

Conclusión

Usted ha visto lo fácil que es configurar un estibador Swarm usando acoplable motor 1.12 y el nuevo modo de enjambre. También ha visto cómo llevar a cabo algunas tareas de gestión en el clúster. Pero todavía hay más. Para ver los comandos disponibles acoplable Swarm, ejecute el siguiente comando en su gestor de enjambre.

docker swarm --help

  • ventana acoplable enjambre –help

Para obtener más información sobre Docker Swarm, puede visitar la página oficial de la documentación. Y asegúrese de revisar otros artículos relacionados con el estibador en DigitaloOcean.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *