Información básica del clúster
Kubernetes es un motor de orquestación de contenedor de código abierto para automatizar el despliegue y la gestión de aplicaciones en contenedores.
Para los desarrolladores, Kubernetes es un sistema operativo de clúster. Kubernetes proporciona detección de servicios, ajuste, equilibrio de carga, autoreparación e incluso elección de líderes, liberando a los desarrolladores de las configuraciones relacionadas con la infraestructura.
Al usar Kubernetes, es como ejecutar un gran número de servidores como uno y el método para implementar aplicaciones en Kubernetes siempre es el mismo.
Arquitectura de clúster de Kubernetes
Un clúster de Kubernetes consta de nodos maestros (Masters) y nodos de trabajo (Nodes). Las aplicaciones se despliegan en los nodos de trabajo y puede especificar los nodos para despliegue.
Para los clústeres de CCE, los nodos maestros están alojados por CCE. Solo necesita crear nodos de trabajo.
La siguiente figura muestra la arquitectura de un clúster de Kubernetes.
Nodo principal
Un nodo principal es la máquina donde se ejecutan los componentes del plano de control, incluidos el servidor API, Scheduler, Controller manager y etcd.
- Servidor API: funciona como una estación de tránsito para que los componentes se comuniquen entre sí, recibe solicitudes externas y escribe información en etcd.
- Controller manager: realiza funciones a nivel de clúster, como replicación de componentes, seguimiento de nodos y corrección de fallos de nodo.
- Scheduler: programa contenedores a nodos en función de diversas condiciones (como recursos disponibles y afinidad de nodos).
- etcd: sirve como un componente de almacenamiento de datos distribuido que almacena información de configuración del clúster.
En un entorno de producción, se despliegan varios nodos maestros para garantizar una alta disponibilidad del clúster. Por ejemplo, puede desplegar tres nodos maestros para su clúster de CCE.
Node de trabajo
Un nodo de trabajo es un nodo informático de un clúster, es decir, un nodo que ejecuta aplicaciones en contenedores. Un nodo de trabajo tiene los siguientes componentes:
- kubelet: se comunica con el tiempo de ejecución contenedor, interactúa con el servidor API y gestiona contenedores en el nodo.
- kube-proxy: sirve como proxy de acceso entre los componentes de la aplicación.
- Tiempo de ejecución del contenedor: funciona como el software para ejecutar contenedores. Puede descargar imágenes para crear su tiempo de ejecución de contenedor, como Docker.
Nodos principales y ajuste de clúster
Cuando crea un clúster en CCE, puede tener uno o tres nodos principales. Tres nodos principales pueden crear un clúster en modo HA.
Las especificaciones del nodo principal deciden el número de nodos que puede gestionar un clúster. Puede seleccionar la escala de gestión de clústeres, por ejemplo, 50 o 200 nodos.
Red de clústeres
Desde la perspectiva de la red, todos los nodos de un clúster se encuentran en una VPC y contenedores se ejecutan en los nodos. Debe configurar la comunicación nodo-nodo, nodo-contenedor y contenedor-contenedor.
Una red de clúster se puede dividir en tres tipos de red:
- Red de nodos: las direcciones IP se asignan a los nodos de un clúster.
- Red de contenedores: las direcciones IP se asignan a contenedores en un clúster para la comunicación. Actualmente, se soportan múltiples modelos de red de contenedor, y cada modelo tiene su propio mecanismo de trabajo.
- Red de servicios: Un Service es un objeto de Kubernetes que se utiliza para acceder a contenedores. Cada Service tiene una dirección IP fija.
Cuando cree un clúster, seleccione un bloque CIDR adecuado para cada red. Asegúrese de que los bloques CIDR no entren en conflicto entre sí y tengan suficientes direcciones IP disponibles. No puede cambiar el modelo de red contenedor después de crear el clúster. Planifique el modelo de red contenedor correctamente con antelación.
Antes de crear un clúster, se recomienda obtener información sobre la red del clúster y los modelos de red contenedor. Para obtener más información, véase Container Network Models.
Ciclo de vida del clúster
Estado |
Descripción |
---|---|
Creando |
Se está creando un clúster y solicita recursos en la nube. |
Ejecutando |
Un clúster se está ejecutando correctamente. |
Expandiendo horizontalmente |
Se está agregando un nodo a un clúster. |
Reduciendo horizontalmente |
Se está eliminando un nodo de un clúster. |
Hibernando |
Un clúster está hibernando. |
Despertando |
Se está despertando un clúster. |
Actualizando |
Se está actualizando un clúster. |
No disponible |
Un clúster no está disponible. |
Eliminando |
Se está eliminando un clúster. |