当前位置:网站首页>Openstack learning notes -nova component insight
Openstack learning notes -nova component insight
2022-06-25 13:19:00 【Guard of Tuanzi】
Video understanding :
nova Components are used to build virtual machines ( function : Responsible for responding to virtual machine creation requests 、 Dispatch 、 Destroy the virtual machine )
nova Main components :
nova-api: Responsible for receiving external rest api Request
nova-scheduler: Responsible for scheduling ( amount to nova-api The Secretary of )
nova-compute: Be responsible for specific de debugging of relevant virtualization drivers
nova-conductor: help nova-computer view the database , Then pass the message through message queue Pass to nova-computer
Why should I use... When viewing a database nova-conductor instead of nova-computer Look it up directly ?
1、 Based on safety considerations : Once the virtual machine is broken , Would pass nova-computer Get information about virtual machines
2、 Based on database pressure :nova-computer There are many , Many virtual machines can be built at the same time , Multiple nova-computer Accessing the database at the same time will put pressure on the database
Book Understanding :
A preliminary understanding Nova:
yes OpenStack The computing component of , It controls the state changes, birth and death of virtual machines , Managing their resource allocation . stay OpenStack The core role of the player in the project .
current Nova Only focus on providing unified computing resource abstraction , These computing resources can be physical machines 、 virtual machine , Even containers .
Nova Architecture :
Nova It consists of multiple components that provide different functions , Foreign passage REST API signal communication , Internal adoption RPC communicate , Use DB Database to store data
Nova Mainly by API、 Compute、 Conductor、 Scheduler 4 Core components , They pass through RPC communicate .
API: Is to enter Nova Of HTTP Interface , You can scale out by deploying multiple .
1、API Depending on whether the request is a long-term task or a short-term task , Send the request to Conductor perhaps Compute.
2、 Long term task requests are sent to Conductor
Conductor: Be responsible for the whole process tracking and scheduling .
1、 For requests that need to be scheduled for new virtual machines or migration classes ,Conductor Will send to Scheduler Request a qualified compute node , Then the request is finally sent to the appropriate computing node .
2、 In addition to the long-term task, it is also responsible for representing other nodes DB visit .( This is mainly for security issues and the realization of online upgrade function )
3、 Finally, requests for virtual machine operations will be sent to Compute Components
Compute: Responsible for working with Hypervisor communicate , Realize the life cycle management of virtual machine .
1、 To each Hypervisor Support through Virt Driver Framework to implement
Take creating a virtual machine as an example ,Nova The internal execution process of the component :
1、 First, the user executes novaclient The command provided to create the virtual machine .
2、API The service is listening to novaclient Sent HTTP Ask and API Convert it to AMQP news
3、 Through message queuing (Queue) call Conductor service ,Conductor After the service receives the task through the message queue , Do some preparatory work ( Such as summarizing virtual machine parameters )
4、 Then tell through the message queue Scheduler Select a host that meets the requirements of virtual machine creation
5、Conductor Get Scheduler After the provided target host , Will ask Compute Services create virtual machines
6、Compute And Hypervisor communicate
ps: Not all business processes are like the above , For some short-term tasks , For example, delete the virtual machine , Unwanted Scheduler service ,API Tell... Through message queue Compute Delete the specified virtual machine ,Compute adopt Conductor Updating the database completes the business process .
Nova Internal detailed services :
1、nova-all: Used to start all Nova Auxiliary scripts for services , among API Service as WSGI Server startup
2、nova-api: Externally provided REST API service , At present, there are two API service ,nova-api-metadata and nova-api-os-compute.nova-api According to the configuration file /eyc//nova/nova.conf Of enable_apis Option settings to start both services
3、nova-api-metadata: Accept virtual machine instances metadata( Metadata ) Related requests . At present, this part of the work is carried out by Neturon complete ( Only when deployed on multiple computing nodes , And use nova-network Only in the case of nova-api-metadata API service ).
4、nova-api-os-compute:OpenStack API service .
5、nova-cells:Cell The module allows the user without affecting the existing OpenStack Under the premise of cloud environment , Enhanced lateral expansion 、 Large scale deployment capability .Cell After the module is enabled ,OpenStack The hosts in the cloud environment are divided into groups ( Become Cell).noval-cells Be responsible for each Cell Communication between , And selecting the appropriate for a new virtual machine instance Cell( So every Cell They all need to run nova-cells service )
6、nova-cert: management X509 certificate .
7、nova-compute:Compute service
8、nova-conductor:Conductor service
9、nova-consol: Allow users to access the console of the virtual machine instance through a proxy .ps: stay G Version is nova-xvpnvncproxy replace
10、nova-novncproxy: Nova Provides novncproxy The agent supports the user to pass vnc Access virtual machine . Provide complete vnc Access functions , It involves several Nova service (nova-consoleauth Provide authentication authorization , nova-novncproxy Used to support browser based vnc client ,nova-xvpvncproxy For support based on Java Of vnc client .)
11、nova-dhcpbridge: management nova-network Of DHCP bridge
12、nova-manage: Provide many with Nova Maintenance and management related functions , Such as user creation .
13、nova-network: Provide network services , Has been Neutron replaced ( Now only in use Devstack Deploy OpenStack It will only be used when it is used nova-network)
14、nova-rootwrap: Used in OpenStack During the operation, use root Run some as shell command .
15、nova-scheduler: Scheduler service .
Nova The communication between the services in the use of AMQP Realized RPC Mechanism , among nova-compute、 nova-conductor and nova-scheduler One will be registered at startup RPC Server, and nova-api because Nova There is no service inside that will call interface it provides , So there's no need to register .
Nova API:
1、Nova API Is to access and use Nova Public interface of various services provided . As a client and Nova Between the middle layers .Nova API Pass the client's request to Nova, stay Nova After the request is processed, the processing structure is returned to the client .
2、Nova v2 API yes Nova It was born API, Always use Extension As an extension API The mechanism of .Extension The mechanism itself does not conform to OpenStack Of Development . As more and more OpenStack Deploy , Different OpenStack Deployment through Extension Mechanism to extend or tailor API, This leads to OpenStack Completely lost interoperability . There is no mechanism to handle errors correctly , This leads to some DB Layer differences are exposed to RESTful API among , It also damages OpenStack Interoperability of .
3、Nova v2.1 API Improved error handling , It covers the difference DB Differences between . The most important thing is that it introduces a new mechanism Microversion To expand Nova API. From now on Extension stay v2.1API Will be completely deleted , Final OpenStack Will have a unified API To achieve interoperability .
4、Microversion It's monotonous , Manifested as X.Y In the form of .X Only in very significant changes and effects The whole thing API Will change ( In fact, this rarely happens ), And any other API All changes need to be changed Y, Whether it's API Request , Return or semantic change . Only bug No need Microversion The change of
5、 whatever Nova API All changes need to be submitted nova-specs, It needs to be strict review To prevent unexpected changes from destroying API The compatibility of .
6、 The system has a minimum version and a maximum version number , As long as the request is within this range, it will be accepted . The minimum and maximum version numbers can be obtained by version API To query .
7、Nova API Is based on WSGI Realized .nova/api/openstack/ The bottom contains WSGI Infrastructure code , Its Some of them Nova WSGI stack As required middleware, And how to parse and distribute the core code of the request .
边栏推荐
- Sword finger offer day 1 stack and queue (simple)
- 几分钟上线一个网站 真是神器
- It's an artifact to launch a website in a few minutes
- 揭秘GaussDB(for Redis):全面对比Codis
- [turn] starting from the end, analyze in detail how to fill in the college entrance examination volunteer
- Back test of quantitative trading - example of futures CTA strategy (tqzfuturerenkoscalpingstrategy)
- OpenStack学习笔记(二)
- Sword finger offer II 025 Adding two numbers in a linked list
- 德国举行全球粮食安全团结会议
- J2EE从入门到入土01.MySQL安装
猜你喜欢

Sword finger offer day 2 linked list (simple)

Detailed explanation of string operation functions and memory functions

爱可可AI前沿推介(6.25)

Serevlt初识

J2EE from entry to earth 01 MySQL installation

WIN10环境下配置pytorch
![[visio] solving the fuzzy problem of parallelogram in word](/img/04/8a1de2983d648e67f823b5d973c003.png)
[visio] solving the fuzzy problem of parallelogram in word

Maui's learning path (II) -- setting

Sword finger offer II 029 Sorted circular linked list

Which Chinese virtual human is better? Sullivan, IDC: Xiaobing Baidu Shangtang ranks in the first echelon
随机推荐
数据在内存中的存储相关内容
中国虚拟人哪家强?沙利文、IDC:小冰百度商汤位列第一梯队
Regular match the phone number and replace the fourth to seventh digits of the phone number with****
Configuring pytorch in win10 environment
1024水文
Sword finger offer II 032 Effective anagrams
OpenStack学习笔记-Glance组件深入了解
OpenStack学习笔记之-Nova组件深入了解
Introduction to string 18 lectures Collection 4
剑指 Offer II 025. 链表中的两数相加
數據在內存中的存儲相關內容
[flask tutorial] flask development foundation and introduction
Summary of leetcode linked list problem solving skills
Django框架——缓存、信号、跨站请求伪造、 跨域问题、cookie-session-token
Restful and RPC
Always maintain epidemic prevention and control and create a safe and stable social environment
深圳民太安智能二面_秋招第一份offer
Optimization of lazyagg query rewriting in parsing data warehouse
Introduction to mongodb chapter 01 introduction to mongodb
[data visualization] antv L7 realizes map visualization, drilldownlayer drill asynchronously obtains data, and suspends the warning box