Soy desarrolladora de Software y siempre voy un paso por detrás en la parte de sistemas. Pero cuando trabajas en un equipo pequeño en una startup necesitas aprender un poco más de todo. En esta charla veremos las diferentes herramientas que Kubernetes nos provee para ayudarnos a crear una infraestructura escalable.
Para la realización del taller, los asistentes necesitarán registrarse en Google Cloud con una tarjeta de crédito. Para los nuevos usuarios, tendrán disponible hasta 300 euros de crédito al registrarse, los usuarios que ya tuvieran cuenta necesitarán correr con el coste de ejecución de los recursos utilizados en el taller que será inferior a 2 dólares.
Requisitos para el taller
Durante el taller necesitaremos contar con un entorno de kubernetes. La opción más sencilla es utilizar un entorno de Kubernetes alojado en la nube. Por simplicidad el servicio elegido será Google Cloud, por lo que los asistentes necesitarán registrarse previamente. Para ello deberías crearte una cuenta (https://accounts.google.com/SignUp) si no tienes ya una. Accede la consola (https://console.cloud.google.com) de Google Cloud Platform y crea un nuevo proyecto.
A continuación deberás activar la facturación en esta url https://console.cloud.google.com/billing.
Los nuevos usuarios pueden solicitar una prueba gratis de 300$ aquí (https://console.developers.google.com/billing/freetrial?hl=en), el coste de este taller no será de más de un par de dólares.
2. ● Twitter: @laura_morillo
● GDG Madrid Organizer, WTM Lead
● Startup lover.
● Backend developer at Seedtag.
● 10 years working with different
technologies.
@Laura_Morillo
3. Getting ready!
1. Create a Google Account: https://accounts.google.com/SignUp
2. Register in Google Cloud Platform: http://console.cloud.google.com/
3. Request free credit:
https://console.developers.google.com/billing/freetrial?hl=en
4. Create a new project
https://goo.gl/1sqOrk
@Laura_Morillo
16. Creating our cluster!
● While creating the cluster a zone is required. Execute this first:
○ gcloud config set compute/zone europe-west1-d
https://goo.gl/1sqOrk
@Laura_Morillo
32. Deployments
● Controls new versions
● Rollback to previous versions
● We set the pod information,
amount of pods, update
strategy...
V1
V2
Deployment
@Laura_Morillo
42. HorizontalPodAutoscaler
● Scales the number of pods
from a deployment
● At the moment, only based
on the CPU utilizationRedis
V1
My
Image
V2
HorizontalPodAutoescaler: From 2 to 10
Redis
V1
My
Image
V2
Min 2
Redis
V1
My
Image
V2
Max 10
1 2 10
@Laura_Morillo
44. Summary
● Kubernetes is a cluster manager that helps us to:
○ Deploy our applications from Docker containers
○ Structure our application with microservices
○ Connect the different microservices
○ Provide external access to our services
○ Scale our infrastructure when we need it
○ And more!
@Laura_Morillo
45. Extra notes
● For steps 9 and 10 curl should be executed from your console, not from
Google Console.
● Step 12 commands should be:
○ cat deployments/auth.yaml
○ kubectl create -f deployments/auth.yaml
● Delete: Google Cloud Menu => Networking => Load Balancing
https://goo.gl/1sqOrk
@Laura_Morillo