Tanzu Mission Control: uso de Kubernetes para administrar Kubernetes

Oren Penso
AWS
May 2, 2020

Tanzu Mission Control es parte de VMware Tanzu.

VMware Tanzu es una familia de productos y servicios para modernizar sus aplicaciones e infraestructura con un objetivo común: ofrecer un mejor software a la producción, de forma continua.

VMware Tanzy

En esta entrada del blog, me centraré en la parte #Manage de Tanzu con control de la misión Tanzu (TMC) - Una plataforma de gestión centralizada para la operación de forma consistente y asegurar la infraestructura y las aplicaciones modernas Kubernetes entre equipos y nubes.

¿Por qué lo necesitamos?

Tanzu Mission Control ayuda a las organizaciones a superar el desafío de administrar una flota de clústeres de Kubernetes en las instalaciones, en la nube y de múltiples proveedores. Cada vez más clientes aprovechan los servicios en múltiples nubes públicas y, debido a las leyes de la física, ejecutan las cargas de trabajo de Kubernetes cerca de esos servicios. El efecto de esto es que estos clientes se encuentran operando muchos grupos de Kubernetes de diferentes proveedores y sabores, como EKS, AKS, GKE y locales, como TKG, PKS, OpenShift y más. Cada grupo se convierte en un copo de nieve que la organización necesita para operar, cosas como la infraestructura, los proveedores de identidad, las políticas, la seguridad, los mecanismos de monitoreo y otros requieren un gran esfuerzo entre los proveedores públicos y privados, administrados en la nube y autogestionados y diferentes. En momentos en que las organizaciones que desarrollan software buscan reducir el desperdicio y automatizar las operaciones, tener un panorama tan complicado no es propicio para lograr ese objetivo. Con Tanzu Mission Control, brindamos a nuestros clientes la capacidad de operar Kubernetes en un panorama diverso de proveedores y sabores en conjunto.

En cierto modo, estamos abstrayendo las complejidades y permitiendo que nuestros clientes se centren en lo más importante de Kubernetes: las aplicaciones y los servicios que se ejecutan en él.

Clústeres - Pantalla principal de Tanzu Mission Control

Construido en código abierto

Usando Kubernetes para administrar Kubernetes

Tanzu Mission Control (TMC) representa la continuación de nuestra estrategia de adoptar código abierto. Con Tanzu Mission Control, estamos aprovechando proyectos de código abierto para operaciones, incluida la gestión de Kubernetes. Aprovechamos ClusterAPI para la gestión del ciclo de vida del clúster, Velero para copias de seguridad y restauración, Sonobuoy para pruebas de conformidad, Contour para ingreso y Kubernetes.

Kubernetes

                                                               

¿Qué podemos hacer con él?

Los clústeres administrados de Tanzu Mission Control se dividen en dos grupos::

  • Clusters aprovisionadosclústeres de Kubernetes que fueron aprovisionados con Tanzu Mission Control y su ciclo de vida está completamente administrado por él. Esta categoría incluye clústeres autogestionados en vSphere, AWS y Azure. El mecanismo para implementar y administrar el ciclo de vida del clúster es ClusterAPI; Puedes leer más sobre ClusterAPI aquí.
  • Clusters adjuntos: clústeres que están conectados al Tanzu Mission Control para la gestión de operaciones. Podemos adjuntar y administrar cualquier grupo de Kubernetes conforme, que es un grupo que se ajusta a las mejores prácticas de la comunidad. Lea más sobre grupos conformes aquí. Cualquier sabor de Kubernetes, ya sea autogestionado o administrado en la nube, se puede conectar al Tanzu Mission Control y administrar sus operaciones. Esto incluye EKS, AKS, GKE, PKS, Rancher, OpenShift (4.x) y TKG.

Control de la misión Tanzu - Capacidades principales

Adjuntar Clusters

El Control de la misión Tanzu gestiona las operaciones en los clusters adjuntos. En nuestro ejemplo, adjuntamos un clúster de Microsoft AKS a Tanzu Mission Control.

Tendremos que agregar el clúster a un grupo de clúster y proporcionar un nombre que sea descriptivo del clúster.

Adjuntar clúster

Podemos crear etiquetas en cualquier clúster u objeto dentro de Tanzu Mission Control, estas etiquetas se pueden usar para crear procesos de automatización y orquestación. Una vez que terminemos el proceso de registro, Tanzu Mission Control generará un archivo YAML que tendremos que aplicar al clúster. Esto adjuntará el clúster al servicio.

Mission Control Agent

Una vez que apliquemos el archivo YAML, Tanzu Mission Control creará todos los objetos necesarios para controlar ese grupo y se enviará una llamada de registro a Tanzu Mission Control.

Así es como se ve cuando un clúster está registrado y en buen estado.

Clústeres provisionados

Con Tanzu Mission Control, podemos implementar clústeres Kubernetes autogestionados con un botón "fácil" en los servicios vSphere *, AWS y Azure * IaaS (* hoja de ruta). Hay dos opciones para implementar un clúster: Clúster de:

  • desarrollo nodo de plano de control único en una zona de disponibilidad única.
  • Clúster de producción: tres nodos del plano de control en múltiples zonas de disponibilidad.

El segundo paso es elegir el número y el tipo de trabajadores para ese clúster:

* el clúster del ejemplo se crea en AWS

En esta etapa, el clúster se desplegará; podemos ver las instancias de EC2 que se crearon en la región en la que el usuario tenía permisos para aprovisionar el clúster:

En este ejemplo, hay varios clústeres aprovisionados en la misma región, como se ve en el plano de control central:

En la imagen de arriba, el clúster "Openso-aws-cluster" tiene la versión Kubernetes de 1.16.4. El mensaje de información adjunto significa que podemos actualizar el clúster a una versión más nueva.

Al hacer clic en el botón Actualizar, Tanzu Mission Control iniciará un proceso de actualización, los grupos de tipos de producción se actualizarán de manera canaria (sin interrupciones) sin tiempo de inactividad para las cargas de trabajo. Los clústeres de tipo de desarrollo experimentarán cierto tiempo de inactividad durante el tiempo de actualización debido a que tienen un solo nodo de plano de control.

También podemos cambiar el tamaño o reducir el número de trabajadores en la pestaña del grupo de nodos en la vista de administración del clúster.

Cambiar el número de nodos de trabajadores redimensionará el tamaño del clúster.

Operaciones de clúster

Podemos gestionar las operaciones de los clústeres aprovisionados y adjuntos. En el panel de operaciones podemos ver el estado de mantenimiento de los componentes del clúster, como el consumo de CPU y memoria, la cantidad de cargas de trabajo, espacios de nombres, nodos y el estado de mantenimiento respectivo, la versión y el proveedor de infraestructura del clúster y más.

También podemos ver la salud de los componentes de Tanzu Mission Control.

Podemos ver los espacios de nombres, implementaciones, conjuntos de réplicas y pods que se están ejecutando, y el archivo YAML de origen de esos.

Identidad y acceso

La gestión de la identidad y el acceso en muchos grupos es una tarea difícil. Con Tanzu Mission Control, podemos operar este aspecto en conjunto, y reducir la complejidad y aumentar la seguridad de todo el entorno de Kubernetes. Podemos ver la jerarquía de permisos para un grupo de clústeres y cambiar la política de acceso directo en un grupo de clústeres; Esto nos permite otorgar a varios equipos de DevOps acceso a los clústeres que necesitan sin que tengan que ir a cada clúster por separado.

Para permitir que un usuario o un equipo accedan al grupo de clúster, necesitamos crear una política de acceso directo y elegir el tipo de permiso:

Agregar el usuario a la política de acceso directo creará los objetos Kubernetes relacionados en esos clústeres.

Políticas de seguridad Las

políticas de red, las políticas de registro de imágenes y las políticas de seguridad * pod le permiten crear políticas consistentes en cualquier clúster administrado, independientemente del proveedor o la nube.

En este ejemplo, puede ver la configuración de una política de registro de imágenes que permite al usuario extraer imágenes solo de harbor.tanzuworld.com y no de docker.io, para evitar vulnerabilidades y aplicar estas políticas a un grupo de clúster.

Si intentamos extraer una imagen de un repositorio de imágenes diferente, el pod no se programará, y la descripciónkubectl dedel pod mostrará el mensaje de error:

Verificaciones de conformidad y cumplimiento

Con el complemento Sonobuoy para Tanzu Mission Control, podemos inspeccionar cualquier clúster que está siendo administrado por Tanzu Mission Control.

La inspección profunda es la prueba de conformidad general para el clúster de Kubernetes; El mensaje clave sobre la conformidad es:

Para cumplir mejor estos objetivos, la comunidad de Kubernetes (bajo los auspicios de la CNCF) ejecuta un programa de certificación de conformidad de software de Kubernetes. Todos los proveedores están invitados a presentar los resultados de las pruebas de conformidad para su revisión y certificación por parte del CNCF, que certifica formalmente las implementaciones conformes".

Para iniciar una inspección, cree una tarea de "Nueva inspección":

Una vez que la inspección haya finalizado, podemos verificar los resultados haciendo clic en el enlace "Ver inspección":

Como puede ver, hay 278 parámetros diferentes que se verifican como parte de la conformidad cheque. Estas pruebas de conformidad son las mejores prácticas generadas por la comunidad de código abierto. Puede personalizar el suyo, de acuerdo con las políticas de la organización que aprovechan los complementos de proyecto de código abierto de Sonubuoy.

“Espacios de trabajo”

Un espacio de trabajo es un objeto de múltiples clústeres y espacios de nombres múltiples, y es una de las principales construcciones lógicas en Tanzu Mission Control que nos permite abstraer aún más las operaciones de Kubernetes. Con los espacios de trabajo, podemos agrupar varios espacios de nombres de cualquier clúster en cualquier lugar y aplicar políticas de identidad, políticas de registro de imágenes, políticas de red y políticas de copia de seguridad y restauración en conjunto.

Aquí es donde subimos la pila del clúster para abordar el lado de la aplicación de las cosas. Creamos un espacio de trabajo para una aplicación que puede abarcar varios clústeres. Hay muchas razones por las que los clientes necesitan implementar una aplicación de múltiples clústeres, como por razones de arrendamiento o separación del tipo de carga de trabajo o tareas. No se recomienda que los clústeres tengan dependencias de otros clústeres de aplicaciones compartidas, cuando hay clústeres que se mantienen consistentes en algunos aspectos, como la seguridad, la identidad y más.

En el siguiente ejemplo, hemos creado un espacio de trabajo para el equipo de desarrollo de la aplicación "Hola", en dos clústeres de EKS, uno para desarrolladores y otro para productos. Ahora podemos dar acceso al equipo de desarrollo en esos clústeres:

O, como en el ejemplo anterior, nos aseguramos de que el equipo de desarrollo extraiga imágenes solo del registro interno de la organización, para lo cual mantiene las imágenes y escanea las vulnerabilidades (ver más abajo '* .harbor.tanzuworld.com').

Reflexiones finales

Con Tanzu Mission Control, podemos crear un solo panel de vidrio y aprovechar Kubernetes y el ecosistema de código abierto a su alrededor para operar y administrar cualquier grupo de Kubernetes conforme. Tanzu Mission Control y la construcción del espacio de trabajo nos permiten cambiar al contexto de la aplicación y administrar aplicaciones en entornos de múltiples clústeres, al tiempo que proporcionan consistencia operativa.

Más sobre la cartera de Tanzu aquí.

Oren Penso

Oren Penso is a technical lead for Emerging Solutions and Modern Application Platforms at VMware.

Related Posts

Boletin informativo SpainClouds.com

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form