http://blog.csdn.net/jmilk/article/details/51761023
目錄
前文列表
Openstack組件部署 — Overview和前期環境準備
Openstack組建部署 — Environment of Controller Node
Openstack組件部署 — Keystone功能介紹與認證實現流程
Openstack組件部署 — Keystone Install & Create service entity and API endpoints
Openstack組件部署 — keystone(domain, projects, users, and roles)
Openstack組建部署 — Glance Install
前言
網上的查閱的資料魚龍混雜、概念不明確、個性太強。所以想想還是可以翻譯一篇關於Nova的官方文檔吧,英文能力有限,望指正。:)
原文在這裏,Click Click~
Compute service overview
官檔:Use OpenStack Compute to host and manage cloud computing systems. OpenStack Compute is a major part of an Infrastructure-as-a-Service (IaaS) system. The main modules are implemented in Python.
OpenStack Compute interacts with OpenStack Identity for authentication; OpenStack Image service for disk and server images; and OpenStack dashboard for the user and administrative interface. Image access is limited by projects, and by users; quotas are limited per project (the number of instances, for example). OpenStack Compute can scale horizontally on standard hardware, and download images to launch instances.
Openstack Compute組件主要用於創建虛擬主機和管理雲計算平臺,Openstack是IaaS的重要組成部分,使用Python編程語言來實現主要的模塊。
Openstack Compute能夠與Openstack Identity service、Openstack Image service、Openstack dashboard等Openstack service進行交互。其中能夠通過Identity serivce中的Projects和Users來限制對鏡像資源的訪問,quotas限制着每一個Project中包含的Openstack service資源(EG. instances的數量)。Openstack Compute可以在標準硬件中進行水平伸縮,並且可以下載鏡像來啓動虛擬機實例。
Nova 的組件
nova-api service
Accepts and responds to end user compute API calls. The service supports the OpenStack Compute API, the Amazon EC2 API, and a special Admin API for privileged users to perform administrative actions. It enforces some policies and initiates most orchestration activities, such as running an instance.
nova-api service
能夠接收和響應用戶終端的Compute API
調用。nova-api service
支持Openstack Compute API
,Amazon EC2 API
,和一個特權用戶用於執行管理操作的Admin API
。除此之外nova-api service
還能夠強制實施一些策略和啓動大多數進程,例如:運行一個實例。
nova-api-metadata service
Accepts metadata requests from instances. The nova-api-metadata service is generally used when you run in multi-host mode with nova-network installations.
nova-api-metadata service
能夠接收來自虛擬機實例的元數據請求,當你的nova-network
在multi-host
模式下運行時,一般會同時運行nova-api-metadata service
。
nova-compute service
A worker daemon that creates and terminates virtual machine instances through hypervisor APIs. For example:
XenAPI for XenServer/XCP
libvirt for KVM or QEMU
VMwareAPI for VMware
Processing is fairly complex. Basically, the daemon accepts actions from the queue and performs a series of system commands such as launching a KVM instance and updating its state in the database.
nova-compute service
是一個通過hypervisor APIs(虛擬化層API)
來實現創建和終止虛擬機實例的守護進程,有如下hypervisor APIs
:
XenAPI for XenServer/XCP
libvirt for KVM or QEMU
VMwareAPI for VMware
nova-compute service
的處理的過程相當複雜。基本上,nova-compute service
會在queue
中接收一個動作之後,執行一連串的系統指令。例如:啓動一個KVM虛擬機實例和更新這些實例在數據庫中的狀態。
nova-scheduler service
Takes a virtual machine instance request from the queue and determines on which compute server host it runs.
nova-scheduler service
會從queue
中接收一個虛擬機實例的請求,並確定該實例能夠運行在哪一臺Compute server
中。
nova-conductor module
Mediates interactions between the nova-compute service and the database. It eliminates direct accesses to the cloud database made by the nova-compute service. The nova-conductor module scales horizontally. However, do not deploy it on nodes where the nova-compute service runs.
nova-conductor module
能夠協調nova-compute service
和database
之間的交互。nova-conductor
避免了nova-compute service
對database
的直接訪問操作。nova-conductor
模塊能夠進行水平伸縮。然而,不能夠將nov-conductor
部署在nova-compute service
運行的Node上。
nova-cert module
A server daemon that serves the Nova Cert service for X509 certificates. Used to generate certificates for euca-bundle-image. Only needed for the EC2 API.
nova-cert module
是一個Nova證書(X509 certificates
)服務的服務器守護進程。該守護進程用於爲euca-bundle-image
生成證書,只有在使用EC2 API
時,才需要這個守護進程。
nova-network worker daemon
Similar to the nova-compute service, accepts networking tasks from the queue and manipulates the network. Performs tasks such as setting up bridging interfaces or changing IPtables rules.
nova-network worker daemon
類似於nova-compute service
,從queue
中接收網絡任務,並且操縱這個網絡。執行諸如:設置bridging interfaces
或者改變IPtables rules
之類的任務。
nova-consoleauth daemon
Authorizes tokens for users that console proxies provide. See nova-novncproxy and nova-xvpvncproxy. This service must be running for console proxies to work. You can run proxies of either type against a single nova-consoleauth service in a cluster configuration.
nova-consoleauth daemon
爲控制檯代理(nova-novncproxy
、nova-xvpvncproxy
)提供的Users授予tokens
,nova-consoleauth service
必須運行在控制檯代理工作的時候。在集羣配置中,你可以爲單個nova-consoleauth service
運行兩種類型的控制檯代理。
nova-novncproxy daemon
Provides a proxy for accessing running instances through a VNC connection. Supports browser-based novnc clients.
nova-novncproxy daemon
提供一個通過VNC connection
協議來訪問正在運行中的虛擬機實例的代理服務。支持browser-based novnc client
(基於瀏覽器的客戶端)。
nova-xvpvncproxy daemon
Provides a proxy for accessing running instances through a VNC connection. Supports an OpenStack-specific Java client.
nova-xvpvncproxy daemon
提供一個通過VNC connection
來訪問正在運行中的虛擬機實例的代理服務。支持一個OpenStack-specific Java client
(Openstack特殊的Java客戶端)。
nova-spicehtml5proxy daemon
Provides a proxy for accessing running instances through a SPICE connection. Supports browser-based HTML5 client.
nova-spicehtml5proxy daemon
提供一個通過SPICE connection
協議來訪問正在運行中的虛擬機實例的代理服務。支持browser-based HTML5 client
(基於瀏覽器的HTML5客戶端)
nova-cert daemon
x509 certificates.
x509證書
nova client
Enables users to submit commands as a tenant administrator or end user.
nova client
能夠讓Tenant管理員或用戶終端提交指令。
The queue
A central hub for passing messages between daemons. Usually implemented with RabbitMQ, but can be implemented with an AMQP message queue, such as Zero MQ.
queue
是守護進程之間傳遞信息的中心樞紐。通常使用RabbitMQ
來實現,但是也可以使用AMQP
消息隊列來實現,例如:Zero MQ
。
SQL database
Stores most build-time and run-time states for a cloud infrastructure, including:
Available instance types
Instances in use
Available networks
Projects
Theoretically, OpenStack Compute can support any database that SQL-Alchemy supports. Common databases are SQLite3 for test and development work, MySQL, and PostgreSQL.
SQL database
用於存儲大多數雲基礎架構在編譯時(build-time)和運行時(run-time)的狀態。包括:
Available instance types 可用的虛擬機實例類型
Instances in use 使用中的虛擬機實例
Available networks 可用的網絡
Projects 項目
從理論上來說,Openstack Compute能夠支持任何類型的數據庫。常見的數據庫有:用於測試和開發的SQLite3
、除此之外還有MySQL
、PostgreSQL
。