Enfoque
Objetivo
Una vez finalizado el curso de Kubernetes el alumno habrá adquirido los siguientes conocimientos:
- Conceptos básicos de contenedores
- Conceptos básicos de orquestadores de contenedores: Kubernetes
- Instalación, configuración y validación de un cluster de Kubernetes
- Redes en contenedores
- Conceptos de cloud privada y cloud pública
- Mantenimiento de clúster
- Plataforma de Google GCP y Kubernetes
- Seguridad y monitorización
Dirigido a:
Personal de TI con roles de SysOps, DevOps o responsables del diseño de entornos contenerizados, como arquitectos de sistemas o ingenieros especialistas cloud. Destinado a adquirir conocimientos sobre contenedores y orquestación de contenedores con K8s.
Requisitos:
Recomendable disponer de conocimientos previos en tecnologías de información; redes y sistemas, terminología y conceptos básicos de virtualización y sistemas GNU/Linux.
El alumno debe disponer de un ordenador basado en MacOS, Windows o Linux, con potencia de computación suficiente para ejecutar entornos virtualizados (recomendado 8 GB de RAM) y con el VirtualBox o VMplayer instalado.
Temario del curso
1 - Contenedores
Objetivo
Introducción a los contenedores de una manera general; cuáles son los más conocidos, cómo funcionan, con el fin de establecer unas pautas básicas de conocimiento para su utilización.
Duración de la unidad
3 Horas 30 Minutos
Contenido
1. Contenedores
1.1. Introducción a los contenedores
1.2. Virtualización clásica de sistemas y contenedores
1.2.1. Hipervisor
1.2.1.1. Hipervisor de tipo I (1)
1.2.1.2. Hipervisor de tipo II (2)
1.2.2. Máquina virtual
1.3. Virtualización de red
1.3.1. SND y NFV
1.3.2. VNF
1.3.3. CNF
1.4. Contenedores
1.4.1. Docker
1.4.1.1 Docker Hub
1.4.1.2. Docker Engine
1.4.1.3. Límites de Docker
1.4.2. RKT
1.4.3. Podman
1.4.4. Linux Container
1.5. Resumen
2 - El Cloud y los contenedores
Objetivo
Introducción al Cloud Computing, los diferentes tipos y modelos, el funcionamiento bajo demanda y se hace foco en la utilización de los contenedores, explicando términos como DevOps o CI/CD.
Duración de la unidad
3 Horas 55 Minutos
Contenido
2. El Cloud y los contenedores
2.1. Introducción
2.2. Cloud Computing
2.2.1. Ventajas e inconvenientes del cloud computing
2.3. Tipos de cloud
2.4. Modelos de servicio
2.5. DevOps
2.5.1. Pilares DevOps
2.6. CI/CD
2.7. Contenedores en la nube
2.7.1. CaaS
2.7.2. Beneficios de los contenedores en la nube
2.8. Contenedores con Docker
2.9. Resumen
3 - Introducción a Kubernetes
Objetivo
Conocer los contenedores y la gestión de estos mediante el uso de Kubernetes.
Duración de la unidad
4 Horas 05 Minutos
Contenido
3. Introducción a Kubernetes
3.1. Introducción
3.2. ¿Qué es Kubernetes?
3.3. Gestión de contenedores con K8s
3.4. Proyecto oficial
3.5. Detalle y documentación oficial
3.6. Características de Kubernetes
3.6.1. Clúster de K8s
3.6.2. Plano de control
3.6.3. Nodos
3.6.4. Kubelet
3.6.5. Kube-proxy
3.6.6. Container Runtime
3.6.6.1. Docker engine
3.7. Kubectl
3.8. Seguridad en K8s
3.8.1. Cloud
3.8.2. Clúster
3.8.3. Container
3.8.4. Code
3.9. Certificaciones K8s
3.9.1. CKA
3.9.2. CKS
3.9.3. CKAD
3.10. Resumen
4 - Kubernetes (I): Nube privada
Objetivo
Conocer el funcionamiento de Kubernetes en entornos particulares, acotados o corporativos de nube privada. Cuáles son los diferentes entornos qué soportan K8s y qué se necesitaría.
Duración de la unidad
3 Horas 15 Minutos
Contenido
4. Kubernetes (I): Nube privada
4.1. Introducción
4.2. Kubernetes en GNU/Linux
4.2.1. ¿Qué requisitos de software son necesarios para Kubernetes?
4.2.2. Minikube
4.2.2.1. Despliegue de aplicaciones y otros comandos
4.2.3. MicroK8s
4.4. Kubernetes en OpenShift
4.4.1. Componentes de Openshift
4.4.2. Openstack vs Openshift
4.5. Kubernetes en VMware
4.5.1. Tanzu Kubernetes Grid (TKG)
4.5.2. vSphere with Tanzu
4.6. Componentes de K8s
4.7. Resumen
5 - Kubernetes (II): Nube pública
Objetivo
Conocer el ámbito de la utilización de Kubernetes en entornos de nube pública como puede ser Microsoft Azure, Google GCP o Amazon AWS. Cómo se llaman los servicios o herramientas que proporcionan los proveedores de cloud pública que permiten utilizar K8s.
Duración de la unidad
4 Horas 25 Minutos
Contenido
5. Kubernetes (II): Nube pública
5.1. Introducción
5.2. Kubernetes en nube pública
5.2.1. Buenas prácticas de Kubernetes en la nube
5.3. Kubernetes en GCP (Google)
5.3.1. GKE: Google Kubernetes Engine
5.4. Kubernetes en Azure (Microsoft)
5.4.1. AKS: Azure Kubernetes Service
5.5. Kubernetes en AWS (Amazon)
5.5.1. EKS: Amazon Elastic Kubernetes Service
5.6. Kubernetes en OCI (Oracle)
5.6.1. OKE: Oracle Cloud Infrastructure Container Engine for Kubernetes
5.7. ¿Qué servicio y proveedor elegir?
5.8. Ecosistema y comunidad Kubernetes
5.9. Kubecon
5.10. Nube pública o nube privada
5.10.1. K8s en nube privada
5.10.2. K8s en nube pública
5.10.3. Consideraciones generales
5.11. Resumen
6 - Despliegue de Docker y Kubernetes
Objetivo
Instalación de Docker y Kubernetes en una distribución de GNU/Linux como Ubuntu.
Duración de la unidad
4 Horas 10 Minutos
Contenido
6. Despliegue de Docker y Kubernetes
6.1. Introducción
6.2. Kubernetes en GNU/Linux: Ubuntu LTS
6.3. Lab setup
6.4. Virtual Box
6.4.1. Instalación en Windows
6.4.2. Instalación en Linux
6.4.3. Instalación en macOS
6.5. Configuración inicial
6.6. Ubuntu LTS
6.6.1. Configuración entorno y sistema Ubuntu
6.7. Instalación de Docker
6.7.1. Instalación Docker en Ubuntu 20.04 LTS
6.8. Instalación Kubernetes en Ubuntu LTS
6.8.1. Parametrización inicial
6.8.2. Configuración de nombres
6.8.3. Instalación de K8s
6.8.4. Container Network Interface - K8s
6.9. Siguientes pasos con K8s
6.10. Unión de nodos al cluster
6.10.1. Comandos de monitorización y despliegue del primer servicio
6.10.2. Eliminar un nodo de un cluster de k8s
6.11. Resumen
7 - Operación y mantenimiento (I)
Objetivo
Manejar la operación y mantenimiento de entornos con K8s.
Duración de la unidad
4 Horas 15 Minutos
Contenido
7. Operación y mantenimiento (I)
7.1. Introducción
7.2. Objetos y controladores en K8s
7.2.1. Pod
7.2.1.1. Utilizando Pods
7.2.1.2. Pods y workloads
7.2.2. Servicios
7.2.2.1. Definición de servicio
7.2.3. Deployment
7.2.3.1. Casos de uso para crear Deployments
7.2.3.2. Creando un Deployment
7.2.4. Job
7.3. Comunicación en K8s: Contenedores, pods, servicio, etc.
7.3.1. Contenedor a Contenedor comunicación dentro de los Pods
7.3.2. Pod a Pod, comunicación en el mismo nodo y en los nodos del cluster
7.3.3. Comunicación del Pod al mundo exterior
7.4. Operación en K8s
7.4.1. Kubeadm
7.4.1.1. Modificación, creación de tokens y actualización de versión
7.4.2. Kubelet
7.4.3. Kubectl
7.4.3.1. Consulta de información del clúster
7.4.3.2. Consulta de recursos
7.4.3.3. Configuración y operación con recursos
7.5. Resumen
8 - Operación y mantenimiento (II)
Objetivo
Manejar la operación y mantenimiento de entornos con K8s.
Duración de la unidad
4 Horas 55 Minutos
Contenido
8. Operación y mantenimiento (II)
8.1. Introducción
8.2. Operación en K8s II
8.2.1. Estado del cluster
8.2.2. Pods
8.2.3. Servicios y deployments
8.2.4. Otros
8.3. Monitorización y logs
8.4. Seguridad en Kubernetes
8.4.1. Autenticación y autorización
8.4.2. Gestión de identidad y secretos
8.4.3. Seguridad del API server
8.4.4. Red y políticas de red
8.4.5. Seguridad del sistema de archivos y contenedores
8.4.6. Auditoría y registro
8.4.7. Monitorización y detección de Intrusiones
8.4.8. Actualizaciones, patching, backup y restore
8.4.9. Evaluación de vulnerabilidades
8.4.10. Seguridad del desarrollo de aplicaciones
8.4.11. Evaluación y cumplimiento
8.4.12. Automatización de seguridad
8.5. Resumen
9 - Kubernetes con GCP (GKE)
Objetivo
Conocer el ámbito de la utilización de Kubernetes en el entorno de nube pública de Google.
Duración de la unidad
2 Horas 30 Minutos
Contenido
9.Kubernetes con GCP (GKE)
9.1. Introducción
9.2. Google Cloud Platform (GCP)
9.3. Kubernetes en la nube pública de Google (GCP): GKE
9.3.1.GKE: Google Kubernetes Engine
9.4. Herramientas recomendadas para integrar con GKE
9.4.1. Google Cloud Skills Boost
9.4.1.1. Registro
9.4.1.2. Plataforma gratuita o de pago
9.5. Resumen