Skip to content

Instantly share code, notes, and snippets.

@eloyvega
Last active January 22, 2020 23:56
Show Gist options
  • Save eloyvega/c45cafd07a598125a82d343cd7136405 to your computer and use it in GitHub Desktop.
Save eloyvega/c45cafd07a598125a82d343cd7136405 to your computer and use it in GitHub Desktop.
Cloud9-Minikube

Como crear un ambiente de Cloud9 con Minikube

Cloud9

  1. Ve a tu consola de AWS e inicia sesión

  2. Entra al servicio de Cloud9 y crea un nuevo ambiente

alt text

  1. Ingresa un nombre para tu ambiente:

alt text

  1. Llena la configuración como se muestra a continuación:

alt text

  1. Revisa las configuraciones y crea tu ambiente:

alt text

  1. Click en la parte superior derecha en tu imagen de perfil y Manage EC2 Instance:

alt text

  1. Toma nota de la IP pública de tu servidor, te servirá para ver tus aplicaciones. Click en el nombre del security group:

alt text

  1. Click en Inbound y Edit para modificar las reglas de ingreso a tu instancia:

alt text

  1. Agrega una nueva regla con los siguientes datos:

Type: Custom TCP Rule

Protocol: TCP

Port Range: 30000-32767

Source: Anywhere

y click en Save

alt text

Configurar disco duro

Es necesario hacer más grande el volumen de nuestro disco duro para poder trabajar adecuadamente con Minikube.

  1. Crea un nuevo archivo resize.sh con el siguiente contenido:
#!/bin/bash

SIZE=${1:-50}
sudo apt install -y jq
INSTANCEID=$(curl http://169.254.169.254/latest/meta-data//instance-id)
VOLUMEID=$(aws ec2 describe-instances --instance-id $INSTANCEID | jq -r .Reservations[0].Instances[0].BlockDeviceMappings[0].Ebs.VolumeId)
aws ec2 modify-volume --volume-id $VOLUMEID --size $SIZE
while [ "$(aws ec2 describe-volumes-modifications --volume-id $VOLUMEID --filters Name=modification-state,Values="optimizing","completed" | jq '.VolumesModifications | length')" != "1" ]; do
  sleep 1
done
sudo growpart /dev/xvda 1
sudo resize2fs /dev/xvda1
  1. Ejecuta el archivo desde la línea de comandos:
sh resize.sh 50

y espera a que finalice el script.

  1. Verifica el tamaño del almacenamiento
df -hP

/dev/xvda1 deberá tener un tamaño de ~50G:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           798M  1.5M  797M   1% /run
/dev/xvda1       49G   11G   38G  23% /

Instalar Minikube

Finalmente podemos instalar kubectl y minikube en nuestro ambiente de Cloud9 con los siguientes comandos:

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

chmod +x ./kubectl

sudo mv ./kubectl /usr/local/bin/kubectl

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

sudo minikube start --vm-driver=none
sudo chown -R ubuntu:ubuntu ~/.kube
sudo chown -R ubuntu:ubuntu ~/.minikube

Validamos la instalación con el siguiente comando:

kubectl get nodes

Nos deberá mostrar el nodo de Minikube listo:

NAME       STATUS   ROLES    AGE   VERSION
minikube   Ready    master   37m   v1.16.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment