Noticias

Puesta en servicio de las máquinas utilizadas: Aplicación aprobada

Queremos hacer posible la implementación de MAAS en un centro de datos existente y realizar un seguimiento de las máquinas con una carga de trabajo que ya se ha proporcionado, sin interrumpir la máquina. o Carga de trabajo. Para obtener una máquina con la información de hardware correcta en MAAS, actualmente debe iniciar la máquina a través de la red y dejar que MAAS examine la máquina en un entorno de corta duración.

Esto no es factible si una máquina ya está ejecutando una carga de trabajo, pero aún así vale la pena tener la máquina en MAAS:

  • Ayuda a realizar un seguimiento de todas sus máquinas,
  • y puede reutilizar fácilmente la máquina cuando ya no necesite trabajar allí.

Estamos trabajando en algunas soluciones; Si bien es posible que no todos se implementen por completo de inmediato (o nunca), planeamos tener algunas máquinas implementadas con el lanzamiento de MAAS 3.1. Queremos compartir nuestros pensamientos. Agradecemos sus comentarios, así que comente directamente en respuesta a este blog.

Cómo reducimos el problema

Dado que pensamos como usuarios de MAAS, basándonos en muchos comentarios del discurso, hemos hecho algunas suposiciones que nos ayudarán a reducir este problema.

Los usuarios quieren máquinas implementadas en MAAS. Agregar

Los usuarios de MAAS han expresado el deseo de agregar máquinas ya aprovisionadas a MAAS para que puedan realizar un seguimiento de las cargas de trabajo existentes con MAAS MAAS como de costumbre, pero establezcan el estado inicial en Previstopara evitar que MAAS se reinicie y / o recargue.

Pensamos en este problema y decidimos que este tipo de función probablemente debería funcionar así:

  • El usuario no debería necesitar especificar un controlador de rendimiento.
  • El usuario debe poder agregar una máquina sin especificar una dirección MAC eligiendo Desconocido o IPMI como controlador de rendimiento.
  • Si el dispositivo tiene un controlador de energía desconocido y no una MAC, se debe esperar que el usuario proporcione una MAC al configurar el controlador de energía, a menos que, por supuesto, sea IPMI.
  • Cuando se libera una máquina, es probable que tenga que volver al estado Nuevo, ya que no tiene datos de puesta en marcha y, por definición, el usuario no espera que la máquina continúe funcionando con su carga actual.
  • Si la máquina no tiene MAC, no se puede permitir ninguna operación (excepto la puesta en servicio) que requiera un arranque en red.
  • Después de agregar la máquina como Previstodebería estar visible en la lista de máquinas.

Los usuarios quieren información H / W actualizada para las máquinas implementadas

Es probable que los usuarios deseen actualizar la información de hardware para las máquinas aprovisionadas en MAAS, sin reiniciar la máquina, para que puedan usar MAAS para realizar un seguimiento de las cargas de trabajo en curso. Si un usuario tiene máquinas en MAAS que se están aprovisionando, debería poder actualizar la información del hardware sin reiniciar la máquina.

Así es como imaginamos esta característica:

  • Cuando el usuario actualiza la información del hardware, debe ser visible en MAAS como si hubiera estado funcionando normalmente.
  • Cuando se libera, la máquina debe volver al estado Nuevo para que pueda llevarse a cabo la puesta en servicio; es decir, debería ser simplemente otra máquina MAAS normal en este punto.

Los usuarios quieren obtener información de hardware de las máquinas aprovisionadas

Asumimos que estaba bien que los usuarios usaran SSH para conectarse a una máquina y luego ejecutar un script que (1) agrega la máquina a MAAS y (2) actualiza los datos de puesta en marcha sin la carga de trabajo de la máquina perturbadora. Esto se basa en la última suposición, pero al igual que nuestros scripts de inscripción, la máquina está registrada en MAAS como una máquina aprovisionada.

Algunas ideas sobre cómo queríamos implementar esta función:

  • El usuario debería poder descargar un script de MAAS y ejecutarlo en la computadora alojada.
  • Este script debe agregar la máquina implementada a MAAS, como Previsto – y recopilar datos de puesta en marcha sin interrumpir el uso de la máquina.
  • Si se vuelve a ejecutar el script, la máquina no se vuelve a registrar, pero se actualizan los datos de puesta en marcha de la máquina existente.
  • El nombre de host actual de la máquina se utiliza para nombrar la máquina cuando se agrega por primera vez.
  • Si el nombre de host de la máquina cambia y el script se ejecuta, está bien que el nombre de la máquina existente siga siendo el mismo.
  • El usuario debe esperar proporcionar credenciales administrativas para registrar las máquinas aprovisionadas.

Los usuarios quieren compartir y volver a implementar sin reiniciar

Entendemos que los usuarios de MAAS desean compartir una máquina agregada a MAAS y luego aprovisionar una carga de trabajo diferente, sin que MAAS tenga que reiniciar la máquina en un entorno de corta duración para recopilar datos de puesta en marcha. Si agregó una computadora implementada, MAAS no ejecutó sus scripts de inicio y es posible que falte información. En este caso, deberíamos animar al usuario a que vuelva a iniciar, pero ¿qué compromisos podemos hacer para evitar reiniciar la máquina?

Bueno, hemos considerado estos puntos:

  • Cuando se libera la máquina, se eliminan todas las interfaces no físicas, como VLAN, puentes y VF, y la máquina se configura como una máquina puesta en servicio.
  • Cuando se libera una computadora con información de hardware, pasa al estado Listo.

Los usuarios quieren agregar máquinas aprovisionadas sin SSH

Los usuarios de MAAS probablemente deseen agregar máquinas ya aprovisionadas para las que no tienen permisos SSH. Anteriormente asumimos que los usuarios estarían bien para iniciar sesión en la computadora en ejecución y recopilar información de hardware del sistema. Sin embargo, hay formas de utilizar la gestión fuera de banda (como Redfish) para obtener la información del hardware.

Esto es útil no solo para equipos en los que no tiene permisos SSH, sino también para equipos en los que no puede recopilar información de hardware de la forma habitual (por ejemplo, Windows). Si bien sería genial si MAAS recopilara la información por sí solo, está demasiado lejos de los límites para este primer intento. En su lugar, documentamos cómo actualizar la información del hardware para que alguien pueda escribir un script que sondee el BMC o se ejecute en un host de Windows para recopilar la información y enviarla a MAAS.

En otras palabras, nos gustaría publicar aquí un script de muestra que sondea un Redfish BMC y actualiza una máquina en MAAS.

Los usuarios quieren que los controladores implementados sean visibles

Pensaríamos que a un usuario de MAAS le gustaría que las máquinas que se utilizan como controladores aparezcan en la lista de máquinas. De esta forma se pueden reutilizar si es necesario. Si actualmente está agregando un controlador en MAAS, lo vincularemos a una máquina existente (que es, por ejemplo, Previsto, o realmente en un estado diferente), o creamos una nueva máquina en el Nuevo Estado.

Sería bueno estandarizar la forma en que actualizamos las máquinas y los controles. Esto significa que la máquina aparecerá en la lista de máquinas porque no es diferente de cualquier otra carga de trabajo. Cuando necesite computadoras para una carga de trabajo, puede reutilizar un controlador que realmente no necesita o reemplazar el controlador por otra computadora.

Así es como podría funcionar esta función:

  • Cuando se crea una máquina, cuando se agrega un nuevo controlador a MAAS, su estado será Previsto.
  • Al actualizar a la última versión de MAAS, todas las máquinas conectadas a un controlador se guardarán como. marcado Previsto.
  • La máquina vinculada a un control es visible en la lista de máquinas como una máquina normal.
  • Cuando una máquina está vinculada a un controlador, la máquina está bloqueada.
  • Al quitar un controlador, se desbloquea su computadora.
  • Si un controlador no tiene un BMC cuando se quita un controlador, se quita de MAAS.
  • Cuando una máquina está conectada a un controlador, tiene una anotación de carga de trabajo que indica qué es un controlador MAAS.

Los usuarios quieren actualizar la información del hardware con regularidad

Suponemos que los usuarios de MAAS quieren un script de escritura que pueda actualizar periódicamente la información del hardware de una computadora implementada. Si tiene una máquina en funcionamiento, es posible que desee tener algo en ejecución en esa máquina que verifique periódicamente la información del hardware y le informe a MAAS si ha cambiado.

Si bien debería poder hacer esto con algunas de las características anteriores implementadas, no estaría usando sus propias credenciales en ese caso. En su lugar, generaría un conjunto de credenciales limitado a una sola computadora. Esto es importante porque cualquier persona con root en la computadora puede ver estas credenciales, por lo que deben ser lo más restrictivas posible.

Las consideraciones de características incluyen lo siguiente:

  • Puede obtener una serie de credenciales de MAAS que se pueden utilizar para actualizar la información de hardware de una sola computadora.
  • Las credenciales de una computadora se pueden volver a generar, en cuyo caso las credenciales antiguas ya no son válidas.
  • Solo el propietario de la computadora puede generar y ver nuevas credenciales. Los usuarios anónimos y no propietarios no pueden hacer esto.

Lo que estamos probando actualmente

Hemos hecho algunos avances hacia las características 3.1, que resumiremos aquí. Comprenda que recién estamos comenzando y, como se mencionó anteriormente, no hay garantías de que implementaremos todas estas funciones, pero así es como lo hacemos por ahora.

Cómo inscribir una máquina que ejecuta una carga de trabajo

Hay tres opciones para agregar una máquina que ya está ejecutando una carga de trabajo:

interfaz de usuario: En el formulario «Agregar máquina» en la página «Lista de máquinas», agregue la máquina como de costumbre, pero marque la casilla «Aprovisionada» (este trabajo aún no se ha realizado, pero está en nuestra lista).

API: Cree una máquina que pase la bandera proporcionada:

$ maas $profile machines create deployed=true 
hostname=mymachine architecture=amd64 
mac_addresses=00:16:3e:df:35:bb power_type=manual

En la propia máquina: Si la computadora está ejecutando Ubuntu, puede descargar un script auxiliar de MAAS y crear la computadora de esta manera. Así es como recomendamos que los usuarios confíen en:

$ wget http://$MAAS_IP:5240/MAAS/maas-run-scripts
$ chmod 755 maas-run-scripts
$ ./maas-run-scripts register-machine --hostname mymachine 
http://$MAAS_IP:5240/MAAS $MAAS_API_TOKEN

Ahora tiene una máquina en MAAS que está en el estado aprovisionado y aún no contiene ninguna información de hardware.

Cómo actualizar la información de H / W para una computadora implementada

La mejor manera de actualizar la información de hardware para una computadora implementada es descargar el script maas-run-scripts como se muestra arriba y ejecutarlo en la propia computadora:

$ wget http://$MAAS_IP:5240/MAAS/maas-run-scripts
$ chmod 755 maas-run-scripts
$ ./maas-run-scripts register-machine --hostname mymachine 
http://$MAAS_IP:5240/MAAS $MAAS_API_TOKEN

Si construyó la máquina con los scripts maas-run, debería tener uno mymachine-creds.yaml Archivar ya. Si no es así, debería verse así:

reporting:
maas:
consumer_key: YGT6QKSH65aap4tGnw
endpoint: http://10.5.32.98:5240/MAAS/metadata/status/wxwwga
token_key: Lyy9BS4tKsQakDQScy
token_secret: V8vta8Azwn6FZVkfHnuTvLGLScAvEufB

En este ejemplo, 5/10/32/98 es la IP / nombre de host de la implementación de MAAS, wxwwga es el ID del sistema de la máquina en MAAS y el resto es el token de API para la máquina. Puede obtener las credenciales de la API MAAS de la siguiente manera:

$ maas $profile machine get-token wxwwga
Success.
Machine-readable output follows:

"token_key": "Lyy9BS4tKsQakDQScy",
"token_secret": "V8vta8Azwn6FZVkfHnuTvLGLScAvEufB",
"consumer_key": "YGT6QKSH65aap4tGnw"

resumen

Así que solo queríamos compartir nuestras ideas y algunas de las direcciones que estamos tomando para respaldar el uso de máquinas aprovisionadas sin apagarlas o afectar su carga de trabajo. Estaremos encantados de recibir sus comentarios aquí.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba