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

news2024/11/22 21:33:58

任务一  了解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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1840619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb项目配置教程

将你的项目&#xff08;只有代码的文件&#xff0c;不是整个文件&#xff09;拖入idea 找到数据库配置代码&#xff08;一般在Util包里面&#xff0c;或者是properties配置文件&#xff09;并将密码修改为你的数据库密码。 点击Edit Configurations 点击Configure&#xff0…

突破数据存储瓶颈!转转业财系统亿级数据存储优化实践--图文解析

突破数据存储瓶颈&#xff01;转转业财系统亿级数据存储优化实践–图文解析 原文链接&#xff1a;https://juejin.cn/post/7358704806779437097 原文作者&#xff1a;转转技术团队 业财系统&#xff1a;业务和财务一体化系统 与传统财务记账不同&#xff0c;一笔金额不再是…

LED电子看板在提升企业数字化管理的应用价值

本文详细探讨 LED 电子看板在企业数字化管理中的应用价值&#xff0c;包括实时数据展示、可视化管理、提高生产效率、优化决策等方面&#xff0c;通过实际案例分析&#xff0c;阐述了其对企业发展的重要性。在当今数字化时代&#xff0c;企业管理面临着越来越多的挑战和机遇。为…

企业IT资源使用共享云桌面集中管理的优势

随着信息技术的飞速发展&#xff0c;企业面临着日益增长的IT资源需求和管理挑战。为了解决这一问题&#xff0c;越来越多的企业开始采用云桌面集中管理方案&#xff0c;以实现IT资源的共享和优化。 为保持企业各部门信息化和数字化业务顺利运转&#xff0c;IT需要耗费大量支持…

【BFS算法】广度搜索·由起点开始逐层向周围扩散求得最短路径(算法框架+题目)

0、前言 深度优先搜索是DFS&#xff08;Depth Frst Search)&#xff0c;其实就是前面所讲过的回溯算法&#xff0c;它的特点和它的名字一样&#xff0c;首先在一条路径上不断往下&#xff08;深度&#xff09;遍历&#xff0c;获得答案之后再返回&#xff0c;再继续往下遍历。…

使用SQLite

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 与许多其他数据库管理系统不同&#xff0c;SQLite不是一个客户端/服务器结构的数据库引擎&#xff0c;而是一种嵌入式数据库&#xff0c;它的数据库就…

微量氧传感器在3D打印中的应用

3D打印为什么需要监测氧气&#xff1f; 金属 3D 打印过程涉及使用激光技术将细金属粉末一层一层地熔合在一起。在制造零件的同时将杂质风险降至比较低是金属增材制造行业面临的主要挑战。金属 3D 打印机通常将其原料送入惰性环境中&#xff0c;以消除污染并防止质量问题。氩气…

【自撰写】【国际象棋入门】第6课 常见术语分析(一)吃双和抽将

第6课 常见术语分析&#xff08;一&#xff09;吃双和抽将 本次课中&#xff0c;我们介绍几种最为常见和常用的&#xff08;单步棋形成&#xff09;的局面、术语并对其进行简单的分析。一般说来&#xff0c;这些局面都会给予一方以“立竿见影”的优势&#xff0c;或者引向之后…

瑞尼克定制聚四氟乙烯布氏漏斗配抽滤瓶四氟抽滤装置药厂

一、产品介绍 布氏漏斗是实验室中使用的一种仪器&#xff0c;用来使用真空或负压力抽吸进行过滤。布氏漏斗可代替陶瓷布氏漏斗&#xff0c;避免碎裂&#xff0c;聚四氟乙烯材质的布氏漏斗性强&#xff0c;使用真空或负压力抽吸进行过滤也可与吸滤瓶配套&#xff0c;用于无机制…

window 卸载应用商店程序

# 使用Get-AppxPackage获取所有应用程序 # 使用Remove-AppxPackage PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64__qbz5n2kfra8p0

2024请收好这一份全面--详细的AI产品经理从业指南

前言 入行人工智能领域这段时间以来&#xff0c;从零到一把AI推荐系统产品化搭建了起来&#xff0c;也与很多同行AI产品经理小伙伴建立了联系。AI产品经理工作内容各异&#xff0c;不同AI产品化生命周期中更是大为不同&#xff0c;但对想入行AI产品经理的小伙伴来讲&#xff0…

聊一聊生成式AI

生成式AI&#xff08;Generative AI&#xff09;是指一类能够自主创造新内容的人工智能技术&#xff0c;这些内容可以是文本、图像、音频、视频等。与传统的分析性或分类性AI系统不同&#xff0c;生成式模型的主要任务不是对现有数据进行分类或预测&#xff0c;而是生成全新的、…

【C语言 || 排序】希尔排序

文章目录 前言1.希尔排序1.1 直接插入排序1.2 直接插入排序的实现1.2.1 直接插入排序的代码实现 1.3 直接插入排序的时间复杂度1.4 希尔排序1.4.1 希尔排序概念1.4.1 希尔排序的代码实现 前言 1.希尔排序 1.1 直接插入排序 在写希尔排序之前&#xff0c;我们需要先了解直接插入…

电压模式R-2R DAC的工作原理和特性

本文将探讨电压模式R-2R DAC结构。 在本文中&#xff0c;我们将探索什么是R-2R DAC以及如何实现它们。 首先&#xff0c;我们将简要回顾一下开尔文分压器DAC。这种结构很简单&#xff0c;但它们需要大量的电阻和开关来实现高分辨率DAC。这个问题的一个解决方案是称为R-2R DAC…

【python】用代码实现2024中科大强基计划数学科目第一题

题目&#xff1a; 已知正整数a,b,c满足10a11b12c123,&#xff0c;则&#xff08;a,b,c&#xff09;的组数是 思路&#xff1a; 为了找出满足等式 10a 11b 12c 123 的正整数三元组 (a, b, c) 的数量&#xff0c;我们可以使用Python编写一个简单的循环来遍历可能的 a、b 和…

哪种考勤机好用,常见好用的考勤机种类

哪种考勤机好用&#xff0c;常见好用的考勤机种类 用考勤机完成上下班打卡制度&#xff0c;极大地为人事对公司的管理提供了便利。不同种类的考勤机均有各自的长处&#xff0c;那么究竟哪种考勤机比较好用呢&#xff1f;其中&#xff0c;智能云考勤机能够实现异地手机打卡&…

推荐一个Python的前端框架Streamlit

WHY&#xff0c;为什么要用Streamlit 你是不是也想写一个简单的前端界面做些简单的展示和控制&#xff0c;不想写html、css、js&#xff0c;也用不到前后端分离&#xff0c;用不到特别复杂的Flask、Django等&#xff0c;如果你遇到类似这样的问题&#xff0c;我推荐你试试Stre…

Linux下调试代码——gdb的使用

1. 文件准备&#xff1a; 测试代码&#xff1a; Makefile文件&#xff1a; 执行结果&#xff1a; 此时&#xff0c;我们的结果是存在问题的&#xff0c;即最终结果少了100。现在我们用gdb来调试它。 我们发现我们还没有安装gdb&#xff0c;这里安装一下。 2. 环境准备&#…

CUDA系列-Mem-9

这里写目录标题 Static Architecture.Abstractions provided by CUSW_UNIT_MEM_MANAGERMemory Object (CUmemobj) Memory Descriptor(CUmemdesc)Memory Block(CUmemblock)Memory BinsSuballocations in Memory BlockFunctional description Memory Manager 你可能觉得奇怪&…

MacOS之解决:开盖启动问题(七十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…