Openstack Nova Internals of instance launching
-
Api Server : Handle request from user and relays them to cloud controller
-
Cloud Controller : Handles the communication between the compute nodes,the networking controller , api sever and scheduler.
-
Scheduler : Select a host to run a command
-
Compute Worker : managing compute instances,launch or terminate instance, attach or detach volumes.
-
Network Controller : manages networking resources,allocated fix IP addresses, configure VLANs.
Flow of launching an Instance
- Api Server receives a run_instance command from the user.
- The Api server relays the message to the cloud controller.
- Authentication is performed to make sure this user has required permissions.
- If user is authenticated, cloud controller sends the message to the scheduler.
- Scheduler cast the message to random host and ask him to run a new instance.
- The compute worker on the host grabs the message.
- The compute worker needs a fixed ip to launch a new instance so it sends the message to network controller i.e. (5,6,7,8) steps
Compute
- Compute worker receives the message and run_instance() method is called.
- run_instance() does the following things:
Check if instance is already running
allocate a fixed ip address
setup VLAN and bridge if not already setup
spawn the instance using virtualization driver.
Made with Slides.com