Aprovechando la prueba gratuita de Goole vamos a desplegar un cluster configurar el dashboard y desplegar un helm.
https://cloud.google.com/free/?hl=es-419
Instalar y configurar SDK
Partimos de que ya hemos instalado kubernetes en centos como se describe en post anteriores. Para instalar el SDK hay que añadir el repo.
sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM [google-cloud-sdk] name=Google Cloud SDK baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM sudo yum install google-cloud-sdk
Autentication Google Cloud
gcloud auth login
Configuramos en que proyecto vamos a trabajar.
gcloud config set project kubeg-260919
Creación del cluster de kubernetes
gcloud container clusters create kluster --machine-type n2-standard-4 --region europe-west2-c --cluster-version 1.14.8-gke.17
Configuramos el kubectl
gcloud container clusters get-credentials kluster --region europe-west2-c
Desplegando Dashboard
En este punto es lo mismo que en el post anterior desplegar dashboard on premise solo que hay que saltarse la parte de metallb porque las ips las va a gestionar google.
https://piensoluegoinstalo.com/kubernetes-cluster-dashboard-on-premise/
Los certificados se pueden crear autofirmados pero si contais con un dns publico podeis crearlos firmados con lets encrypt y el lets enctryp-omatik
https://piensoluegoinstalo.com/letsencrypt-o-matik-certificados-firmados-al-instante/
Con certificados ya creados sean autofirmados no
kubectl create namespace kubernetes-dashboard
kubectl -n kubernetes-dashboard create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs
Deployment del dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
Ahora editamos el servicio y cambiamos a LoadBalancer, esto provocara que google nos asigne una ip externa, si el dns no es publicado editamos el hosts para que resuelva la ip que nos ha dado google al cn de nuestro certificado antes desplegado. En caso de ser und dns publico recongurirarlo para que apunte que google nos asigne.
kubectl -n kubernetes-dashboard edit service kubernetes-dashboard
Crear el service account y otorgarle privlegios.
nano admin.yaml
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard
kubectl apply -f admin.yaml
Para entrar es necesario el token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
Para ver que ip nos han asignado.
kubectl -n kubernetes-dashboard get service kubernetes-dashboardEn este caso hago que el dominio kluster.cf resuelva la ip que me ha dado asi mi dashboard estare en https://kluster.cf y entro con el token
Helm
wget https://get.helm.sh/helm-v3.0.1-linux-amd64.tar.gz tar -xzvf helm-v3.0.1-linux-amd64.tar.gz cp ./linux-amd64/helm /usr/bin/
Iniciamos helm y añadimos el repo stable
helm init helm repo add stable https://kubernetes-charts.storage.googleapis.com/ helm repo update
Ya podmeos desplegar charts desde la consola.
helm install jenkins stable/jenkins
Aqui os dejo un video con musiquita 😉
PD: Google ah reducido la cuota de numeros de cpus por region de 12 a 8. Por lo que para crear el cluster usamos esta comando:gcloud container clusters create kluster --machine-type n1-highmem-2 --region europe-west2-c --num-nodes 4 --cluster-version 1.14.8-gke.17
0 comentarios