用OpenStack API重装系统的同时修改密码

OpenStack

       进入正题之前,先说说OpenStack是什么,作为一个菜鸟,这个我也说不清楚,但是我可以百度,下面是我百度的,我觉得理解挺正确的描述。声明一下,以下论述摘自:云计算中很火的OpenStack到底是什么?

       OpenStack并不是一个软件或一个硬件,而是无数个软件和数千个硬件,它不是云,也不是一个项目或者一个产品,不是虚拟化系统、API、用户界面,也不是一套标准。从字面上看,Open意为开放,Stack则是堆砌,OpenStack相当于许多开源组件的堆积集合,但1 + 1 > 2,其系统功能也更为强大。
       更明确的说,OpenStack实际上是一个大的调度框架,作为一种中间层存在,对不同服务器的虚拟化进行管理、调度和对接。这个框架能够为从单节点的中小企业到在全球都有数据中心的大公司提供IT基础设施。
       OpenStack由美国国家航空航天局和Rackspace合作研发,以Apache许可授权,并且是一个自由软件和开放源代码项目,任何人都可以通过Openstack自行建立和提供云端运算服务。
       从架构上看,OpenStack不是单纯一个软件,而是由以下五个相对独立的组件构成:虚拟机计算或实例启动控制设备Nova;虚拟机镜像检索及管理系统Glance,支持内置冗余及容错的对象存储机制Swift;负责用户身份服务与资源管理的Keystone;以及基于Django的仪表板接口与图形化管理前端Horizon.
       OpenStack推出旨在打造易于部署、功能丰富且易于扩展的云计算平台,其首要任务是简化云的部署过程并为其带来良好的可扩展性。从组件构成来看OpenStack有许多子项目,用于对云计算平台中的各种资源(如计算能力、存储、网络)提供敏捷管理,并提供对相应虚拟化技术的支持。

       这里面说得很清楚哈,OpenStack可以对不同服务器的虚拟化进行管理、调度和对接;任何人都可以通过Openstack自行建立和提供云端运算服务。
       而我们生活中熟悉的阿里云,腾讯云等,他们的底层都是通过OpenStack调度的;实现方式大体上可以看做2种,一种是直接调用OpenStack API,另一种是开源的集成工具。比如apache整合的libcloud,还有开源的OpenStack4J。

OpenStack平台重置密码的方式(原理)

  • inject方式,只支持Qcow2镜像格式
  • cloud-init方式
  • libvirt-set-admin-password方式

我这里就不仔细总结了,以下是引用的几篇文章(可以看引用文章的引用文章):
openstack系列–重设虚拟机实例密码几种方法
虚拟机系统密码的修改方案

       仔细的看上面的两篇文章就可以得到,我想说的相关操作原理:cloud-init
       在制作镜像时,安装cloud-init (一般都有安装),用于在创建虚拟机时通过元数据服务对虚拟机基本配置,包括常见的主机名,用户,密码等等。同时用户可以通过user_data自定义一些数据对虚拟机进行配置,可以有配置文件cloud-config或者直接给定脚本。

OpenStack API重装系统的同时修改密码

       我这里是直接通过http方式调用的OpenStack API,然后重装系统,同时重置密码。如果用OpenStack4J来‘连接’OpenStack从而调度底层的服务器,而且目前OpenStack4J的版本,对于OpenStack重装系统,还有很多参数不支持。

  • openstack4j重装系统

       openstack4j的官网demo给出的入口是:

OSCli
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值