一 安装 OpenStack

1. 更新 yum 源

$ yum update

2. 关闭防火墙

$ setenforce 0$ sed -i "s/^SELINUX=.*$/SELINUX=disabled/" /etc/selinux/config$ systemctl stop firewalld$ systemctl disable firewalld

3. 更新 device-mapper

$ yum update device-mapper

4. 安装 rdo

$ yum install -y http://rdo.fedorapeople.org/rdo-release.rpm

5. 安装 packstack

$ yum install -y openstack-packstack

6. 安装 openstack

需要较久时间。

$ packstack --allinone

根据 CPU 和内存大小在以下步骤可能会等待比较久的时间(笔者的配置是4C8G):

Testing if puppet apply is finished: 192.168.0.214_controller.pp  [ | ]

解决方案

如下图所示,当出现 installation completed successfull,则说明安装已经成功:

Applying 192.168.0.214_controller.pp192.168.0.214_controller.pp:                         [ DONE ]Applying 192.168.0.214_network.pp192.168.0.214_network.pp:                            [ DONE ]Applying 192.168.0.214_compute.pp192.168.0.214_compute.pp:                            [ DONE ]Applying Puppet manifests                            [ DONE ]Finalizing                                           [ DONE ]

 **** Installation completed successfully ******

Additional information: * Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS or FWaaS services. Geneve will be used as the encapsulation method for tenant networks * A new answerfile was created in: /root/packstack-answers-20201203-111803.txt * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * Warning: NetworkManager is active on 192.168.0.214. OpenStack networking currently does not work on systems that have the Network Manager service enabled. * File /root/keystonerc_admin has been created on OpenStack client host 192.168.0.214. To use the command line tools you need to source the file. * To access the OpenStack Dashboard browse to http://192.168.0.214/dashboard .Please, find your login credentials stored in the keystonerc_admin in your home directory. * The installation log file is available at: /var/tmp/packstack/20201203-111800-63RjqK/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20201203-111800-63RjqK/manifests

7. 查看默认 admin 账号的用户名和密码

$ cat /root/keystonerc_admin
unset OS_SERVICE_TOKEN    export OS_USERNAME=admin    export OS_PASSWORD='849136cb6d22409f'    export OS_REGION_NAME=RegionOne    export OS_AUTH_URL=http://192.168.0.214:5000/v3    export PS1='[\u@\h \W(keystone_admin)]\$ '

export OS_PROJECT_NAME=adminexport OS_USER_DOMAIN_NAME=Defaultexport OS_PROJECT_DOMAIN_NAME=Defaultexport OS_IDENTITY_API_VERSION=3

8. 访问URL

http://192.168.0.214

使用第7步获取的用户名 OS_USERNAME 字段和密码 OS_PASSWORD 字段登录:



9. 创建一个用户



二 使用Swift

1. 获取token

下面介绍如何构建 HTTP 请求和 OpenStack Swift 通信,我们使用 postman 工具模拟发送的请求。Postman 是 Google 开发的一款功能强大的网页调试和发送 HTTP 请求的工具,它可以发送任何类型的 HTTP 请求,比如 GET,POST,PUT,HEAD,DELETE 等,附带任何数量的参数和 HTTP header,可支持不同类型的认证机制(basic,digest,OAuth),一款用于模拟 http 请求的软件,能够方便我们调试 http 请求,它既可以以 Chrome 浏览器插件的形式存在,也可以是独立的应用程序存在。可以访问 Postman 官网了解更多信息,官方网站:https://www.getpostman.com/,Postman安装方法不再介绍,本文默认用户已经安装好了此软件。

访问 OpenStack Swift 需要先向 keystone 主机获取访问权限,然后使用获取到的 token 访问 swift 的代理节点。

使用 POST 方法,向 http://ip:5000/v3/auth/tokens 发送请求。Header 的 Content-Type 字段类型为 application/json。在 requestBody 中填写以下内容,其中 name 和 password 是需要根据实际情况填写的部分,发送的 HTTP 请求格式如下:

http://192.168.0.214:5000/v3/auth/tokens

{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "iuskye","domain": {"name": "Default"},"password":"12345678"}}}}}

responseBody 的 header 中的 X-Subject-Token 字段就是服务器返回的 token:

gAAAAABfyGbkSI9XKevkxBSneocJtf0fbUQkH-EtPhGWT19hdVGJtwFpkoCIjiBI-AJD90ZzVYjO6-eEpGy4Ku3igsnwfJjR0IMzeWJc05v3xItz446NpF66UE9i_lQJpJkH2kGz5s3FwaL6uw3l1tbfC5ThT-uYUEXSeC5Fd3GSQIFsKn9Z0Pg

token 的有效期在 /etc/keystone/keystone.conf 文件中的 [token] 下设置,单位为秒。如下图所示,现在的 token 有效期是一小时:

expiration=3600

2. 创建容器

打开 openstack,在菜单栏中选择“访问API”可以看到 API 的 URL 接口。从下图中可以看到 object storage(对象存储)的访问 url 接口地址是 http://192.168.0.214:8080/v1/AUTH_dcdd4e8ba5a7412b8250474e21b8d0e7:


使用 Postman 工具构建创建容器的 HTTP 请求,如下图:


网页上可以看到容器已经创建成功:


3. 上传文件

使用 Postman 工具,使用下面 url,用 put 方法向自己创建的 iuskye 账户的 xiaoliutest 容器中添加一个 swift-api.png 文件:

http://192.168.0.214:8080/v1/AUTH_dcdd4e8ba5a7412b8250474e21b8d0e7/xiaoliutest/swift-api.png



其中 AUTH_dcdd4e8ba5a7412b8250474e21b8d0e7 是账户 iuskye,xiaoliutest 是容器名,swift-api.png 是对象名(可以加子路径,例如 uploadfolder/swift-api.png),在 body 中选择类型为 binary 并添加文件,在 header 中添加 X-Auth-Token 字段,值为 token。

成功后可以看到文件已成功上传:


postman安装路径_OpenStack Swift 安装及使用相关推荐

  1. java apk安装路径_android apk安装过程源码解析

    前言: 前一篇博客分析了一下PackageManagerService是如何解析apk的以及我们如何解析未安装apk中的androidManifest.xml文件.解析完肯定要安装的,索性写一篇关于a ...

  2. python安装路径查看_查看python安装路径及pip安装的包列表及路径

    一.Linux系统 查看Python路径 whereis python 此命令将会列出系统所安装的所有版本的Python的路径效果如下: 使用以下命令可分别查看Python2,Python3的安装路径 ...

  3. linux的mysql装在哪了,Linux怎么查看软件安装路径 查看mysql安装在哪

    Linux怎么查看软件安装路径 查看mysql安装在哪 更新时间:2019-05-10 15:32 最满意答案 方法有几种, 1.查询所有文件 这种方法最暴力,就是从根目录下面搜索mysql,这种方法 ...

  4. python查看包的安装路径_查看python安装路径及pip安装的包列表及路径

    一.Linux系统 查看Python路径 whereis python 此命令将会列出系统所安装的所有版本的Python的路径效果如下: 使用以下命令可分别查看Python2,Python3的安装路径 ...

  5. 查看python安装路径以及pip安装的包列表及路径

    1. 查看python路径 终端输入命令: whereis python 假设你的电脑上同时安装了python2和python3,可以使用使用以下命令分别查看其安装路径: whereis python ...

  6. 安装jdk时更改java安装路径_JDK下载安装步骤

    1.官网下载JDK 1.1    下载地址:https://www.oracle.com/java/technologies/javase-downloads.html 1.2    点击下图中JDK ...

  7. python安装路径,pip安装的包以及pip的安装路径在哪?

    1.window下命令where python linux下命令whereis python 2.查看pip安装了多少包pip list 3.使用pip安装完包后,只需再执行一次命令pip insta ...

  8. pythonqt5安装路径配置_PyQt5 安装与环境配置方法图解详细教程

    PyQt5 是用来创建Python GUI应用程序的第三方工具包,它不仅与Python有着良好的兼容性,还可以通过可视化拖拽的方式进行窗体的创建,提高开发人员的工作效率,因此深受开发人员的喜爱.作为一 ...

  9. 查看 Python 安装路径和已安装的库

    第三方库位置一般位于 %Python 安装路径%\lib\site-packages 方法一.命令行 在 CMD 等控制终端中输入 pip list 方法二.文件资源管理器 在 Python 命令行窗 ...

最新文章

  1. 代码实战 | 用LeGO-LOAM实现地面提取
  2. 初步了解Linux proc文件系统
  3. Python操作Memcache
  4. Java中static final用法小结
  5. 动态添加select2input没样式_MIUI10壁纸升级:桌面动效壁纸与动态壁纸的前世今生...
  6. 签名相关文件是公司机密,在专机上由专人进行操作
  7. (转)是时候说说Pivotal这个富二代了!
  8. Unity3D脚本语言的类型系统
  9. oj1047: 对数表
  10. 给初学编程的人的忠告
  11. signature=85eac1a0ae03db8a2d0f8ec439d1203b,Flashes
  12. Android三级缓存机制工具类的实现
  13. 加一(Java求解)
  14. java计算机毕业设计乐多多宠物店网站源代码+数据库+系统+lw文档
  15. 天池大数据竞赛第一名,上海交通大学人工智能实验室如何用AI定位肺结节
  16. 滴滴云技术沙龙:AI在“出行”和“云”的探索和应用
  17. 盘点cg设计师遇到的远程办公难题以及解决办法
  18. Linux无法初始化sftp协议,winscp:无法初始化SFTP协议。主机是SFTP服务器吗?
  19. 2011年最新企业offer(待遇)比较(已知148家)
  20. Qt 读取多行文本框中的内容

热门文章

  1. 在Eclipse中运行hadoop程序
  2. sqlplus环境配置(login.sql)
  3. 推荐系统(工程方向)-策略平台
  4. 基于 Flink+Iceberg 构建企业级实时数据湖 | 附 PPT 下载
  5. javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册
  6. Spring Boot集成JPA的Column注解命名字段无效的问题
  7. kdump和crash的配置方法与内核故障原因分析(一)
  8. html5/css3响应式布局介绍及设计流程
  9. 【168天】黑马程序员27天视频学习笔记【Day07】
  10. 只显示隐藏文件 显示指定目录下的目录