Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-01-10 GMT+08:00

Descripción general de la función

CCE le permite gestionar varios objetos de recursos, incluidos clústeres, nodos, grupos de nodos, cargas de trabajo, complementos y gráficos. Otras características avanzadas incluyen programación basada en afinidad, ajuste automático, almacenamiento y redes de contenedores, gestión de permisos y administrador del sistema.

Clúster

CCE es un servicio alojado de Kubernetes que simplifica la implementación y gestión de aplicaciones en contenedores. Con CCE, puede crear fácilmente los clústeres de Kubernetes, implementar las aplicaciones en contenedores y gestionarlas y mantenerlas.

  • Implementación integral y O&M: Puede crear un clúster de contenedores de Kubernetes con solo unos clics, sin necesidad de configurar entornos Docker o Kubernetes. La implementación automática y O&M de aplicaciones en contenedores se pueden realizar en un solo lugar durante todo el ciclo de vida de la aplicación.
  • Múltiples tipos de clústeres: CCE trabaja estrechamente con servicios de infraestructura heterogénea, incluidos Elastic Cloud Server (ECS), Bare Metal Server (BMS), y GPU-Acceleration Cloud Server (GACS). Puede elegir el tipo de clúster que mejor se adapte a sus necesidades y crear clústeres rápidamente mientras CCE maneja toda la complejidad de la gestión de clústeres.
Tabla 1 Funciones de gestión de clústeres

Función

Descripción

Clúster de Turbo de CCE

El clúster de Turbo de CCE admite la implementación híbrida de máquinas virtuales y bare metal servers (BMS) para ofrecer un alto rendimiento basado en servicios de infraestructura.

Clúster de CCE

El clúster de CCE admite la implementación híbrida de máquinas virtuales y bare-metal servers (BMS), y nodos heterogéneos como los nodos de GPU y NPU. Puede ejecutar sus contenedores en un entorno de tiempo de ejecución de contenedores seguro y estable basado en un modelo de red de alto rendimiento.

Clúster de Kunpeng

El clúster de Kunpeng (con conjuntos de instrucciones basados en Arm) permite que los contenedores se ejecuten en servidores en la nube que utilizan la arquitectura Arm y los procesadores Kunpeng. Los servidores en la nube acelerados de Kunpeng son fáciles de implementar y proporcionan un rendimiento de ajuste y programación comparable al de los servidores en la nube basados en x86 a solo una fracción de lo que costaría los servidores en la nube basados en x86.

Ajuste automático de clústeres

CCE escala automáticamente un clúster agregando o liberando nodos de trabajo. Por ejemplo, cuando las cargas de trabajo no se pueden programar en el clúster debido a que los recursos del clúster son insuficientes, el escalamiento horizontal se activará automáticamente.

Actualización de clúster

Puede actualizar su clúster a la última versión de Kubernetes o a una versión corregida de errores en la consola de CCE.

Monitoreo de clústeres

Puede ver las métricas de supervisión para conocer el uso de recursos de cada nodo principal de clúster en tiempo real, y recibir y responder a las alarmas de manera oportuna.

Nodo

Un clúster de contenedores consta de un conjunto de máquinas de trabajo, denominadas nodos, que ejecutan aplicaciones en contenedores. Un nodo puede ser una máquina virtual (VM) o una máquina física (PM), dependiendo de sus requisitos de servicio. Los componentes de un nodo incluyen kubelet, tiempo de ejecución del contenedor y kube-proxy. CCE utiliza Elastic Cloud Servers (ECS) de alto rendimiento o Bare Metal Servers (BMS) como nodos para crear clústeres de Kubernetes de alta disponibilidad.

Tabla 2 Funciones de gestión de nodos

Función

Descripción

Adición de un nodo

Puede agregar nodos a un clúster de CCE comprando o aceptando nodos. La aceptación de nodos consiste en agregar ECS comprados a un clúster de CCE.

Se pueden comprar y agregar nodos heterogéneos, como máquinas virtuales, bare metal servers, nodos habilitados para GPU y nodos habilitados para NPU.

Supervisión de un nodo

CCE utiliza el servicio Cloud Eye para monitorear nodos. Cada nodo corresponde a un ECS.

Restablecimiento de un nodo

Cuando se restablece un nodo de un clúster de CCE, también se eliminarán los servicios que se ejecuten en el nodo. Tenga cuidado cuando realice esta acción. Esta función es compatible con clústeres de v1.13 y posteriores.

Eliminación de un nodo

Cuando se elimina un nodo de un clúster CCE, también se eliminan los servicios que se ejecutan en el nodo. Tenga cuidado cuando realice esta acción.

Grupo de nodos

Puede crear un grupo de nodos para que un clúster de CCE cree, administre y destruya rápidamente nodos sin afectar a todo el clúster. Todos los nodos de un grupo de nodos personalizado tienen parámetros y tipo de nodo idénticos. No se puede configurar un solo nodo en un grupo de nodos; cualquier cambio de configuración afecta a todos los nodos del grupo de nodos.

Tabla 3 Funciones de gestión del grupo de nodos

Función

Descripción

Creación de un grupo de nodos

Puede crear y ver grupos de nodos.

Gestión de un grupo de nodos

Puede modificar los parámetros de un grupo de nodos, eliminar o clonar un grupo de nodos y migrar nodos.

Carga de trabajo

Una carga de trabajo es una aplicación que se ejecuta en Kubernetes. No importa cuántos componentes haya en su carga de trabajo, puede ejecutarlo en un grupo de pods de Kubernetes. Una carga de trabajo es un modelo abstracto de un grupo de pods en Kubernetes. Las cargas de trabajo clasificadas en Kubernetes incluyen Deployments, StatefulSets, DaemonSets, trabajos y trabajos cron.

CCE proporciona implementación y gestión de contenedores nativos de Kubernetes y admite la gestión del ciclo de vida de las cargas de trabajo de contenedores, incluidas la creación, configuración, supervisión, ajuste automático, actualización, desinstalación, descubrimiento de servicios y equilibrio de carga.

Tabla 4 Funciones de gestión de cargas de trabajo

Función

Descripción

Establecimiento de las especificaciones del contenedor

CCE le permite establecer límites de recursos para contenedores agregados durante la creación de cargas de trabajo. Puede solicitar y limitar las cuotas de CPU y memoria utilizadas por cada pod en la carga de trabajo, y establecer si usar GPU y Ascend 310 para cada pod.

Configuración de los ganchos del ciclo de vida del contenedor

CCE proporciona funciones de devolución de llamada (ganchos) para la gestión del ciclo de vida de las aplicaciones en contenedores. Por ejemplo, si desea que un contenedor realice una determinada operación antes de detenerse, puede registrar un gancho.

Configuración del comando de inicio del contenedor

Al crear una carga de trabajo o un trabajo, puede utilizar una imagen para especificar los procesos que se ejecutan en el contenedor. Se ejecuta el comando predeterminado de la imagen. Para ejecutar un comando específico o utilizar nuevos valores, configure los siguientes valores:

  • Directorio de trabajo: directorio de trabajo del comando. Si el directorio de trabajo no se especifica en la imagen o en la consola, el valor predeterminado es /.
  • Comando: comando que controla la ejecución de una imagen.
  • Args: parámetros pasados al comando en ejecución.

Configuración de la comprobación de estado del contenedor

CCE puede comprobar regularmente el estado de salud de los contenedores durante el funcionamiento del contenedor. Si la función de comprobación de estado no está configurada, un pod no puede detectar excepciones de servicio ni reiniciar automáticamente el servicio para restaurarlo. Esto dará como resultado una situación en la que el estado del pod es normal pero el servicio en el pod es anormal.

CCE proporciona las siguientes sondas de comprobación de estado:

  1. Liveness probe comprueba si un contenedor todavía está vivo. Es similar al comando ps que comprueba si existe un proceso. Si el sondeo de vida útil de un contenedor falla, el clúster reinicia el contenedor. Si la sonda de vida se realiza con éxito, no se ejecuta ninguna operación.
  2. Readiness probe comprueba si un contenedor está listo para procesar solicitudes de usuario. Al detectarse que el contenedor no está listo, el tráfico de servicio no se dirigirá al contenedor. Algunas aplicaciones pueden tardar mucho tiempo en iniciarse antes de que puedan proporcionar servicios. Esto se debe a que necesitan cargar datos de disco o confiar en el inicio de un módulo externo. En este caso, los procesos de aplicación se están ejecutando, pero las aplicaciones no están listas para proporcionar los servicios. Aquí es donde entra la sonda de preparación. Si la sonda de preparación del contenedor falla, el clúster enmascara todas las solicitudes enviadas al contenedor. Si la sonda de preparación del recipiente se realiza con éxito, se puede acceder al recipiente.

Definición de variables de entorno

Una variable de entorno es una variable cuyo valor puede afectar a la forma en que se comportará un contenedor en ejecución. Puede modificar las variables de entorno incluso después de implementar las cargas de trabajo, lo que aumenta la flexibilidad en la configuración de la carga de trabajo.

Recopilando registros

CCE le permite configurar las políticas para recopilar, gestionar y analizar registros de carga de trabajo periódicamente. Estas políticas pueden evitar que los registros se sobredimensionen.

Programación de afinidad y antiafinidad

Puede restringir en qué AZ y nodos sus cargas de trabajo son elegibles o están prohibidos para ser programados. También puede definir reglas para describir qué cargas de trabajo se ubicarán o no con sus cargas de trabajo. La programación de afinidad permite que las cargas de trabajo estén físicamente más cerca de la ubicación del usuario y hace que las rutas de enrutamiento entre contenedores sean lo más cortas posible, lo que a su vez reduce la sobrecarga de red. La programación antiafinidad evita un único punto de fallo al prohibir la ubicación conjunta de instancias que pertenezcan a la misma carga de trabajo. También evita que las cargas de trabajo de interferencia se afecten entre sí al no permitir que se ejecuten en el mismo nodo o AZ.

Tabla 5 Políticas de planificación

Función

Descripción

Política de planificación personalizada

Una política de programación personalizada le permite personalizar la afinidad de nodos, la afinidad de la carga de trabajo o la antiafinidad de la carga de trabajo. Una combinación de políticas de programación personalizadas puede satisfacer mejor sus requisitos de servicio.

Política de programación sencilla

Una política de programación simple proporciona las funciones básicas de programación únicas. Le permite configurar la afinidad entre cargas de trabajo y AZ, entre cargas de trabajo y nodos, o entre cargas de trabajo.

Redes

Al integrar profundamente las capacidades de red de Kubernetes con VPC, CCE proporciona redes estables y de alto rendimiento para el acceso mutuo de cargas de trabajo en escenarios complejos.

Tabla 6 Funciones relacionadas con la conexión en red

Función

Descripción

Servicio

Los servicios le permiten acceder a una o varias aplicaciones en contenedores. Cada servicio tiene una dirección IP y un puerto fijos durante su ciclo de vida y se dirige a uno o más pods backend. De esta manera, los clientes frontend no necesitan realizar un seguimiento de estos pods, lo que permite agregar o reducir los pods sin preocuparse de los cambios de dirección IP.

CCE admite los siguientes tipos de Servicios:

  • ClusterIP: El servicio solo es accesible desde dentro del clúster.
  • NodePort: Se accede al Servicio utilizando la dirección IP privada o EIP del nodo.
  • LoadBalancer: Se accede al Servicio mediante un balanceador de carga.
  • DNAT: Se accede al Servicio mediante un gateway de DNAT.

Equilibrio de carga de capa 7 (entrada)

Los ingresos utilizan balanceadores de carga compartidos y dedicados. En comparación con el balanceo de carga de capa 4, el balanceo de carga de capa 7 también admite configuraciones de Localizador uniforme de recursos (URL) y enruta el tráfico de acceso a los servicios en función de las URL. Los servicios también actuarán de acuerdo con los URL.

Política de red

CCE ha mejorado la función de política de red basada en Kubernetes, permitiendo el aislamiento de red en un clúster mediante la configuración de políticas de red. Esto significa que se puede establecer un firewall entre pods. Por ejemplo, para hacer que un sistema de pago solo sea accesible a los componentes especificados por motivos de seguridad, puede configurar políticas de red.

Definición de datos adjuntos de red

Una definición de adjunto de red es un tipo de definiciones de Custom Resource Definitions (CRD) en un clúster. Proporciona elementos de configuración, como VPC y subred, para que los contenedores se conecten a la interfaz de red elástica (ENI). Las cargas de trabajo asociadas con las definiciones de datos adjuntos de red pueden conectarse al ENI, de modo que los contenedores pueden enlazarse directamente con los ENI para exponer los servicios de forma externa.

Volumen persistente (PV)

Además de utilizar discos locales para el almacenamiento, CCE puede almacenar datos de carga de trabajo mediante servicios de almacenamiento en la nube. Actualmente, se admiten los siguientes tipos de almacenamiento en la nube: Elastic Volume Service (EVS), Object Storage Service (OBS), Scalable File Service (SFS) y SFS Turbo.

Tabla 7 Funciones relacionadas con el almacenamiento de información

Función

Descripción

Uso de discos locales como volúmenes de almacenamiento

Puede montar el directorio de archivos del host donde se encuentra un contenedor en una ruta de contenedor especificada (correspondiente a hostPath en Kubernetes). Alternativamente, puede dejar la ruta de origen vacía (correspondiente a emptyDir en Kubernetes). Si la ruta de origen se deja vacía, se montará un directorio temporal del host en el punto de montaje del contenedor. Se utiliza una ruta de origen especificada cuando los datos deben almacenarse de forma persistente en el host, mientras que se utiliza emptyDir cuando se necesita almacenamiento temporal.

Uso de discos de EVS como volúmenes de almacenamiento

Los discos de EVS se pueden unir a los contenedores. Mediante el uso de volúmenes de EVS, puede adjuntar el directorio de archivos remoto de un sistema de almacenamiento en un contenedor para que los datos del volumen de datos se conserven permanentemente. Incluso si se elimina el contenedor, los datos en el volumen de datos todavía se almacenan en el sistema de almacenamiento.

Uso de sistemas de archivos de SFS como los volúmenes de almacenamiento

Puede crear los volúmenes de SFS y montarlos en las rutas de contenedores específicas. También se pueden utilizar los volúmenes creados por el servicio SFS subyacente. Los volúmenes de SFS son adecuados para escenarios en los que los datos deben persistir y leerse y escribirse en múltiples nodos. Tales escenarios incluyen el procesamiento de medios, gestión de contenido, análisis de big data y análisis de carga de trabajo.

Uso de bucket de OBS como los volúmenes de almacenamiento

Puede crear volúmenes OBS y montarlos en una ruta de contenedor. OBS se aplica a escenarios como cargas de trabajo en la nube, análisis de datos, análisis de contenido y objetos de punto de acceso.

Uso de sistemas de archivos de Turbo de SFS como volúmenes de almacenamiento

Puede crear los volúmenes de Turbo de SFS y montarlos en una ruta de contenedor. Los sistemas de archivos de Turbo de SFS son rápidos, bajo demanda y escalables, que son adecuados para DevOps y aplicaciones de oficina empresarial.

Creación de instantáneas y copias de seguridad

CCE trabaja con EVS para proporcionar la función de instantánea. Una instantánea es una copia o imagen completa de los datos del disco de EVS en un determinado momento, lo que es de gran ayuda para la recuperación ante desastres de datos.

Complementos

CCE proporciona múltiples tipos de complementos para ampliar las funciones de clúster y satisfacer diversos requisitos.

  • CCE admite las API abiertas y las API nativas de la comunidad.
  • CCE proporciona un complemento relacionado con kubectl y un kubectl nativo de la comunidad.

Herramientas de ecosistema

CCE funciona sin problemas con Application Service Mesh (ASM) y Helm.

Tabla 8 Ecosistema de Kubernetes

Función

Descripción

Application Service Mesh (ASM)

ASM proporciona un enfoque no intrusivo para la gobernanza de los microservicios. Es compatible con la gestión completa del ciclo de vida y del tráfico y es compatible con los ecosistemas de Kubernetes e Istio. La facilidad de uso lista para usar le permite usar mallas de servicio sin necesidad de reescritura de código o instalación manual de proxy.

Gestión de gráficos

Helm es un gestor de paquetes de Kubernetes que facilita la implementación y gestión de paquetes (también llamados gráficos). Un gráfico es una colección de archivos que describen un conjunto relacionado de recursos de Kubernetes. El uso de gráficos controla toda la complejidad en la instalación y gestión de recursos de Kubernetes. En CCE, puede cargar los gráficos para implementar aplicaciones.

  • Los gráficos cargados están definidos por el usuario, lo que simplifica la implementación de la carga de trabajo.

Ajuste automático

CCE le permite escalar sus clústeres y cargas de trabajo de forma manual y automática. Cualquier política de ajuste automático se puede combinar de manera flexible para hacer frente a picos de carga en el momento.

Tabla 9 Funciones de ajuste automático

Función

Descripción

Ajuste de la carga de trabajo

CCE es compatible con las políticas de HPA y de CustomedHPA.

  • HPA: una política que implementa el ajuste horizontal de pods en Kubernetes. En una política de HPA de CCE, puede configurar la ventana de tiempo de enfriamiento y los umbrales de ajuste basados en el HPA de Kubernetes.
  • CustomedHPA: una política que escala las implementaciones en función de métricas (como el uso de la CPU y el uso de la memoria) o en un intervalo periódico (cada día/semana/mes o en un punto de tiempo específico). Este tipo de política es una capacidad de ajuste automático mejorada desarrollada por Huawei Cloud.

Ajuste de nodos

CCE proporciona ajuste de nodos a través del complemento del ajuster automático. Los nodos con diferentes especificaciones se pueden agregar automáticamente a través de AZ bajo demanda.

Permisos

La gestión de permisos de CCE le permite asignar permisos a los usuarios y grupos de usuarios de IAM en sus cuentas de tenant. CCE combina las ventajas de Identity and Access Management (IAM) y Kubernetes Role-based Access Control (RBAC) para proporcionar una variedad de métodos de autorización, incluida la autorización de grano fino de IAM, la autorización de token de IAM, autorización en el ámbito del clúster y autorización en todo el espacio de nombres.

Tabla 10 Funciones relacionadas con permisos

Función

Descripción

Permisos a nivel de clúster

Los permisos a nivel de clúster de CCE se asignan según las IAM system policies y custom policies. Puede utilizar grupos de usuarios para asignar permisos a los usuarios de IAM.

Permisos a nivel del espacio de nombre

Puede regular el acceso de los usuarios o los grupos de usuarios a los recursos de Kubernetes en un único espacio de nombres basado en sus roles de Kubernetes RBAC. El CCE también se ha mejorado sobre la base de las capacidades de código abierto. Admite la autorización de RBAC basada en el usuario o grupo de usuarios de IAM, y la autenticación de RBAC en el acceso a las API mediante tokens de IAM.