Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducción a Kubernetes

Yury Nino
April 03, 2021

Introducción a Kubernetes

Parte del sitio www.ingenieriadelcaos.com

Yury Nino

April 03, 2021
Tweet

More Decks by Yury Nino

Other Decks in Research

Transcript

  1. ¿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
  2. 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
  3. 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.
  4. 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/
  5. Minikube Minikube se instala directamente en Linux, macOs o Windows

    de forma local. https://minikube.sigs.k8s.io/docs/start/
  6. 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
  7. 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.
  8. 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/
  9. 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.
  10. 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]
  11. 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.
  12. Minikube Minikube se instala directamente en Linux, macOs o Windows

    de forma local. https://minikube.sigs.k8s.io/docs/start/