Demo de Pulumi para kubernetes con GCP y GKE
pulumi versionv2.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 developInstalar las dependencias para kubernetes.
cd pulumi_k8s_demo
npm install --save @pulumi/pulumi @pulumi/gcp @pulumi/kubernetes @types/chai @types/mocha chai mochaDefinir 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 YOURIPRANGEDefinir 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 previewRealizar el despliegue.
pulumi up -yObtener las credenciales del cluster.
pulumi stack output KUBECONFIG --show-secrets > /tmp/kubeconfigObtener el password del usuario admin de grafana.
kubectl --kubeconfig=/tmp/kubeconfig get secret \
--namespace default grafana \
-o jsonpath="{.data.admin-password}" \
| base64 --decode ; echoAbrir un navegador y comprobar que se puede ingresar en grafana.
http://subdomain.domain/login