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

Introducción a Kubernetes

Ff4c82792a2a149102604bf71dcc6a78?s=47 Yury Nino
April 03, 2021

Introducción a Kubernetes

Parte del sitio www.ingenieriadelcaos.com

Ff4c82792a2a149102604bf71dcc6a78?s=128

Yury Nino

April 03, 2021
Tweet

Transcript

  1. Kubernetes Yury Niño Roa Ingeniera de Confiabilidad en Sitio Ingeniería

    del Caos
  2. • Arquitectura Kubernetes • Objetos Kubernetes • Minikube • Herramientas

    Kubernetes • Demo
  3. ¿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
  4. Arquitectura Kubernetes

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

  6. 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
  7. 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.
  8. Minikube

  9. 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/
  10. Minikube Minikube se instala directamente en Linux, macOs o Windows

    de forma local. https://minikube.sigs.k8s.io/docs/start/
  11. 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
  12. Objetos Kubernetes

  13. 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.
  14. 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/
  15. 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.
  16. 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]
  17. 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.
  18. Demo Instalación

  19. Minikube Minikube se instala directamente en Linux, macOs o Windows

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