Diseño y operaciones de clústeres

En este artículo se trata la configuración de clústeres y el diseño de red. Aprenda a realizar una prueba de la escalabilidad mediante la automatización del aprovisionamiento de la infraestructura. El aprovisionamiento es el proceso de configuración de la infraestructura de TI que desea. El aprovisionamiento de infraestructura automatizado admite una instalación remota y configura entornos virtuales. También le ayuda a mantener una alta disponibilidad mediante el planeamiento de la continuidad empresarial y recuperación ante desastres.

Planeamiento, entrenamiento y prueba

Al principio, la lista de comprobación y los recursos siguientes de Kubernetes le ayudarán a planear el diseño del clúster. Al final de esta sección, podrá responder a estas preguntas:

  • ¿Ha identificado los requisitos de diseño de red para el clúster?
  • ¿Tiene servicios con requisitos variables? ¿Cuántos grupos de nodos va a utilizar?

Lista de comprobación:

  • Identificación de los aspectos sobre el diseño de red. Comprenda los aspectos del diseño de red del clúster, compare modelos de red y elija el complemento de red de Kubernetes que mejor se adapte a sus necesidades. En el caso de las redes de Azure Container Networking Interface (CNI), considere el número de direcciones IP necesarias como un múltiplo del máximo de pods por nodo (el valor predeterminado es 30) y del número de nodos. Agregue un nodo necesario durante la actualización. Al elegir los servicios del equilibrador de carga, considere la posibilidad de usar un controlador de entrada cuando haya demasiados servicios para reducir el número de puntos de conexión expuestos. Para Azure CNI, el servicio CIDR debe ser único en toda la red virtual y en todas las redes virtuales conectadas para garantizar el enrutamiento adecuado.

    Para obtener más información, consulte:

  • Creación de grupos de varios nodos. Para admitir aplicaciones con diferentes necesidades de proceso o almacenamiento, puede configurar opcionalmente el clúster con grupos de varios nodos. Por ejemplo, puede usar más grupos de nodos para proporcionar GPU para aplicaciones de proceso intensivo o acceso a almacenamiento SSD de alto rendimiento. Para más información, consulte Creación y administración de varios grupos de nodos para un clúster de Azure Kubernetes Service.

  • Decidir los requisitos de disponibilidad. Un mínimo de dos pods detrás de Azure Kubernetes Service garantiza una alta disponibilidad de la aplicación si hay errores o reinicios de pods. Use tres o más pods para controlar la carga durante los errores y reinicios de los pods. Para la configuración de clústeres, se requiere un mínimo de dos nodos en un conjunto de disponibilidad o conjunto de escalado de máquinas virtuales para cumplir el Acuerdo de Nivel de Servicio del 99,95 %. Use al menos tres pods para garantizar la programación del pod durante los errores y los reinicios de los nodos.

    Para proporcionar un mayor nivel de disponibilidad a las aplicaciones, los clústeres se pueden distribuir entre zonas de disponibilidad. Estas zonas son centros de datos físicamente separados dentro de una región determinada. Si los componentes del clúster se distribuyen entre varias zonas, el clúster podrá tolerar un error en una de las zonas. Sus aplicaciones y operaciones de administración continuarán disponibles incluso si todo un centro de datos sufre una interrupción. Para obtener más información, consulte Creación de un clúster de Azure Kubernetes Service (AKS) que use zonas de disponibilidad.

Traslado a producción y aplicación de los procedimientos recomendados de la infraestructura

Cuando prepare la aplicación para producción, implemente un conjunto mínimo de procedimientos recomendados. En esta fase, use esta lista de comprobación. Al final de esta sección, podrá responder a estas preguntas:

  • ¿Puede reimplementar con confianza la infraestructura del clúster?
  • ¿Ha aplicado cuotas de recurso?

Lista de comprobación:

  • Automatización del aprovisionamiento del clúster. Mediante la infraestructura como código, puede automatizar el aprovisionamiento de la infraestructura para proporcionar una mayor resistencia durante desastres y ganar agilidad a la hora de reimplementar la infraestructura según sea necesario. Para obtener más información, consulte Creación de un clúster de Kubernetes con Azure Kubernetes Service mediante Terraform.

  • Planeación de disponibilidad mediante presupuestos de interrupciones de pods. Para mantener la disponibilidad de las aplicaciones, defina presupuestos de interrupciones de pods (PDB) para asegurarse de que haya un número mínimo de pods disponible en el clúster durante los errores de hardware o las actualizaciones del clúster. Para más información, consulte Planeación de disponibilidad mediante presupuestos de interrupciones de pods.

  • Aplicación de cuotas de recursos en espacios de nombres. Planee y aplique cuotas de recursos en el nivel del espacio de nombres. Las cuotas se pueden establecer en los recursos de proceso, de almacenamiento y en el recuento de objetos. Para más información, consulte Aplicación de cuotas de recursos.

Optimización y escalado

Una vez que la aplicación esté en producción, ¿cómo puede optimizar el flujo de trabajo y preparar la aplicación y el equipo para el escalado? Use la lista de comprobación de optimización y escalado para la preparación. Al final de esta sección, podrá responder a estas preguntas:

  • ¿Dispone de un plan de continuidad empresarial y recuperación ante desastres?
  • ¿Puede escalarse el clúster para satisfacer las necesidades de la aplicación?
  • ¿Puede supervisar el estado del clúster y la aplicación y recibir alertas?

Lista de comprobación: