Take you in-depth understanding of OpenStack architecture diagram

1. OpenStack architecture

Before learning the deployment and operation and maintenance of Openstack, you should be familiar with its architecture and operating mechanism. OpenStack is an open source, scalable, and flexible cloud operating system. The basic principles of its design are as follows:
■ Divide different projects according to different functions and versatility. Molecular system
Interpretation: Divide different services according to different functions, split an overall function into sub-functions, and separate services from each other, and only use APIs as a unified interactive portal to connect to each other, which is convenient for management and troubleshooting


Interpretation of communication between sub-systems in accordance with the logical plan and standardization : There will be specific/universal ways of interaction between APIs, which are isolated from each other, and each sub-function module will only interact/communication through a common API. Standardize the communication methods between different components, and each sub-function module follows some specifications for communication (API, HTTP)

■ Through the hierarchical design of the entire system architecture
Interpretation:
hierarchical (in terms of architecture as a unit), three layers:
● global components
● auxiliary components
● core components
layered with a single core service/component (inside each component):
● API ( inside each component) Preprocessing)
Positioning: Internal and external (relatively) unified interactive entrance (centralized management method)
Advantages: easy integration, convenient management, centralized
◆ Apply to keystone for the legality and authority of the certification request
◆ Issue tasks, according to the request Functional requirements, different tasks are assigned to different components to complete, unified collection of results and resources that need to be provided, integrate them together, and respond to requests
● Sub-function modules (execute specific functional processing)
● Others (rabbitmq, which carries OpenStack components Message agent for internal communication/data exchange/transmission)

Note: Message Agent
The communication between the various components and the sub-function modules can be communicated through the message queue/agent (rabbitmq)
as the carrier of component and component communication/interaction/data transmission

■ Provide a unified API interface between different functional subsystems
Interpretation:
each component interacts/communication/data transmission/call through a unified API interface

2. OpenStack conceptual architecture diagram

Insert picture description here
Analyze the architecture diagram:
divided into global components, core components, and auxiliary components in terms of architecture dimensions

■ Global components

Keystone
管理全局认证和授权的组件
Ceilometer
监控集群的状态,监控集群虚拟机的使用量
Horizon
控制台可以控制OpenStack架构内部的所有功能

■ Auxiliary components

Ironic裸金属
管理和控制基础硬件资源
Trove 管理数据库的服务
管理关系型数据库和非关系型数据库,可以存储虚拟机和各组件调用的数据,以及各种日志
Heat和Sahara
做数据的分析,编排和处理,精细化的管理

■ Core components (provide services for virtual machines/instances)

Glance
提供发现、注册和下载的镜像服务,虚拟机镜像的集中式仓库
通过虚拟机镜像创建虚拟机,对镜像进行精细化管理,提供管理镜像的服务(快照),修改镜像的元数据 
Neutron
 实现实例与实例之间以及实例与外部网络之间的通信
Cinder
  提供对Volume从创建到删除整个生命周期的管理
swift
使用普通硬件来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PBSwift属于对象存储,用于永久类型的静态数据的长期存储(如虚拟机镜像、图片存储、邮件存储和存档备份)
Nova
 负责虚拟机实例的生命周期管理、网络管理、存储卷管理、用户管理以及其他的相关云平台管理功能,支持虚拟机核心资源的横向扩展,支持虚拟机数量的横向扩展(将资源提供给虚拟机)

Summary: After the
cloud platform user is authenticated and authorized by the Keystone service, he creates a virtual machine service through the Horizon or Reset API mode. The creation process includes using the Nova service to create a virtual machine instance. The virtual machine instance uses Glance to provide mirroring services, and then uses Neutron to create a new The virtual machine assigns an IP address and incorporates it into the virtual network. After that, the volume created by Cinder is used to mount the storage block for the virtual machine. The whole process is monitored by the resources of the Ceilometer module. The volume and Glance generated by Cinder The provided image (Image) can be saved through Swift's object storage mechanism

3. OpenStack logical architecture diagram

Note: Mainly introduces the communication/dock mode of the
components in OpenStack, the communication between the components and the communication between the
sub-function modules.

Insert picture description here

■ OpenStack includes several independent components called OpenStack services. All services can be authenticated through a public identity service. Except for those commands that require administrative permissions, each service can interact through public API/HTTP

Example:
httpd bears the API, HTTPD provides a way to display web pages, and means that communication is based on HTTP.
Interpretation:
understand that
openstack is divided into multiple core components from the perspective of architecture , and the core components are only conducted through a common API Docking/communication, and each core component is managed by a corresponding user (users will be authorized)

■ Each OpenStack service is composed of several components. Contains multiple processes. All services have at least one API process, which is used to listen to API requests, preprocess these requests, and transmit them to other components of the service. Except for authentication services, the actual work is done by a specific process

■ As for the communication between processes of a service, AMQP message broker is used. The state of the service is stored in the database

Interpretation: Why use a message broker
because the OpenStack service architecture is very complex and huge, and the amount of data that needs to be processed is very large. There will be a strict division on the rate, efficiency and rationality of message delivery, so you need to use queues, AMQP message brokers To serve as an intermediate bearer, and the service of this bearer is rabbitmq

Summary:
■ Firstly, it shows the internal core components, auxiliary components, global components (which components, the function of each component)
■ How the core/auxiliary components are connected (the API is connected, the communication method can be a message agent)
■ It shows some of the core functional modules of each component (the internal layers of each component), and how the individual functional modules communicate
● API: the entrance of internal and external interaction
● Sub-function modules: perform specific functional processing
● Message agent: (carrying data , To transfer)
■ Display OpenStack native architecture (basic, no third-party functional modules)
Note: Third-party functional modules
● Components of auxiliary native architecture can be more complete and reasonable operation
● Add some functions (native architecture does not have or is imperfect Of-specific scenarios)

4. OpenStack component communication relationship

■ Communication based on AMQP protocol
● For communication between various components within each project

■ SQL-based communication
● Used for communication within each project

■ Communication based on HTTP protocol
● The communication relationship established through the API of each item, the API is
interpreted by RESTful Web API :
◆ restful
is a specification of interaction/communication, which is always connected in an HTTPS secure way
◆ Why web
Apache hosts the API and provides a web display page in the form of web page URL or URL path, because it is a point-to-point docking
◆ Why apache is
mainly because OpenStack and apache are both a modular design, adaptable Performance will be better
◆ API
components and component docking technology (point-to-point)

■ Communication through Native API
● Communication between OpenStack components and third-party software and hardware

5. OpenStack physical architecture diagram

Insert picture description here
Interpretation:
divided by function

■ Control node: control the overall situation, distribute tasks, mainly manage other nodes, and run instance resources (handle specific tasks)
● Management network: divide by the functions of the network card to manage other nodes
● Neutron: centralized management

■ Network node: Provides communication between various components within OpenStack
● Neutron: specific implementation of network resources and network functions
● Management network: accepts task scheduling/requests from control nodes, and returns data
● Data network: database service, data storage , Data docking, association and synchronization, and the data network in the computing node to associate
● External network: responsible for docking, association and integration with third-party components

■ Compute node: Responsible for specific instance creation, resource management, and refined specific operations
● Nova Hypervisor: Run specific instance
◆ Why put it on the computing node
Maximize resource saving and network bandwidth, more reasonable scheduling and use of resources
● Network plug-in Agent: In OpenStack, the specific functions of the second and third layers of the network are realized through plug-ins and agents.
● Ceilometer Agent: directed management and monitoring and statistics of resources, the resources are counted to the Ceilometer component in the control node, and specific resources are calculated Usage, and charge according to the amount
● Data network: docking with the database, storing the amount of resources used in the database
● Management network: accepting the scheduling and management of the control node

■ Storage node: Provide storage services.
Cinder: Block storage, provide persistent storage for instances, and accept the scheduling of the Nova component of the control node.
Swift: Object storage, provide mirror storage.
Data network: Supply storage resources to instances in computing nodes for use

5.1, Network Node

Realize network functions through plug-ins and agents, and divide by objects provided by services

■ Provider networks

■ Self-service networks

Note: A
network node usually requires 3 network ports, which are respectively used for communication with the control node, communication with computing and storage nodes other than the control node, and communication between external virtual machines and the corresponding network.

Insert picture description here

Insert picture description here

Summary:
● There are two types of openstack network (divided by function)
◆The first is internal network, and the second is external network
● The network function of openstack is realized through plug-ins and agents.

6. Summary

Openstack is mainly about layering and isolation, mastering the Openstack architecture diagram can have a better understanding of Openstack

Guess you like

Origin blog.csdn.net/weixin_50344814/article/details/113207878