Este repositorio no será modificado ni mantenido después del 11 de noviembre del 2021.
- Corre
export KUBECONFIG=~/.k3d/k3s-default-config
primero, para evitar apuntar accidentalmente a otro cluster remoto. - Corre
make start
. Esto va a crear un cluster k3d y va a instalar un cluster de un nodo de Consul, y los recursos necesarios para correr Amphibian. - Después de que termine el comando anterior, corre
make token
para desplegar el token del Consul que acabamos de crear. Copia y pega elexport ...
que se desplegó, o bien correeval $(make token)
para tener el token exportado en tu sesión de shell.
Vamos a tener dos conjuntos de archivos de Terraform, uno para crear un certificado privado y otro para generar un password aleatorio. Es importante que para este demo, la versión de Terraform debe sea específicamente 0.13.5
, el resto de la documentación asume que el comando terraform
usa esa versión.
- Entra al directorio
./terraform/password
y correterraform init
, seguido porterraform apply -auto-approve
. Si todo funciona bien, debes de tener un mensaje que digaApply complete!
, y en los outputs verásprivate_key = <sensitive>
. - Entra al directorio
./terraform/tls
, y una vez más correterraform init
, seguido porterraform apply -auto-approve
. Vas a ver el mismo mensaje deApply complete!
, pero ahora en los outputs outputs veráspassword = <sensitive>
.
Como tenemos dos diferentes archivos de estado de Terraform (uno para tls
y otro para password
), los podemos representar y sincronizar con Secret
s o ConfigMap
s de Kubernetes por medio de custom resources (definidos cuando inicializamos el cluster) llamados TerraformState
.
- Corre
kubectl apply -f ./manifests/password-state.yaml
. - Corre
kubectl get secret password -o yaml
y debes de ver el password que fue generado por Terraform. - Corre
kubectl apply -f ./manifests/tls-state.yaml
. - Corre
kubectl get configmap tls -o yaml
y debes de ver el contenido del archivo de certificado privado que creamos con Terraform anteriormente.
Cuando termines, simplemente corre make destroy
, y el cluster de k3d
va a ser destruído.