Slide 1

Slide 1 text

Kubernetes Yury Niño Roa Ingeniera de Confiabilidad en Sitio Ingeniería del Caos

Slide 2

Slide 2 text

● Arquitectura Kubernetes ● Objetos Kubernetes ● Minikube ● Herramientas Kubernetes ● Demo

Slide 3

Slide 3 text

¿Qué es Kubernetes? Kubernetes es un sistema de código abierto que permite desplegar, escalar y administrar contenedores. La palabra Kubernetes viene de la palabra griega κυβερνήτης, que significa timonel o piloto de barco. Kubernetes es además referido como k8s porque hay 8 letras entre la k y la s. Kubernetes fue creado por Google inspirado en el orquestador Google Borg. En Julio de 2015 fue donado a la Cloud Native Computing Foundation. https://kubernetes.io/docs

Slide 4

Slide 4 text

Arquitectura Kubernetes

Slide 5

Slide 5 text

Arquitectura de Kubernetes https://kubernetes.io/docs

Slide 6

Slide 6 text

Arquitectura de Kubernetes El master node ejecuta los siguientes componentes del control plane: ● API Server ● Scheduler ● Controller Managers ● Data Store Adicionalmente corre el master node: ● Container Runtime ● Node Agent ● Proxy

Slide 7

Slide 7 text

Arquitectura de Kubernetes El worker node tiene los siguientes componentes: ● Container Runtime ● Node Agent - kubelet ● Proxy - kube-proxy ● Addons para DNS, Dashboard user interface, Cluster-level monitoring and logging.

Slide 8

Slide 8 text

Minikube

Slide 9

Slide 9 text

Minikube Minikube es un cluster local diseñado para facilitar el aprendizaje de Kubernetes. Lo que necesitas antes de la instalación es: ● Docker container o un entorno de máquina virtual. ● 2 CPUs o más ● 2 GB de memoria ● 20 GB de espacio libre en disco ● Conexión a Internet ● Gestor de contenedores o máquinas virtuales como: Docker o VirtualBox. https://minikube.sigs.k8s.io/docs/start/

Slide 10

Slide 10 text

Minikube Minikube se instala directamente en Linux, macOs o Windows de forma local. https://minikube.sigs.k8s.io/docs/start/

Slide 11

Slide 11 text

Herramientas Kubernetes Un cluster Kubernetes puede ser accedido vía: ● Kubectl Una herramienta o script Command Line Interface (CLI) ● Minikube dashboard Una Web-based User Interface (Web UI) desde un navegador web ● APIs Programaticamente a través de APIs

Slide 12

Slide 12 text

Objetos Kubernetes

Slide 13

Slide 13 text

Objetos Kubernetes Los siguientes objetos representan las entidades que se persisten en un cluster de Kubernetes: ● Pods ● ReplicaSets ● Deployments ● Namespaces La definición de estos objetos se hace en archivos JSON o YAML que son interpretados el API Server de Control Plane.

Slide 14

Slide 14 text

Objeto Spec & Status Casi todos los objetos incluyen dos campos: el objeto spec y el objeto status. https://kubernetes.io/docs/concepts/overview/working-with-objects/object-management/

Slide 15

Slide 15 text

Pods ● Un Pod es la unidad desplegable más pequeña que se puede crear y gestionar. ● Es un grupo de uno o más contenedores, con recursos de almacenamiento y red compartidos, y una especificación de cómo ejecutar los contenedores. ● Así como los contenedores de aplicaciones, un Pod tiene contenedores init que se ejecutan durante el arranque del Pod. ● Los Pods en un cluster se pueden usar de dos formas: ○ Pods que ejecutan un único contenedor. ○ Pods que ejecutan múltiples contenedores que trabajan juntos.

Slide 16

Slide 16 text

Labels & Selectors Los labels o etiquetas son parejas de clave-valor que se adjuntan a los objetos. Se utilizan para organizar y seleccionar objetos. Los selectores se usan para seleccionar un subconjunto de objetos. Kubernetes soporta dos tipos de selectores: ● Selectores basados en igualdad. [==] [!=] ● Selectores basados en conjuntos. [exist] [does not exist]

Slide 17

Slide 17 text

Namespaces Los namespaces sirven para crear varios subclusters virtuales en un caso de uso en el que varios usuarios acceden al mismo clúster. Los nombres de los recursos/objetos creados dentro de un namespace son únicos dentro del objeto, pero no a través del cluster. Por defecto Kubernetes crea cuatro namespaces: kube-system, kube-public, kube-node-lease, y default.

Slide 18

Slide 18 text

Demo Instalación

Slide 19

Slide 19 text

Minikube Minikube se instala directamente en Linux, macOs o Windows de forma local. https://minikube.sigs.k8s.io/docs/start/

Slide 20

Slide 20 text

Gracias!