¿Qué vamos a ver?

What You'll Learn

  1. Accede a console.cloud.google.com
  2. Loguéate con tu cuenta de usuario elegida para el curso.
  3. Una vez ya en la consola, en la esquina superior izquierda busca un desplegable con 3 hexágonos pequeños para seleccionar tu proyecto.
  4. Ábrelo y selecciona tu proyecto asignado. Puedes tener que hacer click en el desplegable de organizaciones y cambiar a Sin organización.
  5. Te recomendamos dividir el escritorio horizontalmente en dos ventanas, una con la consola y/o Cloud Shell y otra con las instrucciones.
  6. Activa Cloud Shell en el icono de la parte superior derecha >_.
  7. Puedes configurar la completación de comandos para kubectl con la tecla "TAB":
    source <(kubectl completion bash)
    
    Comprueba que funciona escribiendo kubectl y presionando la tecla "TAB" 2 veces.
  1. En primer lugar, explora la documentación de los pods:
    kubectl explain pods
    kubectl explain pods.spec
    kubectl explain pods.spec.containers
    
  2. Ejecuta un pod de NGINX:
    kubectl run nginx --image nginx --generator=run-pod/v1
    
  3. Lista los pods en ejecución:
    kubectl get pods
    
  4. Ejecuta un nuevo pod de NGINX con el puerto 80 expuesto:
    kubectl run nginx-open-port --image nginx --generator=run-pod/v1 --port 80
    
  5. Lista los pods en ejecución de nuevo:
    kubectl get pods
    
  6. Abre otra nueva sesión en una nueva pestaña de Cloud Shell.
  7. En la nueva pestaña, activa la redirección de puertos al puerto local 8080:
    kubectl port-forward nginx-open-port 8080:80
    
  8. Vuelve a la pestaña anterior y comprueba la respuesta del pod en dicho puerto con curl o en una pestaña de tu navegador (con la función "web preview" de Cloud Shell):
    curl localhost:8080
    
    Debes poder acceder a la página de muestra de NGINX.
  1. Copia la siguiente definición de Pod en un archivo pods/nginx.yaml:
    mkdir pods
    nano pods/nginx.yaml
    
    apiVersion: v1
    kind: Pod
    metadata:
    name: nginx-app
    labels:
    app: nginx
    spec:
    containers:
    - name: nginx
    image: nginx
    ports:
    -  containerPort: 80
    
  2. Crea el pod de forma declarativa:
    kubectl apply -f pods/nginx.yaml
    
  3. Lista los pods en ejecución de nuevo:
    kubectl get pods
    
  4. Elimina los pods en ejecución:
    kubectl delete pod nginx nginx-open-port nginx-app
    

¿Serías capaz de desplegar 3 réplicas de la imagen de Apache 2?

¿Y hacerlo a partir de un manifiesto?

En esta práctica hemos visto cómo:

What we've covered