Introducció a Kubernetes Engine
Google Kubernetes Engine (GKE) és un servei gestionat de Kubernetes que permet desplegar, gestionar i escalar aplicacions contenidoritzades utilitzant la infraestructura de Google Cloud Platform. Kubernetes és una plataforma de codi obert per a l'automatització del desplegament, l'escalat i les operacions de les aplicacions contenidoritzades.
Objectius d'aprenentatge
En aquest tema, aprendràs:
- Què és Google Kubernetes Engine (GKE).
- Com crear i gestionar clústers de Kubernetes a GKE.
- Com desplegar aplicacions en un clúster de GKE.
- Com escalar i actualitzar aplicacions en GKE.
- Bones pràctiques per a la gestió de clústers i aplicacions en GKE.
Què és Google Kubernetes Engine (GKE)?
Google Kubernetes Engine és un servei gestionat que facilita l'ús de Kubernetes per desplegar, gestionar i escalar aplicacions contenidoritzades. GKE proporciona una infraestructura segura i escalable, amb integració nativa amb altres serveis de Google Cloud.
Característiques clau de GKE
- Gestió Automàtica de Clústers: GKE gestiona automàticament el clúster de Kubernetes, incloent-hi l'actualització i el manteniment dels nodes.
- Escalabilitat: Permet escalar automàticament les aplicacions i els clústers segons la demanda.
- Seguretat: Integració amb Google Cloud IAM i altres serveis de seguretat per protegir les aplicacions.
- Monitoratge i Registre: Integració amb Stackdriver per al monitoratge i registre de les aplicacions.
Crear un Clúster de Kubernetes a GKE
Pas 1: Configurar el teu entorn
Abans de crear un clúster, assegura't de tenir el SDK de Google Cloud instal·lat i configurat al teu entorn local.
# Instal·lar el SDK de Google Cloud curl https://sdk.cloud.google.com | bash # Inicialitzar el SDK de Google Cloud gcloud init
Pas 2: Crear un Clúster
Utilitza la consola de Google Cloud o la línia de comandes per crear un clúster de Kubernetes.
Utilitzant la línia de comandes
Utilitzant la consola de Google Cloud
- Ves a la consola de Google Cloud.
- Navega a "Kubernetes Engine" > "Clústers".
- Fes clic a "Crear clúster".
- Configura els paràmetres del clúster i fes clic a "Crear".
Pas 3: Configurar kubectl
Després de crear el clúster, configura kubectl
per interactuar amb el clúster.
# Obtenir les credencials del clúster gcloud container clusters get-credentials my-cluster --zone us-central1-a
Desplegar Aplicacions en un Clúster de GKE
Crear un fitxer de desplegament
Crea un fitxer YAML per definir el desplegament de la teva aplicació.
apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-app image: gcr.io/my-project/my-app:latest ports: - containerPort: 80
Desplegar l'aplicació
Utilitza kubectl
per desplegar l'aplicació al clúster.
Exposar l'aplicació
Exposa l'aplicació per accedir-hi des de fora del clúster.
# Crear un servei per exposar l'aplicació kubectl expose deployment my-app --type=LoadBalancer --port 80 --target-port 80
Escalar i Actualitzar Aplicacions en GKE
Escalar l'aplicació
Pots escalar l'aplicació ajustant el nombre de rèpliques.
Actualitzar l'aplicació
Per actualitzar l'aplicació, modifica la imatge del contenidor al fitxer de desplegament i aplica els canvis.
Bones Pràctiques per a la Gestió de Clústers i Aplicacions en GKE
- Utilitza Namespaces: Organitza els recursos en namespaces per a una millor gestió i seguretat.
- Monitoratge i Registre: Utilitza Stackdriver per monitoritzar i registrar les aplicacions.
- Gestió de Secrets: Utilitza Kubernetes Secrets per gestionar informació sensible.
- Escalabilitat Automàtica: Configura l'escalabilitat automàtica per gestionar la càrrega de treball de manera eficient.
- Actualitzacions Ràpides: Implementa estratègies d'actualització com Rolling Updates per minimitzar el temps d'inactivitat.
Exercicis Pràctics
Exercici 1: Crear i Desplegar una Aplicació en GKE
- Crea un clúster de Kubernetes a GKE.
- Desplega una aplicació contenidoritzada al clúster.
- Exposa l'aplicació utilitzant un LoadBalancer.
Exercici 2: Escalar i Actualitzar una Aplicació
- Escala l'aplicació desplegada a 5 rèpliques.
- Actualitza la imatge del contenidor de l'aplicació a una nova versió.
- Verifica que l'actualització s'ha realitzat correctament.
Solucions als Exercicis
Solució a l'Exercici 1
# Crear un clúster de Kubernetes gcloud container clusters create my-cluster --zone us-central1-a # Configurar kubectl gcloud container clusters get-credentials my-cluster --zone us-central1-a # Crear un fitxer de desplegament (deployment.yaml) apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-app image: gcr.io/my-project/my-app:latest ports: - containerPort: 80 # Desplegar l'aplicació kubectl apply -f deployment.yaml # Exposar l'aplicació kubectl expose deployment my-app --type=LoadBalancer --port 80 --target-port 80
Solució a l'Exercici 2
# Escalar l'aplicació a 5 rèpliques kubectl scale deployment my-app --replicas=5 # Actualitzar la imatge del contenidor al fitxer de desplegament (deployment.yaml) spec: containers: - name: my-app image: gcr.io/my-project/my-app:v2 # Aplicar els canvis kubectl apply -f deployment.yaml
Conclusió
En aquest tema, has après a crear i gestionar clústers de Kubernetes a Google Kubernetes Engine, desplegar aplicacions, escalar-les i actualitzar-les. També has après bones pràctiques per a la gestió de clústers i aplicacions en GKE. Amb aquests coneixements, estàs preparat per gestionar aplicacions contenidoritzades a gran escala utilitzant GKE.
Curs de Google Cloud Platform (GCP)
Mòdul 1: Introducció a Google Cloud Platform
- Què és Google Cloud Platform?
- Configurar el teu compte de GCP
- Visió general de la consola de GCP
- Comprendre projectes i facturació
Mòdul 2: Serveis bàsics de GCP
Mòdul 3: Xarxes i seguretat
Mòdul 4: Dades i analítica
Mòdul 5: Aprenentatge automàtic i IA
Mòdul 6: DevOps i monitoratge
- Cloud Build
- Repositoris de codi font al núvol
- Funcions al núvol
- Monitoratge de Stackdriver
- Gestor de desplegament al núvol
Mòdul 7: Temes avançats de GCP
- Híbrid i multi-núvol amb Anthos
- Computació sense servidor amb Cloud Run
- Xarxes avançades
- Millors pràctiques de seguretat
- Gestió i optimització de costos