Elección de una instancia de Kubernetes en la opción Proceso de Edge
En este documento se tratan las ventajas y desventajas de las distintas opciones disponibles para extender el proceso en el perímetro. Se abordan las siguientes consideraciones para cada opción de Kubernetes:
Costo operativo. Las tareas esperadas necesarias para mantener y operar los clústeres de Kubernetes.
Facilidad de configuración. El nivel de dificultad para configurar e implementar un clúster de Kubernetes.
Flexibilidad. Una medida de la adaptabilidad de la opción de Kubernetes es integrar una configuración personalizada en la infraestructura existente en el perímetro.
Nodo mixto. Capacidad de ejecutar un clúster de Kubernetes con nodos tanto de Linux como de Windows.
Supuestos
Usted es un operador de clústeres que busca comprender las distintas opciones para ejecutar Kubernetes en el perímetro y administrar los clústeres en Azure.
Comprende correctamente la infraestructura existente y cualquier otro requisito de infraestructura, incluidos los requisitos de almacenamiento y red.
Después de leer este documento, estará mejor preparado para identificar la opción que mejor se adapte a su escenario y al entorno necesario.
Opciones de Kubernetes de un vistazo
Costo operativo | Facilidad de configuración | Flexibilidad | Nodo mixto | Resumen | |
---|---|---|---|---|---|
Kubernetes sin sistema operativo | Alto** | Difícil** | Alto** | Sí | Una configuración básica en cualquier infraestructura disponible en la ubicación con la opción de usar Azure Arc para más funcionalidades de Azure. |
K8s en Azure Stack Edge Pro | Bajo | Fácil | Bajo | solo Linux. | Kubernetes implementado en un dispositivo Azure Stack Edge implementado en la ubicación. |
AKS híbrido | Bajo | Fácil | Media | Sí | AKS implementado en Azure Stack HCI o Windows Server 2019. |
*Otras plataformas perimetrales administradas (OpenShift, Tanzu, entre otras) no están en el ámbito de este documento.
**Estos valores se basan en el uso de kubeadm por motivos de simplicidad. Las distintas opciones para ejecutar Kubernetes sin sistema operativo en el perímetro modificarían la clasificación en estas categorías.
Kubernetes sin sistema operativo
Configuración básica de Kubernetes mediante herramientas como kubeadm en cualquier infraestructura subyacente.
Las mayores restricciones para Kubernetes sin sistema operativo se encuentran en torno a las necesidades y requisitos específicos de la organización. La oportunidad de usar cualquier distribución, interfaz de red y complemento implica una mayor complejidad y costo operativo. Pero esto ofrece la opción más flexible para personalizar el clúster.
Escenario
A menudo, las ubicaciones perimetrales tienen requisitos específicos para ejecutar clústeres de Kubernetes, que no se cumplen con las otras soluciones de Azure descritas en este documento. Es decir, esta opción suele ser la mejor para aquellos que no pueden usar servicios administrados debido a una infraestructura existente no admitida, o para aquellos que buscan tener el máximo control de sus clústeres.
En particular, esta opción puede ser difícil para aquellos que no están familiarizados con Kubernetes. Esto no es raro para las organizaciones que buscan ejecutar clústeres perimetrales. Opciones como MicroK8s o k3s pretenden aplanar esta curva de aprendizaje.
Es importante comprender por adelantado toda infraestructura subyacente y toda integración que se espera se lleve a cabo. Esto le ayudará a reducir las opciones viables e identificar las brechas con las herramientas o complementos de código abierto.
La habilitación de clústeres con Azure Arc presenta una manera sencilla de administrar el clúster desde Azure junto con otros recursos. Esto también aporta otras funcionalidades de Azure al clúster, como Azure Policy, Azure Monitor, Microsoft Defender for Cloud y otros servicios.
Como la configuración del clúster no es trivial, es especialmente importante tener en cuenta la integración continua y entrega continua. Realizar el seguimiento y actuar sobre los cambios ascendentes de varios complementos, y asegurarse de que esos cambios no afectan al estado del clúster, se convierte en una responsabilidad directa. Es importante que ponga en práctica una solución de integración continua y entrega continua, pruebas y supervisión sólidas.
Opciones de herramientas
Arranque del clúster:
kubeadm: Herramienta de Kubernetes para crear clústeres de Kubernetes desde cero. Es buena para los recursos de proceso estándar (Linux/Windows).
MicroK8s: Administración y configuración simplificadas ("LowOps"), Kubernetes compatible de Canonical.
k3s: Distribución de Kubernetes certificada creada para Internet de las cosas (IoT) y proceso perimetral.
Almacenamiento:
- Explore los controladores de CSI disponibles, hay muchas opciones disponibles para ajustarse a sus requisitos, desde la nube a los recursos compartidos de archivos locales.
Redes:
- Puede encontrar una lista completa de los complementos disponibles aquí: Complementos de red. Algunas opciones populares incluyen Flannel, una red superpuesta simple, y Calico, que proporciona una pila de red completa.
Consideraciones
Costo operativo:
- Sin la compatibilidad que se proporciona con los servicios administrados, es responsabilidad de la organización mantener y operar el clúster en su conjunto (almacenamiento, redes, actualizaciones, observabilidad, administración de aplicaciones). El costo operativo se considera alto.
Facilidad de configuración:
- Evaluar las muchas opciones de código abierto en cada fase de configuración, independientemente de si sus opciones de redes, almacenamiento o supervisión son inevitables y pueden volverse complejas. Requiere más consideración para configurar una CI/CD para la configuración del clúster. Debido a estas cuestiones, la facilidad de configuración se considera difícil.
Flexibilidad:
- Con la capacidad de usar cualquier herramienta o complemento de código abierto sin restricciones de proveedor, Kubernetes sin sistema operativo es muy flexible.
Kubernetes en Azure Stack Edge
Un clúster de Kubernetes (una VM maestra y una VM de trabajo) configurado e implementado automáticamente en el dispositivo Azure Stack Edge Pro.
Los dispositivos Azure Stack Edge Pro ofrecen funcionalidades de Azure, como proceso, almacenamiento, redes y aprendizaje automático (ML) con aceleración por hardware a cualquier ubicación perimetral. Los clústeres de Kubernetes se pueden crear una vez habilitado el rol de proceso en cualquiera de los dispositivos Pro-GPU, Pro-R y Mini-R. La administración de actualizaciones del clúster de Kubernetes se puede realizar mediante las actualizaciones estándar disponibles para el dispositivo.
Escenario
Ideal para aquellos con cargas de trabajo de IoT existentes (Linux) o que actualizan su proceso para ML en el perímetro. Esta es una buena opción cuando no es necesario tener un control más detallado sobre los clústeres.
Los permisos de administrador no se conceden de manera predeterminada. Aunque puede trabajar con el grupo de productos para hacer determinadas excepciones, esto dificulta tener un control más preciso del clúster.
Hay un costo adicional si aún no hay un dispositivo Azure Stack Edge. Explore los dispositivos Azure Stack Edge y vea si alguno se ajusta a sus requisitos de proceso.
Calico, MetalLB y CoreDNS están instalados para las redes de Kubernetes en el dispositivo.
En este momento solo se admiten cargas de trabajo de Linux.
Además de Kubernetes, Azure Stack Edge también incluye el entorno en tiempo de ejecución de IoT, lo que significa que las cargas de trabajo también se pueden implementar en los clústeres de Azure Stack Edge a través de IoT Edge.
Actualmente no está disponible la compatibilidad con dos clústeres de nodos. Esto significa que esta opción no es una solución de alta disponibilidad (HA).
Consideraciones
Costo operativo:
- Con la compatibilidad que se incluye con el dispositivo, el costo operativo es mínimo y está limitado a la administración de las cargas de trabajo.
Facilidad de configuración:
- La implementación del clúster de Kubernetes preconfigurada y bien documentada simplifica la configuración necesaria en comparación con Kubernetes sin sistema operativo.
Flexibilidad:
- La configuración ya está establecida, y los permisos de administrador no se conceden de manera predeterminada. La participación del grupo de productos puede ser necesaria más allá de la configuración básica, y la infraestructura subyacente debe ser un dispositivo Azure Stack Edge Pro, lo que hace que sea una opción menos flexible.
AKS híbrido
AKS híbrido es un conjunto de valores y configuraciones predefinidos que se usan para implementar uno o varios clústeres de Kubernetes (con módulos de Windows Admin Center o PowerShell) en un clúster de varios nodos que ejecuta Windows Server o Azure Stack HCI 20H2, o versiones posteriores.
Escenario
Ideal para aquellos que quieren una manera simplificada y dinamizada de obtener un clúster admitido por Microsoft en dispositivos compatibles (Azure Stack HCI o Windows Server). Las operaciones y la complejidad de la configuración se reducen a costa de la flexibilidad en comparación con la opción de Kubernetes sin sistema operativo.
Consideraciones
Costo operativo:
- El clúster admitido por Microsoft minimiza los costos operativos.
Facilidad de configuración:
- La implementación del clúster de Kubernetes preconfigurada y bien documentada simplifica la configuración necesaria en comparación con Kubernetes sin sistema operativo.
Flexibilidad:
- La propia configuración del clúster está establecida, pero se conceden permisos de administrador. La infraestructura subyacente debe ser Azure Stack HCI o Windows Server. 2019. Esta opción es más flexible que Kubernetes en Azure Stack Edge y menos flexible que Kubernetes sin sistema operativo.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Prabhjot Kaur | Arquitecto principal de soluciones en la nube
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.
Pasos siguientes
Para más información, consulte los siguientes artículos: