Flujo de creación de instancias paso a paso en OpenStack

OpenStack-VM-Provisioning-Flow

¿Alguna vez ha pensado en lo que sucedió en segundo plano cada vez que creamos una instancia o una máquina virtual, ya sea a través de Openstack cli o el tablero? En este artículo, explicaremos paso a paso la creación de VM o instancias en Openstack. Todos los componentes de Openstack se comunican entre sí con la API mediante el token de autenticación.

Creación de una máquina virtual en OpenStack a través de OpenStack CLI

Obtenga el archivo de credenciales y luego ejecute el comando nova-boot,

# nova boot --flavor m1.small --image centos7 --nic net-id={private_network_id} --security-group norprod_sec_grp  --key-name my_key stack_testvm

Una vez que se ejecuta el comando de arranque nova, los siguientes pasos se ejecutan detrás de escena,

Paso 1) Horizon Dashboard o OpenStack CLI obtiene las credenciales del usuario y se autentica con el servicio de identidad a través de la API REST

  • El servicio de identidad (Keystone) autentica al usuario con las credenciales de usuario y luego genera y envía un token de autenticación, ese token de autenticación que se utilizará para enviar la solicitud a otros componentes a través de REST-Call

Paso 2) El Dashboard o OpenStack CLI convierte la nueva solicitud de instancia especificada en la instancia de lanzamiento o el comando de arranque nova en una solicitud de API REST y la envía a nova-api

Paso 3) Luego, el servicio nova-api recibe la solicitud y la envía al servicio de identidad (Keystone) para la validación del token de autenticación y el permiso de acceso.

  • El servicio Keystone valida el token y envía los encabezados de autenticación actualizados con roles junto con los permisos

Etapa 4) Después de obtener la respuesta de keystone, nova-api verifica si hay conflictos con nova-database y luego crea una entrada inicial en la base de datos para una nueva instancia o VM.

Paso: 5) nova-api envía la solicitud rpc.call a nova-scheduler esperando obtener una entrada de instancia actualizada con la identificación de host especificada

Paso: 6) Ahora nova-scheduler selecciona la solicitud de la cola

Paso: 7) nova-scheduler habla con nova-database para localizar un host apropiado utilizando un mecanismo de filtrado y pesaje,

  • nova-scheduler devuelve la entrada de instancia actualizada con la ID de host adecuada después de filtrar y sopesar
  • nova-scheduler envía la solicitud rpc.cast a nova computing para lanzar una instancia en el host apropiado

Paso: 8) nova-compute selecciona la solicitud de la cola y envía la solicitud rpc.call a nova-conductor para obtener la VM o la información de la instancia, como la identificación del host y el tipo (RAM, CPU y disco)

Paso: 9) nova-conductor toma la solicitud de la cola y se comunica con nova-database,

  • nova-conductor obtiene la información de la instancia
  • ahora nova-compute selecciona la información de la instancia de la cola

Paso: 10) nova-compute se conecta a la API de la vista haciendo una llamada REST usando el token de autenticación y luego nova-compute usa la identificación de la imagen para obtener el URI de la imagen del servicio de imágenes y carga la imagen desde el almacenamiento de imágenes

Paso: 11) look-api valida el token de autenticación con keystone y luego nova-compute obtiene los metadatos de la imagen

Paso: 12) Nova-compute realiza la llamada REST pasando el token de autenticación a la API de red (Neutron) para asignar y configurar la red para que vm obtenga la dirección IP

Paso: 13) El servidor de neutrones valida el token de autenticación con keystone y, luego, el nova-compute recupera la información de la red.

Paso: 14) Nova-Compute realiza la llamada REST al pasar el token de autenticación a la API de volumen para adjuntar el volumen a la instancia o máquina virtual.

Paso: 15) cinder-api valida el token de autenticación con keystone y luego nova-compute obtiene la información de almacenamiento de bloques.

Paso: 16) nova-compute genera datos para el controlador del hipervisor y ejecuta la solicitud en el hipervisor mediante libvirt o API y, finalmente, se crea una máquina virtual en el hipervisor. Podemos ver esa VM en Dashboard y también usando el comando «nova list».

Eso es todo del artículo, espero que encuentre este artículo informativo. Por favor, comparta sus opiniones y comentarios.

Entradas relacionadas

Deja una respuesta

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