Kubernetes Introducción

Aprender cómo iniciar la implementación y administración de aplicaciones en contenedores

Un manual básico sobre los contenedores

Antes de empezar a usar Kubernetes, es importante comprender cómo funciona la containerización.

Del mismo modo que el sector del transporte utiliza contenedores para aislar cargas diferentes para su transporte en barcos, trenes, camiones y aviones, las tecnologías de desarrollo de software utilizan cada vez más un concepto denominado "containerización".

Un paquete de software único (conocido como "contenedor") agrupa el código de una aplicación con los archivos de configuración asociados, las bibliotecas y las dependencias que se requieren para que la aplicación se ejecute. Esto permite a desarrolladores y profesionales de TI crear e implementar aplicaciones de manera más rápida y segura.

La containerización ofrece las ventajas de aislamiento, portabilidad, agilidad, escalabilidad y control en todo el flujo de trabajo del ciclo de vida de una aplicación. A contenedor, abstraído del sistema operativo host, es independiente y más portátil (se puede ejecutar a través de cualquier plataforma o nube en cualquier infraestructura de manera uniforme y fluida.

Componentes y conceptos de Kubernetes

El clúster

Al más alto nivel, Kubernetes se organiza como un clúster de máquinas virtuales o locales. Estas máquinas, denominadas "nodos", comparten recursos de proceso, red y almacenamiento. Cada clúster tiene un nodo principal conectado a uno o varios nodos de trabajo. Los nodos de trabajo son responsables de ejecutar grupos de cargas de trabajo y aplicaciones en contenedores, conocidos como pods; y el nodo principal administra los pods que se ejecutan en cada uno de los nodos de trabajo.

Obtener información general de Kubernetes

El plano de control

Para que el nodo principal se comunique con los nodos de trabajo (y para que una persona se comunique con el nodo principal), Kubernetes incluye varios objetos que colectivamente forman el plano de control.

Los desarrolladores y los operadores interactúan con el clúster principalmente a través del nodo principal mediante kubectl, una interfaz de la línea de comandos que se instala en su sistema operativo local. Los comandos emitidos al clúster a través de kubectl se envían al registro de kube-apiserver, la API de Kubernetes API que reside en el nodo principal. A continuación, el registro de kube-apiserver comunica las solicitudes al registro de kube-controller-manager en el nodo principal, que también es responsable de controlar las operaciones del nodo de trabajo. Los comandos del nodo principal se envían al registro de kubelet en los nodos de trabajo.

Implementación de aplicaciones y cargas de trabajo

El siguiente paso para empezar a usar Kubernetes es implementar las aplicaciones y las cargas de trabajo. El nodo principal mantiene el estado actual del clúster de Kubernetes y la configuración en el servicio etcd, una base de datos de almacén de valores clave, en todo momento. Para ejecutar pods con sus cargas de trabajo y aplicaciones en contenedores, deberá describir un nuevo estado deseado para el clúster con el formato de un archivo YAML. El registro de kube-controller-manager toma el archivo YAML y encarga al registro de kube-scheduler la decisión sobre los nodos de trabajo que la aplicación o la carga de trabajo deben ejecutar según las restricciones predeterminadas. Al trabajar junto con el registro de kubelet de cada nodo de trabajo, el registro de kube-scheduler inicia los pods, observa el estado de las máquinas y es responsable general de la administración de recursos.

Ver cómo funciona el registro de kube-scheduler

En una implementación de Kubernetes, el estado deseado que describe se convierte en el estado actual de la base de datos etcd, pero el estado anterior no se pierde. Kubernetes admite las reversiones, la acumulación de actualizaciones y la pausa de lanzamientos Además, las implementaciones utilizan ReplicaSets en segundo plano para garantizar la ejecución del número especificado de pods configurados de forma idéntica. Si se producen errores en uno o más pods, el recurso ReplicaSet los reemplaza. En consecuencia, se dice que Kubernetes es una solución autoregenerativa.

Estructuración y protección de entornos de Kubernetes

Con su aplicación o carga de trabajo implementada, el último paso para empezar a usar Kubernetes es organizarla y determinar quién o qué tiene acceso a esta. Al crear un espacio de nombres, un método de agrupación en Kubernetes, permite que servicios, pods, controladores y volúmenes funcionen juntos a la vez que los aísla de otros componentes del clúster. Asimismo, utilice el concepto de los espacios de nombres de Kubernetes para aplicar configuraciones coherentes a los recursos.

Ver cómo funciona la administración de la configuración

Además, cada nodo de trabajo contiene un registro de kube-proxy, que determina cómo se puede acceder a los distintos aspectos del clúster desde el exterior. Almacene información confidencial no pública, como tokens, certificados y contraseñas en secretos (otro objeto de Kubernetes), que se encuentran codificados hasta el tiempo de ejecución.

Ver cómo funciona la administración de secretos

Por último, especifique quién puede ver las partes del clúster e interactuar con estas (y con qué permiso) mediante el control de acceso basado en roles (RBAC).

Ver cómo funciona el control de acceso basado en roles

Profundizar en los detalles técnicos de Kubernetes

Ver la documentación de Kubernetes

Implementación de una solución de Kubernetes completamente administrada

Administre su entorno hospedado de Kubernetes con Azure Kubernetes Service (AKS). Implemente y mantenga aplicaciones en contenedores sin experiencia en la orquestación de contenedores. Aprovisione, actualice y escale recursos a petición, sin tener que usar sus aplicaciones sin conexión.

Inicio rápido de Kubernetes: puesta en marcha en 50 días

Utilice esta guía paso a paso para empezar a usar Kubernetes y obtener experiencia práctica con los componentes, las funcionalidades y las soluciones de Kubernetes.

Cuando esté listo, comenzamos. Pruebe Kubernetes gratis en Azure