DigitalOcean a través de Doctl, cliente Oficial de Interfaz de Línea de Comandos (CLI)

/

¿Por qué utilizar la Interfaz de Línea de Comandos?

A medida que vamos desplegando soluciones en diferentes proyectos, se hace necesario automatizar ciertas tareas. DigitalOcean tiene muy claro esta necesidad de los profesionales encargados de gestionar todos los elementos desplegados en su plataforma, en tal sentido ha puesto a nuestra disposición una serie de herramientas que podemos usar para lograr esa tan querida automatización.

Una de estas herramientas es Doctl, que permite a través de la Interfaz de Línea de Comandos (CLI) gestionar cada uno de los componentes de la plataforma de DigitalOcean.

doctl es el cliente oficial de línea de comandos de DigitalOcean. Utiliza la API de DigitalOcean para proporcionar acceso a la mayoría de las funciones de su cuenta y de los Droplets desplegados o que se pueden desplegar.

Requisitos

  • Poseer una cuenta en DigitalOcean
  • Sistema operativo Windows 10 (cualquier versión)
  • Tener instalado Ubuntu 18.04 LTS desde Microsoft Store
  • Activar WSL (Windows Subsystem for Linux) en nuestro sistema operativo

Preparando nuestro entorno de trabajo

Como estamos en nuestro sistema operativo Windows 10 (que puede ser una máquina virtual dentro de un virtualizador como VMware Workstation u otro), utilizaremos la aplicación Windows Terminal (Preview) obtenida desde la tienda de Microsoft.

Aconsejo el uso de este terminal, pues tiene la opción de poder iniciar un terminal tanto en PowerShell, Azure Cloud Shell, Cmd o Ubuntu.

Actualizaremos nuestros repositorios e instalaremos las actualizaciones de todos nuestros paquetes instalados antes de continuar con la instalación de doctl con los siguientes comandos desde nuestro terminal de ubuntu.

sudo apt update -y
sudo apt upgrade -y

Instalación de doctl

Nos ubicaremos en nuestra carpeta personal y descargaremos la última versión de doctl desde GitHub con la herramienta wget.

cd ~
wget https://github.com/digitalocean/doctl/releases/download/v1.39.0/doctl-1.39.0-linux-amd64.tar.gz

A la fecha de creación de este tutorial, el último release publicado en la cuenta oficial de DigitalOcean en GitHub es la versión 1.39.0. Puede verificar si existen nuevas versiones a través del siguiente enlace -> https://github.com/digitalocean/doctl/releases/

Procedemos a desempaquetar el archivo descargado.

tar xf ~/doctl-1.39.0-linux-amd64.tar.gz
sudo mv ~/doctl /usr/local/bin

Ahora debemos agregar un valor a la variable de entorno PATH para agregar que nuestro sistema operativo conozca donde encontrar el archivo doctl.

Ingresamos a las propiedades de nuestro equipo, así como nos indica la imagen:

Luego, ingresamos a la configuración avanzada del sistema, mostrado en el lado izquierdo de la pantalla:

Hacemos click en el botón que nos indica Variables de entorno:

Dentro de la lista de variables del sistema, buscamos la variable Path, la seleccionamos y hacemos clic en el botón Editar.

En la ventana de editar variable de entorno, hacemos click en el botón Nuevo:

Agregamos la siguiente dirección:

%LocalAppData%\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\local\bin

Debemos tener en cuenta la parte resaltada, en mi caso esta es la ruta creada al momento de la instalación de Ubuntu en mi sistema. Se debe verificar la ruta correcta en cada nueva instalación.

Verificamos que funcione la variable de entorno creada con el siguiente comando:

doctl --help

Autenticando con DigitalOcean

Para usar doctl, debe autenticarse con DigitalOcean proporcionando un token de acceso, que se puede crear desde la sección Aplicaciones y API del Panel de control, o a través del siguiente enlace -> https://cloud.digitalocean.com/settings/api/tokens

Los tokens de acceso personal funcionan como un nombre y una contraseña combinados para la autenticación API. Genere un token para acceder a la API de DigitalOcean.

Indicamos un nombre identificativo de la llave a crear y hacemos click en el botón para generar el token.

Ahora podremos visualizar una llave en nuestro panel de control de DigitalOcean con el siguiente formato:

xxxxxxxxxxxxxxxxxxxxxxxxxxxx3ed67b0f56d164xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Por temas de seguridad no muestro la llave creada, pero se entiende que cada uno tendrá una llave distinta.

En nuestro terminal ingresamos el siguiente comando:

doctl auth init

Luego nos pedirá ingresar el token generado en el paso anterior, copiamos y pegamos:

DigitalOcean access token: nuestro_DigitalOcean_token

Verificamos que estemos conectados a muesta cuenta de DigitalOcean realizando una impresión de nuestros VPS almacenados.

doctl compute droplet list

Creación de un droplet

Como prueba del buen funcionamiento del comando doctl, crearemos un droplet llamado test con sistema operativo Debian versión 10, 1 GB de memoria RAm, 1 procesador virtual y ubicado en el centro de datos de Nueva York.

doctl compute droplet create test --size s-1vcpu-1gb --image debian-10-x64 --region nyc1

Como todo proceso de creación de droplets, nos llegará un correo de confirmación donde nos indican la IP pública, usuario y clave de nuestro nuevo VPS.

Accedemos a nuestro droplet con el siguiente comando:

doctl compute ssh test

Aceptamos continuar con la conexión y pegamos la clave de acceso suministrada en el correo electrónico. Como es la primera vez que ingresamos a nuestro droplet se nos pedirá cambiar la clave de acceso. Volvemos a pegar la clave de acceso inicial y luego ingresaremos una nueva, repetirmos el ingreso de la nueva clave y con ello ya estaremos dentro de nuestro droplet.

Si deseamos salir del nuevo droplet, ejecutamos el comando:

exit

Para eliminar el droplet creado, ejecutamos lo siguiente en nuestra línea de comandos:

doctl compute droplet delete test

Hasta aquí hemos realizado los pasos necesarios para autenticarnos por la interfaz de línea de comandos a nuestra plataforma de DigitalOcean usando el comando doctl.

En los próximos tutoriales, haré referencia a éste como base para desplegar distintos VPS según el laboratorio lo requiera.

Referencias

3 comentarios en “DigitalOcean a través de Doctl, cliente Oficial de Interfaz de Línea de Comandos (CLI)”

  1. I blog often and I genuinely thank you for your information. Your article has truly peaked my interest.
    I’m going to book mark your site and keep
    checking for new information about once a week. I subscribed to your Feed as well.

    Responder

Deja un comentario