A continuación, se describen el hardware y la infraestructura mínimos necesarios para ejecutar ArcGIS Enterprise on Kubernetes en la versión 11.1. Estos requisitos también se aplican cuando se implementa en un entorno desconectado.
Entornos compatibles
Los requisitos y las especificaciones del sistema se aplican en todos los entornos compatibles, mientras no se indique lo contrario. Para esta versión, se admiten los siguientes entornos:
- Centro de datos local
- Red Hat OpenShift Container Platform
- Servicios de Kubernetes administrados en la nube
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Microsoft Azure Kubernetes Service (AKS)
Se recomienda encarecidamente que deshabilite la actualización automática en su clúster Kubernetes. Cuando su clúster esté habilitado con la actualización automática, los nodos se actualizarán automáticamente con la última versión de Kubernetes y es posible que estas versiones futuras aún no sean compatibles con ArcGIS Enterprise.
Precaución:
Cuando actualice su entorno, debe actualizar ArcGIS Enterprise on Kubernetes a una versión compatible antes que Kubernetes.Las siguientes versiones han sido probadas y son compatibles para cada entorno:
Entorno compatible | Versión de Kubernetes compatible |
---|---|
Servicios Kubernetes administrados en la nube (AKS, EKS, GKE) | 1.23 - 1.25 |
Red Hat OpenShift Container Platform | 4.10 - 4.12 |
Nota:
ArcGIS Enterprise on Kubernetes solo se puede utilizar en las CPU que se ajusten a la arquitectura x86_64 (64 bits). Los nodos de trabajo deben estar basados en Linux.
Registro de contenedor
Las imágenes de contenedor de ArcGIS Enterprise on Kubernetes son accesibles desde una organización de Docker Hub privado. Esri proporcionará acceso a los repositorios de esta organización a aquellos que implementan ArcGIS Enterprise on Kubernetes. Cuando implemente en un entorno desconectado, necesitará insertar imágenes desde la organización de Hub privado Docker al registro de contenedores de su organización que está accesible desde su clúster.
Obtener una licencia de Esri
Para autorizar su organización de ArcGIS Enterprise durante la implementación, necesita un archivo de licencia de ArcGIS Enterprise on Kubernetes en formato JSON (archivo .json). Para obtener este archivo de licencia, visite My Esri con privilegios para realizar una acción de licenciamiento.
CPU y memoria
ArcGIS Enterprise on Kubernetes se implementa con uno de los tres perfiles de arquitectura. Las recomendaciones para las solicitudes de recursos (CPU y memoria) y los límites y los requisitos de cálculo generales varían según el perfil seleccionado. A continuación, se proporcionan las recomendaciones para cada perfil.
A continuación, se indican los requisitos mínimos de nodo para cada perfil de arquitectura. Se recomienda que cada nodo de trabajador/agente tenga como mínimo 8 CPU y 32 GiB de memoria.
Perfil de arquitectura | Número mínimo de nodos trabajador/agente | CPU mínimas totales | GiB mínimos totales |
---|---|---|---|
Disponibilidad mejorada | 5 | 40 | 160 |
Disponibilidad estándar | 4 | 32 | 128 |
Desarrollo | 3 | 24 | 96 |
Los pods de la implementación de ArcGIS Enterprise on Kubernetes se distribuyen entre los nodos de trabajador del clúster. Al escalar la implementación o agregar otra implementación de ArcGIS Enterprise al clúster, debe provisionar hardware en consecuencia. Puede requerir un aumento en la cantidad máxima predeterminada de pods por nodo. El número de pods que se crean inicialmente varía según el perfil de arquitectura. A medida que escala horizontalmente o agrega nueva funcionalidad, el número de pods aumenta.
Seguridad
A continuación, se describen los requisitos de seguridad para ArcGIS Enterprise on Kubernetes.
Control de acceso basado en roles
El control de acceso basado en roles (RBAC) debe estar habilitado en el clúster de Kubernetes. Para implementar ArcGIS Enterprise on Kubernetes, no necesita privilegios de administrador de clúster. Si no tiene privilegios de administrador de clúster, el usuario debe tener los privilegios administrativos de espacio de nombres mínimos. Puede asignar un ClusterRole predeterminado al usuario creando un RoleBinding en el espacio de nombres.
Registrar una carpeta de datos
Para publicar elementos utilizando datos basados en archivos, como los elementos publicados desde una geodatabase de archivos, deberá colocar los datos en una ubicación compartida de NFS. Este recurso compartido de NFS debe registrarse con la organización de ArcGIS Enterprise para evitar copiar los datos en el servidor durante la publicación. Para registrar la carpeta compartida con éxito, deberá otorgar permisos de lectura de nivel de archivo a otros. Puede proteger el recurso compartido de NFS a nivel de red o infraestructura permitiendo el acceso de red al rango de IP del pod.
Red
Entre los requisitos de red se incluyen un FQDN y un equilibrador de carga. A continuación se indican los detalles de cada uno de ellos.
Nombre de dominio totalmente calificado
ArcGIS Enterprise on Kubernetes requiere un FQDN (por ejemplo, map.company.com). Puede utilizar un sistema de nombres de dominio (DNS) existente para crear uno o utilizar un servicio DNS en la nube como Amazon Route 53. Puede crear el registro de DNS después de la implementación; no obstante, debe indicar su valor durante la implementación. En esta versión, el FQDN no se puede modificar después de la implementación.
Equilibrador de carga
Se requiere un equilibrador de carga para dirigir el tráfico a través de cada nodo trabajador. Puede proporcionar los siguientes equilibradores de carga desde el script de implementación sin necesidad de configuración manual:
- Azure Load Balancer (público o interno): se pueden especificar en el script de implementación una dirección IP pública estática y una etiqueta DNS proporcionadas previamente.
- AWS Network Load Balancer (con conexión a Internet o interno): se pueden utilizar otros servicios de equilibrio de carga, pero se deben configurar manualmente con cada nodo del clúster.
Nota:
Se requiere el complemento AWS Load Balancer Controller para crear equilibradores de carga de red en una subred pública o privada.
- Google Cloud Platform TCP Load Balancer (a través de Internet o interno): se pueden especificar en el script de implementación una dirección IP pública estática proporcionada previamente.
En una OpenShift Container Platform, se pueden configurar rutas cuando se apunte al servicio del controlador de entrada.
Puede utilizar un equilibrador de carga administrado automáticamente que apunte a los nodos trabajadores en el NodePort del servicio del controlador de entrada. Para obtener más información, consulte la descripción del parámetro de la guía de implementación del equilibrador de carga.
Cuando utilice un balanceador de carga autogestionado o un proxy inverso como NGINX, especifique la siguiente conexión: proxy_set_header X-Forwarded-Host $host;. Este encabezado es necesario para garantizar que el tráfico se enrute correctamente a la URL de su organización ArcGIS Enterprise.
Nota:
ArcGIS Enterprise no admite la descarga de SSL por medio de un equilibrador de carga/proxy inverso. Si su configuración usa un proxy inverso, debe redirigir a ArcGIS Web Adaptor o directamente a la organización a través de HTTPS.
Requisitos de IP
Planificar su red de clústeres por adelantado es esencial para garantizar una implementación exitosa, los requisitos de escala adecuados y la capacidad de actualización. Inicialmente, ArcGIS Enterprise on Kubernetes implementa de 47 a 66 pods, según el perfil de la arquitectura. La cantidad de pods aumentará a medida que se agreguen capacidades adicionales, se amplíe la implementación y durante el proceso de actualización.
A cada pod se le asigna una dirección IP única y, según la configuración de la red del clúster, los pods pueden obtener sus direcciones IP tanto de un espacio de direcciones lógicamente diferente al de la red del host (una red de superposición) como de la subred del host. Por ejemplo, si configura su clúster para usar Kubenet en Azure (por defecto), los pods recibirán una dirección IP de un espacio de direcciones lógicamente diferente y podrán acceder a los recursos de Azure mediante NAT.
Kubernetes es compatible con Container Network Interface (CNI) y plataformas como AKS y EKS, que usan complementos de CNI específicos de plataforma para las redes de clúster. Por ejemplo, los clústeres de EKS usan una CNI de nube privada virtual (VPC) de forma predeterminada. Si el clúster está configurado con un complemento de CNI, los pods recibirán direcciones IP de la subred del host y un grupo correspondiente de IP disponibles en la VPC/VNet.
Si no tiene una cantidad suficiente de direcciones IP disponibles en las subredes del host, la implementación fallará o no podrá escalar la implementación. Por ejemplo, si un clúster de EKS está configurado con 2 subredes cada una y un prefijo de dirección IPv4 /26 (64 direcciones IPv4 disponibles cada una), no puede haber más de 126 direcciones IP disponibles para los pods. Si bien es posible que pueda implementar ArcGIS Enterprise on Kubernetes en este clúster, no podrá escalar la implementación para tener 80 pods de servicios de entidades, ya que este requisito de escala excederá la cantidad de direcciones IP disponibles.
Almacenamiento del sistema
ArcGIS Enterprise on Kubernetes requiere volúmenes persistentes (PV) para el almacenamiento del sistema, que se pueden proporcionar de forma dinámica a través de una clase de almacenamiento o de forma estática a través de un administrador antes de crear la organización. Las cargas de trabajo con estado de ArcGIS Enterprise incluyen sistemas de administración de bases de datos relacionales y bases de datos NoSQL. Se recomienda aprovisionar los volúmenes persistentes en dispositivos de almacenamiento en bloque que proporcionen baja latencia, como volúmenes EBS cuando se utilice EKS, Azure Disks cuando se utilice AKS, Persistent Disks cuando se utilice GKE y volúmenes vSphereVolume o Longhorn cuando se realice la implementación localmente.
Puesto que estos volúmenes persistentes almacenan los datos y la configuración de su organización, debe protegerlos mediante políticas de seguridad restrictivas. Para los volúmenes persistentes basados en almacenamiento de archivos de red, como NFS, Azure Files y GlusterFS, asegúrese de que los permisos están configurados para evitar accesos no autorizados. Para el almacenamiento en bloques, como EBS, Azure Disk, vSphereVolume y volúmenes Longhorn, asegúrese de que el acceso a los volúmenes de almacenamiento esté restringido únicamente a los usuarios que lo necesiten.
A continuación, se describen los volúmenes de almacenamiento y sus fines previstos:
Nota:
Se establecen los requisitos de volumen persistente para 11.1 y pueden diferir de las versiones anteriores.
- En memoria: almacena recursos temporales del sistema.
- Paquetes de elementos: almacena grandes cargas y paquetes para admitir flujos de trabajo de publicación.
- Objeto: almacena contenido cargado y guardado, cachés de capas de imágenes y teselas alojadas y salida de geoprocesamiento.
- En cola: almacena trabajos de geoprocesamiento asíncronos.
- Relacional: almacena datos de entidades alojados y aspectos administrativos tales como los ajustes de configuración y personalización. Se requieren dos para la implementación.
- Espaciotemporal e índice: almacena registros e índices, así como datos de entidades alojados.
- Datos métricos de uso: almacena los datos de uso del servicio SIG.
Tenga en cuenta los requisitos de almacenamiento de su organización y defina el tamaño de cada PV en consecuencia.
PV estáticos
Si está proporcionando PV estáticos antes de la implementación, se recomiendan las especificaciones y etiquetas descritas a continuación.
Se proporciona el número de PV requerido para cada perfil de arquitectura.
Volumen | Perfil de disponibilidad mejorada | Perfil de disponibilidad estándar | Perfil de desarrollo |
---|---|---|---|
in-memory-volume | 1 | 1 | 1 |
item-packages-volume | 2 | 2 | 1 |
object-volume | 8 | 3 | 1 |
queue-volume | 2 | 2 | 1 |
relational-volume | 2 | 2 | 2 |
spatiotemporal-and-index-volume | 5 | 3 | 1 |
usage-metric-volume | 1 | 1 | 1 |
Si está configurando su organización para utilizar volúmenes persistentes estáticos existentes, los siguientes valores de cada reclamación de volumen persistente (PVC) se utilizan para vincularlo a los volúmenes persistentes mediante la selección de etiquetas: tamaño, modo de acceso y etiquetas. Estos valores pueden personalizarse en el asistente de configuración o en el archivo de propiedades de configuración para hacer coincidir los volúmenes persistentes proporcionados previamente con cada especificación de conjunto con estado.
Volumen | Tamaño en GiB (mínimo) | Modo de acceso | Etiqueta |
---|---|---|---|
in-memory-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=ignite |
item-packages-volume | 16 | ReadWriteOnce | arcgis/tier=api, arcgis/app=sharing |
object-volume | 32 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=ozone |
queue-volume | 16 | ReadWriteOnce | arcgis/tier=queue, arcgis/app=rabbitmq |
relational-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=postgres |
spatiotemporal-and-index-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=elasticsearch |
usage-metric-volume | 30 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=prometheus |
Consideraciones adicionales para PV estáticos
El tipo de almacenamiento suministrado que configure durante la implementación determinará los requisitos para las actualizaciones y el escalado:
- PV dinámicos: el software escala y ajusta el almacenamiento siempre que haya suficiente almacenamiento disponible y se cumplan las especificaciones de la clase de almacenamiento.
- PV estáticos: si está aprovisionando para su implementación, deberá proporcionar PV de paquetes de elementos adicionales con las mismas especificaciones (etiquetas, tamaño y modo de acceso) que las especificadas durante la implementación para admitir el escalado y la actualización de los flujos de trabajo.
Cree PV adicionales para escalar la implementación de la API del portal
Para escalar la implementación de la API del portal se necesita un PV de paquetes de elementos adicionales para cada pod adicional que se agrega a la implementación. Por ejemplo, si la organización necesita tres pods adicionales para la implementación de la API del portal, se deben suministrar y configurar un mínimo de tres PV de paquetes de elementos adicionales con especificaciones equivalentes a las especificadas durante la implementación.
PV dinámicos
Para el aprovisionamiento dinámico, se requiere una StorageClass.
El parámetro reclaimPolicy en la StorageClass puede establecerse en Delete para simplificar la administración. Esto limpiará el PV asociado cuando se elimine una PVC (por ejemplo, al desinstalar el software).
Se debe utilizar una StorageClass independiente para la configuración del almacén de copia de seguridad alojada con su parámetro reclaimPolicy establecido en Retain para que el PV persista cuando se desinstale y se vuelva a instalar.
El parámetro allowVolumeExpansion en la StorageClass puede establecerse a true si su proveedor de almacenamiento admite la expansión de volúmenes persistentes.
Nota:
No todos los tipos de VM admiten discos premium en Azure. Utilice un disco premium cuando el tipo VM lo admita.- Para AKS, se muestra a continuación un ejemplo de una definición de StorageClass con Premium Azure Disk:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: arcgis-storage-default provisioner: disk.csi.azure.com parameters: kind: Managed storageaccounttype: Premium_LRS reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
- Para EKS, se muestra a continuación un ejemplo de una definición de StorageClass con volúmenes de EBS de tipo GP3:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: arcgis-storage-default provisioner: ebs.csi.aws.com parameters: fsType: ext4 type: gp3 reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
- Para GKE, se muestra a continuación un ejemplo de una definición de StorageClass con disco persistente SSD:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: arcgis-storage-default provisioner: pd.csi.storage.gke.io parameters: type: pd-ssd reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true
También puede utilizar las clases de almacenamiento predeterminadas proporcionadas con un clúster EKS (GP2), AKS (administrado o administrado-premium) o GKE (persistentdisk), pero es posible que deba instalar un controlador CSI para admitir el aprovisionamiento en Kubernetes versión 1.23 o versiones posteriores. Debe confirmar que las propiedades reclaimPolicy y allowVolumeExpansion satisfacen sus necesidades antes de crear la organización.
Estación de trabajo de cliente
Los scripts de implementación son scripts de Bash que se pueden ejecutar desde una estación de trabajo de cliente remota. El usuario que ejecuta los scripts debe tener acceso de lectura y escritura para que los scripts puedan escribir archivos de recursos temporales en subdirectorios.
Nota:
Debido a problemas de compatibilidad conocidos, los emuladores de Linux no son compatibles con la implementación de ArcGIS Enterprise on Kubernetes.
Necesitará lo siguiente al configurar su estación de trabajo de cliente (se proporcionan los vínculos de descarga):
- Kubectl
- Una interfaz de línea de comandos específica del entorno (CLI)
Kubectl es un requisito previo para ejecutar el script de implementación. Utilice la instalación y configuración de Kubectl para descargar la herramienta de línea de comandos de Kubernetes.
Nota:
La versión del cliente kubectl debe estar dentro de una versión menor de la versión del servidor Kubernetes. Por ejemplo, kubectl 1.24 es compatible con las versiones de clúster Kubernetes 1.23-1.25.
Al administrar su implementación, puede utilizar herramientas de línea de comandos específicas del entorno. Utilice los siguientes vínculos para descargar una CLI específica del entorno:
Certificado TLS
ArcGIS Enterprise on Kubernetes utiliza un controlador de entrada basado en NGINX. Este controlador de entrada tiene un ámbito de espacio de nombres y se implementa para escuchar únicamente el tráfico de entrada del espacio de nombres de ArcGIS Enterprise. Se requiere un certificado TLS con el FQDN en el nombre común del certificado y el nombre alternativo de sujeto. Se puede utilizar un certificado firmado por una autoridad certificadora o un certificado autofirmado; no obstante, por motivos de seguridad, se recomienda utilizar un certificado firmado por una autoridad certificadora. Este es el certificado TLS predeterminado para el controlador de entrada. Las siguientes opciones de certificado están disponibles en el script de implementación para aplicar un certificado TLS para el tráfico de entrada:
- Un secreto de TLS existente que contiene una clave privada y un certificado
- Un archivo .pfx que contiene una clave privada y un certificado
- Una clave privada y un certificado con formato PEM
- Un certificado autofirmado
ArcGIS Enterprise on Kubernetes admite el uso de un certificado TLS para el controlador de entrada emitido y administrado por el administrador de certificados de Kubernetes. Este certificado se debe almacenar en un secreto de TLS en el mismo espacio de nombres que ArcGIS Enterprise. A continuación, se puede hacer referencia al secreto de TLS durante la implementación o después de crear la organización de ArcGIS Enterprise.
ArcGIS Pro
- ArcGIS Pro 3.1 es la versión complementaria de ArcGIS Enterprise on Kubernetes 11.1. Para beneficiarse de las últimas funciones disponibles, utilice ArcGIS Pro 3.1.
- Para publicar servicios en ArcGIS Enterprise on Kubernetes, se requiere ArcGIS Pro 2.8 o versiones posteriores.
- Para consumir servicios desde ArcGIS Enterprise on Kubernetes, se requiere ArcGIS Pro 2.7 o versiones posteriores.
Al registrar un elemento del almacén de datos desde una geodatabase empresarial, la versión de la geodatabase debe ser 10.9.0.2.8 o posterior.
Nota:
Para beneficiarse de las últimas funciones disponibles, actualice la versión de su geodatabase a 11.1.0.3.1.El número de versión de la geodatabase es una combinación de los números de ArcGIS Enterprise y ArcGIS Pro. Para obtener más información, consulte Compatibilidad entre clientes y geodatabases.
Requisitos de actualización y mejora
Antes de llevar a cabo una actualización, debe cumplir con varios requisitos, como los siguientes:
- Cuando actualice su entorno, debe actualizar ArcGIS Enterprise on Kubernetes a una versión compatible antes que Kubernetes.
- Si hay una actualización requerida disponible, debe aplicarla antes de actualizar a esta versión. Consulte las notas de la versión para obtener detalles sobre la última actualización requerida.
- Debe tener una licencia unificada de ArcGIS Enterprise on Kubernetes para esta versión.
- Debe actualizar los valores de cuota de recursos en su espacio de nombres para cumplir con los requisitos actuales.
- Asegúrese de que su entorno cumple las normas de seguridad de pods, como las normas de admisión de seguridad de pods, antes de llevar a cabo la actualización.
- Si su entorno está en Red Hat OpenShift Container Platform, asegúrese de que cumple las restricciones del contexto de seguridad actuales.
- Si ha aprovisionado PV estáticos, debe aprovisionar almacenamiento adicional para adaptarse a los requisitos de actualización. Consulte la sección Ajustar PV estáticos para la actualización para obtener más detalles.
- Si su almacenamiento aprovisionado tiene PV dinámicos, debe asegurarse de que haya suficiente almacenamiento disponible para los paquetes de elementos adicionales, el volumen de objetos y el volumen de cola.
- Ejecute el script de actualización previa. Este script detectará y abordará cualquier requisito funcional para cumplir con la versión actual del software.
- Si configuró un Web Adaptor con su organización, revise los requisitos de instalación y actualización.
- Si su organización se encuentra en un entorno desconectado, siga los pasos para aplicar una mejora o actualización en entornos desconectados.
- Si utilizó el registro de contenedores de su organización al desplegar ArcGIS Enterprise on Kubernetes, debe copiar las imágenes de contenedor necesarias del repositorio Esri al registro de su organización antes de ejecutar la actualización o mejora.
Ajuste los PV estáticos para las actualizaciones
Antes de una actualización, cada pod en la implementación de la API del portal de la organización se ha configurado con un PV de volumen de paquetes de elementos. Para preparar una actualización, cada pod en la implementación de la API del portal debe configurarse con un PV adicional.
Por ejemplo, antes de una actualización, si la implementación de la API del portal se configura con tres pods en ejecución, se deben suministrar y configurar tres PV adicionales con especificaciones equivalentes a las especificadas durante la implementación.
Una vez completada la actualización, la implementación de la API del portal utilizará los volúmenes persistentes recién suministrados y la reclamación de volumen persistente, y el set original podrá eliminarse.