La creación del cluster de Kubernetes se realizará desde Terraform Cloud. El área de trabajo configurada en la sección anterior va a crear la infraestructura a partir del código existente en el repositorio GitHub.
Terraform Cloud tiene dos formas de establecer los cambios: Manual y Automático.
Para entornos de producción es recomendable utilizar el modo Manual, de esta forma los demás integrantes del equipo podrán analizar los cambios y dar su criterio.
Sin embargo, el ejercicio a realizar en este momento no incluye este escenario, por lo tanto, se van a configurar los cambios de forma Automática.
Acceda a las configuraciones de su área de trabajo y seleccione la opción Auto apply.
La descripción del cluster de Kubernetes se encuentra en el fichero infra/cluster.tf.
cat infra/cluster.tf
# kubernetes cluster
resource "digitalocean_kubernetes_cluster" "staging" {
name = "staging"
region = "ams3"
version = "1.20.2-do.0"
tags = ["staging"]
node_pool {
name = "worker-pool"
size = "s-1vcpu-2gb"
auto_scale = true
min_nodes = 2
max_nodes = 5
}
}Para crear el cluster utilice el botón Queue plan ubicado arriba y a la derecha de la plataforma Terraform.
Una vez iniciado el plan podrá ver en su pantalla cómo se aplican los cambios de Terraform. Esta acción puede demorar unos 7 minutos.
Acceda a la sección de Kubernetes en Digital Ocean y observe que se ha iniciado un cluster de Kubernetes con el nombre staging.
Espere a que termine de crearse el cluster para realizar el próximo paso.
Una vez creado el cluster será necesario acceder el desde la herramienta kubectl. Para lograrlo necesitará obtener las credenciales del nuevo cluster, así como la URL de acceso al API de Kubernetes.
Utilice el siguiente comando para configurar el fichero ~/.kube/config con las credenciales del cluster de Digital Ocean:
doctl kubernetes cluster kubeconfig save staging
Notice: adding cluster credentials to kubeconfig file found in "/Users/......./.kube/config"
Notice: setting current-context to do-ams3-stagingCompruebe que la configuración se ha realizado correctamente. Liste los nodos del cluster:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
worker-pool-8jk9f Ready <none> 23m v1.20.2
worker-pool-8jk9q Ready <none> 23m v1.20.2Siguiente: Instalar Flux CD



