Doctl Cli - Digitalocean

Digitalocean también dispone de un CLI para manejar la infraestructura "DOCTL", que tiene un funcionamiento similar a AWS CLI, esta herramienta nos permite evitar utilizar la interfaz web de este proveedor.

Instalación del Binario

Lo primero que toco hacer es descargar e instalar el binario, esto para la versión actual 1.54.0:

1$ cd ~
2$ wget https://github.com/digitalocean/doctl/releases/download/v1.54.0/doctl-1.54.0-linux-amd64.tar.gz
3$ tar xf ~/doctl-1.54.0-linux-amd64.tar.gz
4$ sudo mv ~/doctl /usr/local/bin

Crear un Token API

Antes de utilizar "doctl", es necesario crear un Token API de digitalocean para su cuenta, con acceso de lectura y escritura desde la página Aplicaciones y API en el panel de control.

La cadena del token solo se muestra una vez, entonces copie y guarde en un lugar seguro.

Acceso a cuenta con Token API y doctl

El Token API otorga acceso a "doctl" para su cuenta de digitalocean. Pase la cadena del Token cuando se solicite, al ejecutar el comando de "doctl".

Puede utilizar varias cuentas, utilizando diferentes nombres, para esta función el parámetro --context lo permite.

1$ doctl auth init --context <NOMBRE_CUENTA1>
2$ doctl auth init --context <NOMBRE_CUENTA2>
3$ doctl auth init --context <NOMBRE_CUENTA3>

Se puede listar todas las cuentas con el siguiente comando:

1$ doctl auth list

Para cambiar entre las diferentes cuentas existentes:

1$ doctl auth switch --context <NOMBRE_CUENTA_DISPONIBLE>

Ejemplos de uso

Podemos utilizar "doctl" en diferentes casos.

  • Verificar Cuenta
1$ doctl account get
  • Listar Droplets
1$ doctl compute droplet list
  • Crear Droplet
1$ doctl compute droplet create --region sfo2 --image ubuntu-18-04-x64 --size s-1vcpu-1gb <NOMBRE_DROPLET>
  • Listar Imágenes Droplet Disponibles
1$ doctl compute image list --public | grep -i 'debian'
  • Listar Tamaños Droplet Disponibles
1$ doctl compute size list
  • Formtato a la Salida de DOCTL
1$ doctl compute droplet list --format "ID,Name,PublicIPv4"
  • Crear un Drorplet con mas detalles
1$ doctl compute droplet create --region <REGION_CODE> \
2  --image <IMAGE_CODE> --size <SIZE_NAME> \
3  --enable-monitoring true --enable-private-networking true \
4  --tag-name <TAG> --ssh-keys <FINGERPRINT>
  • Eliminar Droplet
1$ doctl compute droplet delete <ID_DROPLET>

Referencias

DigitalOcean

Traducciones: