项目三OpenStack基础环境配置与API使用

2024-06-20 04:36

本文主要是介绍项目三OpenStack基础环境配置与API使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

任务一  了解OpenStack基础环境配置

1.1 •数据库服务器

1.2 •消息队列服务

AMQP系统的组成

任务二  了解并使用OpenStack API

2.1 •什么是RESTful API

RESTful API 是目前比较成熟的 一套Internet应用程序的API软件架构
表现 层( Representation )是指资源的外在表现形式
URI 指向资源实体,但是并不能代表其表现形式。资源可以有多种表现 形式。
客户端和服务器之间传递的是资源的表现 形式。
REST 要求必须通过统一的接口来对资源执行各种操作
REST 是所有 Web 应用都应该遵守的架构设计指导原则

2.2 •OpenStackRESTful API

OpenStack 各个项目都提供了 RESTful 架构的 API 作为 对外提供的接口
API 请求示例流程

1)客户端通过HTTP发送请求,调用openstack server list命令。

2)路由模块收到HTTP请求后,将这个请求分派给对应的控制器(Controller),并且绑定一个操作(Action)。

3)每个控制器都对应一个RESTful资源,控制器是对应资源的操作集合

通用 的用户管理 API 示例

  GET /v3/users:获取所有用户的列表。

  POST /v3/users:创建一个用户。

  GET /v3/users/<UUID>:获取一个特定用户的详细信息。

  PUT /v3/users/<UUID>:修改一个用户的详细信息。

  DELETE /v3/users/<UUID>:删除一个用户。

完整 RESTful Web API 包括 3 要素
资源 地址与资源的 URI
传输 资源的表现 形式

                                     对资源的操作

2.3 •OpenStack的认证与API请求流程

1)为云管理员提供的身份端点请求一个认证令牌。

2)如果请求成功,服务器会返回一个认证令牌。

3)发送API请求,在X-Auth-Token头部需包含上一步返回的认证令牌

4)如果遇到未授权(401)的错误,则需重新请求另一个令牌。

2.4 •调用OpenStack API的方式

cURL 命令
OpenStack Python SDK
Ø 所有 OpenStack 命令行工具都是基于 Python SDK 实现的。
Ø OpenStack 兼容 Amazon EC2 API ,能够用于 OpenStack Amazon 两套系统之间的迁移。
OpenStack 命令行 工具
Ø 一个 OpenStack 项目都有一个用 Python 编写的命令行 客户端。
Ø 个统一的命令行工具 openstack 可以取代 各项目的命令行客户端。
OpenStack 仪表

2.5 •获取OpenStack认证令牌

1导出环境变量

OS_PROJECT_NAME(项目名

OS_PROJECT_DOMAIN_NAME(项目域名

OS_USERNAME(用户名

OS_PASSWORD(密码

OS_USER_ DOMAIN_NAME(用户域名

2)运行cURL命令向OpenStack云平台请求一个令牌。

环境 变量 OS_AUTH_URL 表示 OpenStack 认证端点的 URL 地址
请求成功返回 Created 201 )响应代码和一个令牌( X-Subject-Token 响应头的值)
响应体含有 一个 token 类型的 对象。

2.6 •OpenStack云平台发送API请求

1)导出环境变量OS_TOKEN,将其值设为令牌ID

2)导出环境变量OS_PROJECT_NAME

export OS_PROJECT_NAME=demo

3)导出环境变量OS_COMPUTE_API

export OS_COMPUTE_API=http://192.168.199.31:8774/v2.1

4)访问计算服务API,列出可用的实例类型。

[root@node-a ~(keystone_demo)]# curl -s -H "X-Auth-Token: $OS_TOKEN"   $OS_COMPUTE_ API/servers   | python -m json.tool

任务三  使用OpenStack命令行客户端

3.1 •为什么要使用命令行操作OpenStack

命令行 往往可以使用更多的参数,而且使用更为灵活
通常 命令行操作返回结果更快,操作效率更 高。
命令行 提供的命令还可以在脚本中使用,以实现批处理操作,提高工作效率

★★命令行操作不够直观,不适合为普通云用户提供服务,通常是云管理员使用命令行进行配置、管理和测试等工作。

3.2 •进一步了解OpenStack客户端

3.3 •openstack命令的语法

语法格式

openstack [<全局选项>] <命令> [<命令参数>]

获取 可用的子命令列表。

openstack --help

要查看某一子命令的说明 信息。

openstack help <命令>

显示 Identity v3 的命令集。

openstack --os-identity-api-version 3 --help

对于内容较长的命令,可以使用换行符 \ 进行换行。

3.4 •执行openstack命令所需的认证

openstack 使用与 OpenStack 各项目自有命令行界面类似的认证 模式。

export OS_AUTH_URL=<用于认证的URL地址>

export OS_PROJECT_NAME=<项目名>

export OS_USERNAME=<用户名>

export OS_PASSWORD=<密码

openstack 能使用由 keystoneclient 库提供的不同类型的认证插件
通过 -- os -token -- os-url 选项(或 OS_TOKEN OS_URL 环境变量 )使用 Keystone 项目的服务 令牌进行认证。
使用 -- os -token -- os-url 选项自动选择令牌端点( token_endpoint )认证 类型。
使用 -- os -auth- url -- os -username 选项则会选择密码认证类型。

3.5 •云管理员通过openstack命令管理OpenStack云平台

云管理员使用 openstack 命令的示例 步骤

1执行命令加载云管理员admin的环境脚本。

[root@node-a ~(keystone_demo)]# source keystonerc_admin

2)通过openstack命令调用身份服务API来列出所有的项目。

[root@node-a ~(keystone_admin)]# openstack project list

3)通过openstack命令调用身份服务API来查看services项目的详细信息。

[root@node-a ~(keystone_admin)]# openstack project show services

3.6 普通云用户通过openstack命令使用OpenStack云服务

通过创建 虚拟机 实例来 示范普通云用户如何使用 openstack 命令

1)加载云用户demo的环境脚本。

[root@node-a ~]# source keystonerc_demo

2)调用计算服务API,列出该用户所关联的项目和当前可用的镜像。

[root@node-a ~(keystone_demo)]# openstack image list

3)列出可用的实例类型(flavors)。

[root@node-a ~(keystone_demo)]# openstack flavor list

4)创建一个实例。

[root@node-a ~(keystone_demo)]# openstack server create --image cirros --flavor 1 Cirros_VM1

这篇关于项目三OpenStack基础环境配置与API使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1077111

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p