Método de aprendizaje para desarrolladores
Aquí encontrará un método detallado de aprendizaje para desplegar apps contenerizadas de alta disponibilidad en clústeres de Kubernetes y para utilizar las potentes herramientas de IBM Cloud Kubernetes Service para automatizar, aislar, proteger, gestionar y supervisas las cargas de trabajo de sus apps entre zonas o regiones.
Acceso al clúster
Empiece a trabajar con el clúster configurando la CLI y el acceso al clúster.
- Configuración de las CLI: configure las CLI que sean necesarias para crear y trabajar con clústeres. Mientras trabajas con tu clúster, consulta la guía de referencia de la interfaz de línea de comandos (CLI) en Referencia comando y mantente al día de las actualizaciones de la versión de la CLI en Registro de cambios de la CLI.
- Permisos de usuario: asegúrese de que el administrador del clúster le asigne el rol IAM de IBM Cloud adecuado para acceder al clúster.
- Acceso al clúster: Acceda al clúster a través del punto final de servicio en la nube público o privado.
¿Necesita ayuda? Consulte el apartado sobre Resolución de problemas de clústeres y nodos maestros y sobre Resolución de problemas de nodos trabajadores.
Planificación del despliegue
Antes de desplegar una app, decida cómo desea configurar la app para que se pueda acceder a la app correctamente y se pueda integrar con otros servicios.
- Nativa de Kubernetes: planifique su estrategia para desarrollar una app nativa de Kubernetes.
- Altamente disponible: planifique su estrategia para un despliegue de alta disponibilidad.
¿Desea una configuración sin servidor? Pruebe Code Engine.
Desarrollo de la app
Configure la app en un archivo YAML que declare la configuración del objeto Kubernetes y planifique la estrategia de mantenimiento de versiones de la app.
- Desarrolle la app:
- Revise los conceptos básicos de los despliegues de apps nativas de Kubernetes.
- Cree contenedores de apps a partir de imágenes de registros de imágenes públicos o privados.
- Especifique los requisitos de la app en un archivo YAML, que declara la configuración del objeto Kubernetes.
- Cree versiones de la app:
- Planifica configuraciones personalizadas para más de un entorno, como los de desarrollo, pruebas y producción, con el fin de gestionar tu archivo YAML de configuración.
- Si desea ejecutar la app en varios clústeres, en entornos públicos y privados o incluso en varios proveedores de nube, empaqueta la aplicación para ayudar a automatizar los despliegues.
¿Necesita ayuda? Consulte Resolución de problemas de apps y de integraciones.
Desplegar la app
Despliegue la app en el clúster ejecutando el archivo de configuración de la app.
- Despliegue de aplicaciones con el panel de control de Kubernetes.
- Despliegue de aplicaciones con la CLI.
- Despliegue de aplicaciones en nodos de trabajo específicos utilizando etiquetas.
- Despliegue de una aplicación en una máquina GPU.
¿Necesita ayuda? Consulte Resolución de problemas de apps y de integraciones.
Prueba, registro y supervisión
Cuando realice pruebas de rendimiento de la app, configure el registro y la supervisión para ayudarle a resolver los problemas, obtener visibilidad de las cargas de trabajo y mejorar el estado y el rendimiento de las apps.
En un entorno de prueba, cree deliberadamente una serie de situaciones no ideales, como por ejemplo suprimir todos los nodos trabajadores de una zona para replicar un error zonal. Revise los registros y las métricas para ver cómo se recupera la app.
- Prueba de acceso: pruebe el acceso a la app mediante la creación de un NodePort público o privado en los nodos trabajadores.
- Supervisión:
- Abra un panel de control de Kubernetes en el sistema local para ver información sobre los recursos de la app.
- Elija una solución de supervisión, como por ejemplo IBM Cloud® Monitoring, para obtener visibilidad operativa sobre el rendimiento y el estado de las apps.
- Registro: elija una solución de registro, como por ejemplo IBM Cloud Logs, para supervisar los registros de contenedor.
¿Necesita ayuda? Consulte Resolución de problemas de registro y de supervisión.
Actualización de la aplicación
Realice actualizaciones y retrotracciones continuadas de apps sin interrumpir la actividad de los usuarios.
- Estrategia de actualización: planifique su estrategia para mantener actualizada la app.
- Configuración de actualizaciones:
- Añada una actualización continua a su archivo de despliegue
- Realice despliegue de tipo A/B, de prueba y por fases con el complemento de Istio gestionado.
- Configurar un proceso de entrega continua para un clúster.
- Escalado: habilite el escalado automático horizontal de pod para aumentar o reducir el número de instancias de sus apps en función de la CPU.
Protección de la app
Utilice secretos de Kubernetes para guardar la información confidencial, como credenciales o claves, y cifre los datos en secretos de Kubernetes para evitar que usuarios no autorizados accedan a la información confidencial de la app.
- Secretos:
- Almacene la información personal o confidencial en secretos de Kubernetes a los que pueda acceder la app.
- Cifre los secretos utilizando un proveedor de KMS.
- Compruebe que los secretos se han cifrado.
- Tráfico de pod a pod: habilite el cifrado mTLS para el tráfico entre microservicios dentro de una red de servicios de Istio.
Exponer la aplicación
Exponga una app de forma pública en el clúster en internet o exponga de forma privada una app en el clúster solo en la red privada.
- Planifique el descubrimiento de servicios:
- Comprenda los conceptos básicos sobre el descubrimiento de servicios de Kubernetes.
- Elija un servicio de exposición de apps que se ajuste a sus requisitos en cuanto a tráfico de entrada en la app.
- Exponga la app:
-
Equilibradores de carga:
- Clústeres clásicos:
- Cree un NLB 1.0 o un NLB 2.0.
- Registre un subdominio de DNS para el NLB.
- Clústeres de VPC: Configurar un equilibrador de carga de VPC.
- Clústeres clásicos:
-
Ingress: Configure Ingress para la red pública o privada.
-
¿Necesita ayuda? Consulte los apartados sobre Resolución de problemas de Ingress y Resolución de problemas de equilibradores de carga.
Adición de almacenamiento de la app
- Requisitos: determine sus requisitos para una solución de almacenamiento.
- Elija una solución: Utilizando los requisitos de almacenamiento, elija una solución de almacenamiento comparando sus opciones.
¿Necesita ayuda? Consulte la página de resolución de problemas para su solución de almacenamiento persistente.
Adición de integraciones
Mejore las prestaciones de la app mediante la integración de diversos servicios externos y servicios del catálogo del clúster en la app.
-
Revise las integraciones que reciben soporte:
-
Añadir servicios a su clúster: solicite al administrador del clúster que añada la integración a su clúster.
-
Acceda a servicios desde la app: asegúrese de que la app puede acceder al servicio. Por ejemplo, para acceder a una instancia de servicio de IBM Cloud desde la app, debe poner las credenciales de servicio almacenadas en el secreto de Kubernetes a disponibilidad de la app.
¿Necesita ayuda? Consulte Resolución de problemas de apps y de integraciones.