Crear servidores de docker con Docker-Machine en VMware vSphere
Hoy vamos a utilizar docker-machine para generar servidores de docker y poder generar containers vía comando en una plataforma con VMware vSphere.
La herramienta docker-machine nos permite crear, configurar y manejar máquinas con Docker Engine. Podremos realizar tareas como parar, arrancar o reiniciar los diferentes nodos docker.
En mi caso la voy a utilizar en esta entrada para generar máquinas virtuales de forma remota en VMware vSphere, aunque se puede usar Openstack, Amazon AWS, Virtualbox…Esto lo voy a hacer mediante el driver que permite esa ejecución mediante el puerto SSH.
Así vamos a utilizar la máquina Centos 7 que tengo en mi lab con mi HP Microserver Gen 8. Procedemos con la instalación.
Instalación Docker-Machine en Centos 7
Para instalar docker-machine en Linux utilizaremos el siguiente comando:
$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /tmp/docker-machine /usr/local/bin/docker-machine
Comprobamos que docker-machine se ha instalado:
[root@centos ~]# docker-machine version
docker-machine version 0.16.0, build 702c267f
Podéis encontrar más información en: https://docs.docker.com/machine/install-machine/
Crear servidor contenedores con docker-machine en VMware
Para crear un servidor de contenedores a través de docker-machine necesitaremos los siguientes datos de nuestro VMware vCenter:
- Usuario con permisos y Contraseña
- IP o nombre de vCenter
- SSH habilitado en vCenter
- Nombre de storage
Es importante tener claro el nombre de los Storages:
Podemos usar diferentes versiones del comando, os enseño la que he usado yo:
[root@centos ~]# docker-machine create --driver vmwarevsphere --vmwarevsphere-vcenter 192.168.2.54 --vmwarevsphere-username=administrator@negu.local --vmwarevsphere-password=PASSWORD --vmwarevsphere-datastore=SYNOLOGY-LUN1 container01
Running pre-create checks...
Creating machine...
(container01) Image cache directory does not exist, creating it at /root/.docker/machine/cache...
(container01) No default Boot2Docker ISO found locally, downloading the latest release...
(container01) Latest release for github.com/boot2docker/boot2docker is v19.03.0
(container01) Downloading /root/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v19.03.0/boot2docker.iso...
(container01) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
(container01) Copying /root/.docker/machine/cache/boot2docker.iso to /root/.docker/machine/machines/container01/boot2docker.iso...
(container01) Generating SSH Keypair...
(container01) Creating VM...
(container01) Uploading Boot2docker ISO ...
(container01) adding network: VM Network
(container01) Reconfiguring VM
(container01) Waiting for VMware Tools to come online...
(container01) Provisioning certs and ssh keys...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env container01
Cuando vamos a vSphere Client veremos que se ha generado:
Podéis acceder a la máquina virtual tanto vía consola como vía remota:
Podemos comprobar el acceso con el siguiente comando:
[root@centos ~]# docker-machine env container01
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.2.245:2376"
export DOCKER_CERT_PATH="/root/.docker/machine/machines/container01"
export DOCKER_MACHINE_NAME="container01"
# Run this command to configure your shell:
# eval $(docker-machine env container01)
Si queréis cambiar el password del usuario docker podéis hacerlo vía consola de VMware vSphere Client ya que se arranca automáticamente la máquina virtual.
Se puede añadir al comando parámetros como la CPU, RAM, RED,…Podéis encontrar más información en: https://docs.docker.com/machine/drivers/vsphere/
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
O sea, estás anidando, ESXI es el sistema anfitrion, sobre él tienes que instalar una máquina virtual Centos o caulquier otra, y sobre él recién instalar docker?, yo busco una forma nativa de correr doker sobre el sistema anfitrión.