Conceptos y arquitectura de Kubernetes

Para comprender los requisitos del sistema ArcGIS Enterprise en Kubernetes y los requisitos previos, debe familiarizarse con los conceptos y la arquitectura de Kubernetes. Los términos comunes se describen a continuación y se utilizan en toda la documentación.

Clúster

Un clúster es un conjunto de nodos trabajadores que trabajan juntos para ejecutar aplicaciones con contenedores. Un clúster de Kubernetes es un requisito previo para implementar ArcGIS Enterprise en Kubernetes.

Nodo

Un nodo es un equipo virtual o físico que se especificó con un conjunto mínimo de requisitos de hardware. La cantidad de nodos requeridos para la implementación varía según el perfil de arquitectura seleccionado durante la implementación. Revise los requisitos del sistema para determinar los requisitos mínimos de nodo para la implementación.

Espacio de nombres

Un espacio de nombres se utiliza para organizar objetos en el clúster de Kubernetes. Un clúster puede contener uno o varios espacios de nombres, cada uno especificado con un nombre único. Al eliminar un espacio de nombres se eliminan todos sus objetos. Un espacio de nombres es un requisito previo para implementar ArcGIS Enterprise en Kubernetes.

Control de acceso basado en roles (RBAC)

El control de acceso basado en roles se utiliza para administrar los permisos para los recursos dentro del clúster.

Cuotas de recursos

Las cuotas de recursos se utilizan para controlar los límites de recursos tales como CPU y memoria dentro de un espacio de nombres designado.

Secretos

Un secreto se utiliza para almacenar y administrar contraseñas, tokens, claves u otra información altamente sensible en el espacio de nombres.

Pod

Un pod es la unidad más pequeña de un clúster de Kubernetes. Los pods son una abstracción sobre un contenedor o, en algunos casos, un conjunto de contenedores. A cada pod de un clúster se le asigna una dirección IP única y disponible internamente.

Implementación

Una implementación es una agrupación de un conjunto designado de pods, ReplicaSets y servicios que funcionan conjuntamente para ejecutar aplicaciones con contenedores. Una implementación administra las actualizaciones de un conjunto de pods en las que se puede escalar y actualizar con límites de recursos optimizados. En ArcGIS Enterprise en Kubernetes, las implementaciones se administran desde ArcGIS Enterprise Manager o API de administrador de ArcGIS Enterprise. En ArcGIS Enterprise en Kubernetes, los administradores administran los servicios y aplicaciones SIG como implementaciones.

ReplicaSet

Una implementación aprovecha un ReplicaSet para garantizar que se está ejecutando un conjunto designado de réplicas para un pod determinado. Un ReplicaSet crea o elimina pods según sea necesario para realizar el conjunto deseado de réplicas especificado mediante una implementación. Los ReplicaSets no tienen estados.

StatefulSets

Los StatefulSets se utilizan para administrar pods que se han creado con el mismo conjunto de especificaciones. Mantienen un Id. único para cada pod dentro de su implementación correspondiente para garantizar que los pods sean únicos y se asignen adecuadamente a volúmenes de almacenamiento persistentes. Los StatefulSets tienen estados.

Servicio

Un servicio se utiliza para agrupar un conjunto de pods y proporcionar acceso a ellos según sea necesario. Un servicio utiliza un único nombre de sistema de nombres de dominio (DNS) para el grupo de pods y dirige el tráfico de red interno a una serie de pods para administrar la carga de trabajo y proporcionar comunicación entre los pods. Un servicio se define mediante una dirección IP estática que puede adjuntarse y reconocerse mediante los pods participantes.

Los ciclos de vida de un servicio y pod son independientes, lo que significa que un pod puede cerrarse y sustituirse por un nuevo pod. Cuando esto ocurre, el servicio reconoce la nueva dirección IP como consecuencia.

Un servicio garantiza que el tráfico de red se pueda dirigir a un conjunto actual de pods designado para la carga de trabajo.

Entrada

Entrada se utiliza para enrutar el tráfico externo al clúster. Es posible que también se utilice para ofrecer un equilibrio de carga adicional a los servicios del clúster.

Volumen persistente

Los volúmenes persistentes son recursos que están disponibles para el clúster con el propósito de almacenamiento de recursos de sistema y datos. Los contenedores y pods del clúster acceden a los volúmenes persistentes utilizando una reclamación de volumen persistente. La siguiente información corresponde a los volúmenes persistentes:

  • Un administrador puede realizar conexiones desde el clúster de Kubernetes al almacenamiento físico, por ejemplo, el almacenamiento en la nube, un sistema de archivos de red (NFS), etc.
  • No dependen del ciclo de vida de un pod.
  • No están vinculados a ningún nodo específico; se asocian a todo el clúster.
  • Los volúmenes persistentes residen fuera del espacio de nombres para proporcionar almacenamiento a todo el clúster.

Los volúmenes persistentes los define un administrador como una serie de propiedades. Las especificaciones requeridas en el archivo varían y se basan en el tipo de almacenamiento físico. Los volúmenes persistentes se pueden suministrar de forma estática antes de la implementación. También se pueden suministrar dinámicamente durante la implementación cuando se utiliza una clase de almacenamiento.

Para obtener más detalles sobre los volúmenes persistentes, consulte los requisitos del sistema.

Clase de almacenamiento

Una clase de almacenamiento describe atributos para un tipo de almacenamiento disponible. Se utiliza una clase de almacenamiento cuando los volúmenes persistentes se suministran de forma dinámica. Una clase de almacenamiento se especifica como un conjunto de propiedades y se especifica a través del atributo aprovisionador. Cada proveedor de almacenamiento físico incluye un aprovisionador.

Reclamación de volumen persistente

Una reclamación de volumen persistente solicita o reclama volúmenes persistentes para proporcionar recursos a un pod. Una pod reclama almacenamiento a través de la reclamación de volumen persistente, que a su vez solicita almacenamiento a través de una clase de almacenamiento. Las reclamaciones de volumen persistente residen dentro del espacio de nombres. El almacenamiento persistente se utiliza para administrar datos guardados, que van desde registros y archivos de configuración al contenido de los miembros.

Comunicación de pod a pod

Los pods se comunican entre sí a través de un servicio en una red virtual. Se asigna una dirección IP a los pods individuales, que el servicio reconoce a lo largo del ciclo de vida del pod. Cuando un pod se detiene, posiblemente porque una aplicación en su contenedor ha fallado, se crean un pod de sustitución y una dirección IP asociada en su lugar.