通过CLI使用openstack

交互式CLI

  1. 设置环境变量
    在stack里找到以bash_completion为后缀的文件存放地址,设置环境变量。本人的存放地址为/opt/stack/nova/tools/nova-manage.bash_completion
    故执行source /opt/stack/nova/tools/nova-manage.bash_completion
  2. 以demo身份登录
    执行命令:source openrc demo demo
  3. 通过镜像创建卷
    1)查看可用镜像:openstack image list
    2)创建卷:openstack volume create --size 1 --image 84d08b3f-4173-4e6b-a0e1-c6c3d00da37d v1,–image后面的参数是1)中查看的可用镜像的ID,最后一个参数v1是卷的名字。
  4. 使用卷创建虚拟机
    1)使用命令:nova flavor-list查看flavor ID,这里选了m1.nano的ID
    2)使用命令:neutron net-list查看可用网络ID,这里选了private的网络ID
    3)使用命令:nova boot --flavor 42 --boot-volume=cce279ee-2ba8-41c0-86e4-42c7cf713407 --nic net-id=d885ad48-f25f-40b2-8b45-ed9e5a126c8c s1创建虚拟机
  5. 启动虚拟机
  6. 通过server ssh访问虚拟机
    1)执行命令:openstack security group rule create default \ --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0创建ssh安全规则
    2)执行命令:neutron floatingip-create public创建浮动ip
    3)执行命令:openstack server add floating ip s1 172.24.4.98绑定浮动ip,其中,s1为实例的名称,172.24.4.98为浮动ip
    4)执行命令:ssh cirros@172.24.4.98,输入密码cubswin:)

Shell脚本

  1. 利用CLI,编写Shell脚本,用循环语句创建多台虚拟机并启动。
    这里贴个自己写的辣鸡小脚本
#! /bin/bash

#用镜像创建3个卷
for i in $(seq 1 3)
do 
    openstack volume create --size 1 --image 84d08b3f-4173-4e6b-a0e1-c6c3d00da37d v$i

    echo
done
#将新建的卷的id存入数组id中
id=$(openstack volume list -c ID)
array=($id)
#从新建的卷创建3个实例
for ((i=0,j=1;i<${#array[@]};i++))
do
    echo ${array[$i]}
    nova boot --flavor 42 --boot-volume=${array[$i]} --nic net-id=d885ad48-f25f-40b2-8b45-ed9e5a126c8c s$j
    if [ $? -eq 0 ]; then
        j=$((j+1))
    else
        echo "failed"
    fi
done

# neutron floatingip-create public
# neutron floatingip-associate
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值