Demo de Pulumi para kubernetes con GCP y GKE
pulumi version
v2.2.1
- Acceso a GCP y cuenta de servicio con privilegios (archivo json con las credenciales)
- GCP project donde se tengan privilegios para GKE.
- NodeJS.
- Pulumi CLI (pulumi).
pulumi new -d "k8s cluster using typescript" --dir pulumi_k8s_demo typescript -y -s develop
Nota: no hace falta realizarlo ya que el repositorio tiene el contenido.
Crear el stack.
pulumi stack init develop
Instalar las dependencias para kubernetes.
cd pulumi_k8s_demo
npm install --save @pulumi/pulumi @pulumi/gcp @pulumi/kubernetes @types/chai @types/mocha chai mocha
Definir los valores de configuracion para GCP.
pulumi config set gcp:project YOURPROJECT
pulumi config set gcp:zone YOURZONE
pulumi config set region YOURREGION
pulumi config set domain YOURDOMAIN
pulumi config set subdomain YOURSUBDOMAIN
pulumi config set nodes YOURNODESCOUNT
pulumi config set ipcidrrange YOURIPRANGE
Definir las credencias en variable de ambiente para pulumi.
export GOOGLE_APPLICATION_CREDENTIALS="/Users/everis/gcloud/gcp-service-account.json"
Realizar el preview del despliegue.
pulumi preview
Realizar el despliegue.
pulumi up -y
Obtener las credenciales del cluster.
pulumi stack output KUBECONFIG --show-secrets > /tmp/kubeconfig
Obtener el password del usuario admin de grafana.
kubectl --kubeconfig=/tmp/kubeconfig get secret \
--namespace default grafana \
-o jsonpath="{.data.admin-password}" \
| base64 --decode ; echo
Abrir un navegador y comprobar que se puede ingresar en grafana.
http://subdomain.domain/login