Partekatu honen bidez:


Conceptos básicos de Azure Kubernetes Service (AKS)

En este artículo se describen los conceptos básicos de Azure Kubernetes Service (AKS), un servicio de Kubernetes administrado que puede usar para implementar y operar aplicaciones en contenedores a escala en Azure.

¿Qué es Kubernetes?

Kubernetes es una plataforma de orquestación de contenedores de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores. Para obtener más información, consulte la documentación oficial de Kubernetes.

¿Qué es AKS?

AKS es un servicio de Kubernetes administrado que simplifica la implementación, administración y escalado de aplicaciones en contenedores mediante Kubernetes. Para obtener más información, consulte ¿Qué es Azure Kubernetes Service (AKS)?

Componentes de los clústeres

Un clúster de AKS se divide en dos componentes principales:

  • Plano de control: el plano de control proporciona los servicios básicos de Kubernetes y la orquestación de las cargas de trabajo de las aplicaciones.
  • Nodos: los nodos son las máquinas virtuales subyacentes que ejecutan las aplicaciones.

Recorte de pantalla de los componentes de nodo y plano de control de Kubernetes

Plano de control

El plano de control administrado de Azure consta de varios componentes que ayudan a administrar el clúster:

Componente Descripción
kube-apiserver El servidor de API (kube-apiserver) expone la API de Kubernetes para habilitar las solicitudes al clúster desde dentro y fuera del clúster.
etcd etcd es un almacén de pares clave-valor de alta disponibilidad que ayuda a mantener el estado del clúster y la configuración de Kubernetes.
kube-scheduler El programador (kube-scheduler) ayuda a tomar decisiones de programación, observar los nuevos pods sin nodo asignado y seleccionar un nodo para que se ejecuten en él.
kube-controller-manager El administrador de controladores (kube-controller-manager) ejecuta procesos de controlador, como la detección y respuesta cuando los nodos dejan de funcionar.
cloud-controller-manager El administrador de controladores de nube (cloud-controller-manager) inserta lógica de control específica de la nube para ejecutar controladores específicos del proveedor de nube.

Nodos

Cada clúster de AKS tiene al menos un nodo, que es una máquina virtual de Azure que ejecuta componentes de nodo de Kubernetes. Los siguientes componentes se ejecutan en cada nodo:

Componente Descripción
kubelet Kubelet garantiza que los contenedores se ejecutan en un pod.
kube-proxy Kube-proxy es un proxy de red que mantiene reglas de red en los nodos.
entorno de ejecución de contenedor El entorno de ejecución de contenedores administra la ejecución y el ciclo de vida de los contenedores.

Recorte de pantalla de la máquina virtual de Azure y recursos auxiliares para un nodo de Kubernetes

Configuración del nodo

Tamaño e imagen de la máquina virtual

El tamaño de la máquina virtual de Azure para los nodos define las CPU, la memoria, el tamaño y el tipo del almacenamiento disponible, por ejemplo, SSD de alto rendimiento o HDD normal. Su elección del tamaño de máquina virtual depende de los requisitos de carga de trabajo y del número de pods que planea ejecutar en cada nodo. Para obtener más información, consulte Tamaños de máquina virtual admitidos en Azure Kubernetes Service (AKS).

En AKS, la imagen de máquina virtual para los nodos del clúster se basa en Ubuntu Linux, Azure Linux o Windows Server 2022. Al crear un clúster de AKS o escalar horizontalmente el número de nodos, la plataforma Azure crea y configura automáticamente el número solicitado de máquinas virtuales. Los nodos de agente se facturan como máquinas virtuales estándar, por lo que cualquier descuento en el tamaño de la máquina virtual, incluidas reservas de Azure se aplica automáticamente.

Discos del sistema operativo

El ajuste de tamaño predeterminado del disco del sistema operativo solo se usa en nuevos clústeres o grupos de nodos cuando no se admiten discos del sistema operativo efímeros y no se especifica un tamaño de disco del sistema operativo predeterminado. Para obtener más información, consulte Ajuste de tamaño predeterminado del disco del sistema operativo y Discos de sistema operativo efímero.

Reservas de recursos

AKS usa recursos de nodo para ayudar a que los nodos funcionen como parte del clúster. Este uso puede provocar discrepancias entre los recursos totales del nodo y los recursos que se pueden asignar en AKS. Para mantener el rendimiento y la funcionalidad de los nodos, AKS reserva dos tipos de recursos, CPU y memoria, en cada nodo. Para obtener más información, consulte Reservas de recursos en AKS.

SO

AKS admite Ubuntu 22.04 y Azure Linux 2.0 como sistema operativo del nodo para grupos de nodos de Linux. En el caso de los grupos de nodos de Windows, AKS admite Windows Server 2022 como sistema operativo predeterminado. Windows Server 2019 se está retirando después de que la versión 1.32 de Kubernetes llegue al final del ciclo de vida y no se admitirá en futuras versiones. Si necesita actualizar la versión del sistema operativo Windows, consulte Actualización de Windows Server 2019 a Windows Server 2022. Para obtener más información sobre el uso de Windows Server en AKS, consulte Consideraciones sobre contenedores de Windows en Azure Kubernetes Service (AKS).

Entorno de ejecución de contenedor

Un entorno de ejecución de contenedor es un software que ejecuta contenedores y administra imágenes de contenedor en un nodo. El entorno de ejecución ayuda a abstraer las llamadas sys o la funcionalidad específica del SO para ejecutar contenedores en Linux o Windows. En el caso de los grupos de nodos de Linux, containerd se usa para la versión 1.19 de Kubernetes y versiones posteriores. Para los grupos de nodos de Windows Server 2019 y 2022, containerd está disponible con carácter general y será la única opción del entorno de ejecución en la versión 1.23 de Kubernetes y versiones posteriores.

Pods

Un pod es un grupo de uno o varios contenedores que comparten los mismos recursos de red y almacenamiento, así como una especificación para ejecutar los contenedores. Normalmente, los pods tienen una asignación de 1:1 con un contenedor, pero puede ejecutar varios contenedores en un pod.

Grupos de nodos

En AKS, los nodos con la misma configuración se agrupan en grupos de nodos. Estos grupos de nodos contienen los conjuntos de escalado de máquinas virtuales y las máquinas virtuales subyacentes que ejecutan las aplicaciones. Cuando crea un clúster de AKS, define el número de nodos y su tamaño (SKU) inicial, lo cual crea un grupo de nodos del sistema. Los grupos de nodos del sistema tienen el propósito principal de hospedar los pods críticos del sistema, como CoreDNS y konnectivity. Para admitir aplicaciones con diferentes necesidades de proceso o almacenamiento, puede crear grupos de nodos de usuario. Los grupos de nodos de usuario tienen el propósito principal de hospedar los pods de aplicación.

Para obtener más información, consulte Creación de grupos de nodos en AKS y Administración de grupos de nodos en AKS.

Grupo de recursos de nodos

Al crear un clúster de AKS en un grupo de recursos de Azure, el proveedor de recursos de AKS crea automáticamente un segundo grupo de recursos denominado grupo de recursos de nodo. Este grupo de recursos contiene todos los recursos de infraestructura asociados al clúster, incluidas las máquinas virtuales, los conjuntos de escalado de máquinas virtuales y el almacenamiento.

Para obtener más información, consulte los siguientes recursos:

Espacios de nombres

Los recursos de Kubernetes, como pods e implementaciones, se agrupan de forma lógica en espacios de nombres, con el fin de dividir un clúster de AKS y crear, visualizar o administrar el acceso a recursos.

Los siguientes espacios de nombres se crean de forma predeterminada en un clúster de AKS:

Espacio de nombres Descripción
default El espacio de nombres predeterminado permite empezar a usar recursos de clúster sin crear un nuevo espacio de nombres.
kube-node-lease El espacio de nombres kube-node-lease permite a los nodos comunicar su disponibilidad al plano de control.
kube-public El espacio de nombres kube-public no se usa normalmente, pero se puede usar para que los recursos sean visibles en todo el clúster para cualquier usuario.
kube-system Kubernetes usa el espacio de nombres kube-system para administrar recursos de clúster, como coredns, konnectivity-agent y metrics-server.

Recorte de pantalla de los espacios de nombres de Kubernetes para dividir de forma lógica los recursos y las aplicaciones

Modos de clúster

En AKS, puede crear un clúster con el modo Automatic (versión preliminar) o Standard. AKS Automatic proporciona una experiencia totalmente administrada y administra la configuración del clúster, incluidos los nodos, el escalado, la seguridad y otras opciones preconfiguradas. AKS Standard proporciona más control sobre la configuración del clúster, incluida la capacidad de administrar grupos de nodos, el escalado y otras opciones de configuración.

Para obtener más información, consulte Comparación de características de AKS Automatic y Standard.

Planes de tarifa

AKS ofrece tres planes de tarifa para la administración de clústeres: Gratis, Estándar y Premium. El plan de tarifa que elija determina las características disponibles para administrar el clúster.

Para más información, consulte Planes de tarifa para la administración de clústeres de AKS.

Versiones de Kubernetes compatibles en Azure Kubernetes Service (AKS).

Para obtener más información, consulte Versiones de Kubernetes compatibles en AKS.

Pasos siguientes

Para obtener información sobre otros conceptos básicos de AKS, consulte los siguientes recursos: