Compute API 是 RESTful HTTP 服务,提供管理虚机的能力。

虚机可能有不同的内存大小,CPU数量,硬盘大小,能够在几分钟之内创建出来。和虚机的交互,可以通过Compute API编程实现。

用户需要知道的概念

  • Server

    A virtual machine (VM) instance, physical machine or a container in the compute system. Flavor and image are requisite elements when creating a server. A name for the server is also required. 一个虚拟机实例,物理机或者容器。规格,镜像和名字是创建Server必须指定的元素。

    For more details, such as server actions and server metadata, please see: Server concepts

  • Flavor 规格

    Virtual hardware configuration for the requested server. Each flavor has a unique combination of disk space, memory capacity and priority for CPU time.

  • Flavor Extra Specs

    Key and value pairs that can be used to describe the specification of the server which more than just about CPU, disk and RAM. For example, it can be used to indicate that the server created by this flavor has PCI devices, etc.

    For more details, please see: Flavor Extra Specs and Image Properties

  • Image 镜像

    A collection of files used to create or rebuild a server. Operators provide a number of pre-built OS images by default. You may also create custom images from cloud servers you have launched. These custom images are useful for backup purposes or for producing “gold” server images if you plan to deploy a particular server configuration frequently.

  • Image Properties 镜像属性

    Key and value pairs that can help end users to determine the requirements of the guest os in the image.

    For more details, please see: Flavor Extra Specs and Image Properties

  • Key Pair

    An ssh or x509 keypair that can be injected into a server at it’s boot time. This allows you to connect to your server once it has been created without having to use a password. If you don’t specify a key pair, Nova will create a root password for you, and return it in plain text in the server create response.

  • Volume 云硬盘

    A block storage device that Nova can use as permanent storage. When a server is created it has some disk storage available, but that is considered ephemeral, as it is destroyed when the server is destroyed. A volume can be attached to a server, then later detached and used by another server. Volumes are created and managed by the Cinder service. For additional info, see Block device mapping

  • Quotas 配额

    An upper limit on the amount of resources any individual tenant may consume. Quotas can be used to limit the number of servers a tenant creates, or the amount of disk space consumed, so that no one tenant can overwhelm the system and prevent normal operation for others. Changing quotas is an administrator-level action. For additional info, see Quotas

  • Rate Limiting

    Please see Limits

  • Availability zone 可用域(虚机可以被创建在哪些服务器上)

    A grouping of machines that can be used to control where a new server is created. There is some confusion about this, as the name “availability zone” is used in other clouds, such as Amazon Web Services, to denote a physical separation of server locations that can be used to distribute cloud resources for fault tolerance in case one zone is unavailable for any reason. Such a separation is possible in Nova if an administrator carefully sets up availability zones for that, but it is not the default.

管理员需要知道的概念

Services

Services are provided by Nova components. Normally, the Nova component runs as a process on the controller/compute node to provide the service. These services may be end-user facing, such as the OpenStack Compute REST API service, but most just work with other Nova services. The status of each service is monitored by Nova, and if it is not responding normally, Nova will update its status so that requests are not sent to that service anymore. The service can also be controlled by an Administrator in order to run maintenance or upgrades, or in response to changing workloads.

  • nova-osapi_compute

    This service provides the OpenStack Compute REST API to end users and application clients.

  • nova-metadata

    This service provides the OpenStack Metadata API to servers. The metadata is used to configure the running servers.

  • nova-scheduler

    This service provides compute request scheduling by tracking available resources, and finding the host that can best fulfill the request.

  • nova-conductor

    This service provides database access for Nova and the other OpenStack services, and handles internal version compatibility when different services are running different versions of code. The conductor service also handles long-running requests.

  • nova-compute

    This service runs on every compute node, and communicates with a hypervisor for managing compute resources on that node.

Services Actions

enable, disable, disable-log-reason

The service can be disabled to indicate the service is not available anymore. This is used by administrator to stop service for maintenance. For example, when Administrator wants to maintain a specific compute node, Administrator can disable nova-compute service on that compute node. Then nova won’t dispatch any new compute request to that compute node anymore. Administrator also can add note for disable reason.

Hosts

Hosts are the physical machines that provide the resources for the virtual servers created in Nova. They run a hypervisor (see definition below) that handles the actual creation and management of the virtual servers. Hosts also run the Nova computeservice, which receives requests from Nova to interact with the virtual servers on that machine. When compute service receives a request, it calls the appropriate methods of the driver for that hypervisor in order to carry out the request. The driver acts as the translator from generic Nova requests to hypervisor-specific calls. Hosts report their current state back to Nova, where it is tracked by the scheduler service, so that the scheduler can place requests for new virtual servers on the hosts that can best fit them.

Host Actions

host action is one that affects the physical host machine, as opposed to actions that only affect the virtual servers running on that machine. There are three ‘power’ actions that are supported: startupshutdown, and reboot. There are also two ‘state’ actions: enabling/disabling the host, and setting the host into or out of maintenance mode. Of course, carrying out these actions can affect running virtual servers on that host, so their state will need to be considered before carrying out the host action. For example, if you want to call the ‘shutdown’ action to turn off a host machine, you might want to migrate any virtual servers on that host before shutting down the host machine so that the virtual servers continue to be available without interruption.

Hypervisors

A hypervisor, or virtual machine monitor (VMM), is a piece of computer software, firmware or hardware that creates and runs virtual machines.

In nova, each Host (see Hosts) runs a hypervisor. Administrators are able to query the hypervisor for information, such as all the virtual servers currently running, as well as detailed info about the hypervisor, such as CPU, memory, or disk related configuration.

Currently nova-compute also supports Ironic and LXC, but they don’t have a hypervisor running.

Migrations

Migrations are the process where a virtual server is moved from one host to another. Please see Server concepts for details about moving servers.

Administrators are able to query the records in database for information about migrations. For example, they can determine the source and destination hosts, type of migration, or changes in the server’s flavor.

Compute API 关键概念 详解的更多相关文章

  1. 供应商API补充(详解EBS接口开发之供应商导入)(转)

    原文地址  供应商导入的API补充(详解EBS接口开发之供应商导入) --供应商 --创建 AP_VENDOR_PUB_PKG.Create_Vendor ( p_api_version IN NUM ...

  2. JWT基础概念详解

    JWT基础概念详解 JWT介绍 之前我们文章讲过分布式session如何存储,其中就讲到过Token.JWT.首先,我们来回顾一下使用Token进行身份认证. 客户端发送登录请求到服务器 服务器在用户 ...

  3. 1-Hyperledger Fabric概念详解

    目录 一.Hyperledger Fabric概述 二.基本术语 1.共享账本ledger 2.通道Channel 3.组织Org 4.智能合约Chaincode 5.背书Endorse 6.各种节点 ...

  4. 如何设计提高服务API的安全性(二)API密钥方式详解

    在上文已经讲述了基础介绍,这篇文章详细讲解API密钥方式. 利用何种加密方式呢? 经过上面加密算法的理解,单向加密不仅性能高,而且有压缩性,即长度一致,有效减少网络传输过程中的字节大小.适合我们这种调 ...

  5. SpringCloud微服务项目实战 - API网关Gateway详解实现

    前面讲过zuul的网关实现,那为什么今天又要讲Spring Cloud Gateway呢?原因很简单.就是Spring Cloud已经放弃Netflix Zuul了.现在Spring Cloud中引用 ...

  6. java入门---对象和类&概念详解&实例

        Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载     这篇文章,我们主要来看下: 对象:对象是类的一个实例(对象不是找个女朋友),有状态 ...

  7. Android屏幕密度(Density)和分辨率概念详解

    移动设备有大有小,那么如何适应不同屏幕呢,这给我们编程人员造成了很多困惑.我也是突然想到这些问题,然后去网上搜搜相关东西,整理如下.   首先,对下面这些长度单位必须了解. Android中的长度单位 ...

  8. Storm 学习之路(二)—— Storm核心概念详解

    一.Storm核心概念 1.1 Topologies(拓扑) 一个完整的Storm流处理程序被称为Storm topology(拓扑).它是一个是由Spouts 和Bolts通过Stream连接起来的 ...

  9. Storm 系列(二)—— Storm 核心概念详解

    一.Storm核心概念 1.1 Topologies(拓扑) 一个完整的 Storm 流处理程序被称为 Storm topology(拓扑).它是一个是由 Spouts 和 Bolts 通过 Stre ...

随机推荐

  1. CI隐藏入口文件index.php

    1.需要apache打开rewrite_module,然后修改httpd.conf的AllowOverride none 为AllowOverride All(里面,不同的环境目录不同) 2.在CI的 ...

  2. kali安装结束重启黑屏?

    很多人碰到过kali在安装结束后自动重启,屏幕黑屏就显示一个光标. 解决办法: 安装最后一步,不要选择默认项 Enter device manually 改选第二项.....具体什么忘记了. 即可解决 ...

  3. java-java技术链接

    java基础知识总结大全:https://blog.csdn.net/hao19980724/article/details/83792516 Java核心技术梳理-集合:https://mp.wei ...

  4. Maven的SNAPSHOT版本找不到

    有时一个SNAPSHOT版本的包,明明打包部署到私服了,却还是报错找不到,比如: [WARNING] The POM for com.foo:bar:jar:0.4.0-20130404.093655 ...

  5. Mysql 库表操作初识

    Mysql 库表操作初识 终端登录mysql 这里只演示win下, cmd 终端. 至于怎么在win下, linux, mac安装, 感觉这是一个入门级的百度搜索问题, 安装都搞不定, 确实有点尴尬, ...

  6. HTMLTestRunner 用PyCharm执行测试成功但无法生成报告问题

    在pythoncharm中运行时,运行成功,但是没有生成测试报告这个问题 代码: if __name__ == '__main__': # 创建测试套件suite suite = unittest.T ...

  7. Redis开发与运维学习笔记

    <Redis开发与运维>读书笔记   一.初始Redis 1.Redis特性与优点 速度快.redis所有数据都存放于内存:是用C语言实现,更加贴近硬件:使用了单线程架构,避免了多线程竞争 ...

  8. MongoDB 分片问题汇总

    分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介 分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分散在不同的机 ...

  9. 自定义控件LengthValidator

    1.创建自定义验证控件:新建LengthValidator类并继承BaseValidator using System; using System.Collections.Generic; using ...

  10. datagrid中的排序

    sortable的属性设置为true后就能看到标志 属性名称 属性值类型 描述 默认值 sortable boolean 如果为true,则允许列使用排序. undefined order strin ...