目录
在OpenStack主机(虚拟机)上进入命令行界面,如果修改了demo账户的登录密码,需要在keystonerc_demo文件中修改OS_PASSWORD的密码为当前密码。
vi ~/keystonerc_demo
1.加载demo的环境脚本
source keystonerc_demo
2. 常用查看命令
openstack flavor list #列出可用的实例类型
openstack image list #列出可用的镜像
openstack network list #列出可用网络
openstack security group list #列出可用安全组
openstack keypair list #列出可用的密钥对
openstack project list #列出所有的项目
openstack server list #列出可用的实例
3.创建实例的命令
3.1.基于镜像来创建实例
openstack server create
--image <镜像名>
--flavor <实例类型>--key-name <密钥对>
--nic <net-id=网络ID>
--network <网络>
--security-group <安全组>
--port <端口>
--property <服务器属性>
--availanility-zone <域名>
实例名
例子:
openstack server create --image cirros --flavor 1 --key-name demo-key my-cirros
仅需指明虚拟机实例要用的镜像、实例类型ID和密钥对,而虚拟机实例所用的安全组和网络会自动使用demo项目默认提供的
创建成功:
2.基于卷来创建实例
3.2.1.创建一个基于Ubuntu的卷,大小为20GB
openstack volume create 卷名 --image 镜像名 --size 卷大小 --availability-zone 域名
例子:openstack volume create my-volume --image ubuntu --size 20 --availability-zone nova
3.2.2.创建实例
openstack server create 实例名
--config-drive true #启用配置驱动器true
--volume 卷名
--flavor ID
--key-name 密钥对名
--user-data 路径 #传入脚本文件
例子:openstack server create my-cirros --config-drive true --volume my-volume --flavor 1 --key-name demo-key --user-data ~/my-user-data.txt
创建一个名为my-cirros,并启动配置驱动器,基于my-volume卷,密钥对为demo-key,基于实例类型 ID为1,并传入脚本文件~/my_user-data.txt的实例
~/my_user-data.txt的文件内容:
#cloud-config
chpasswd:
list: |
root:123456
ubuntu:123456
expire: false
ssh_pwauth: true
#cloud-config #cloud-init会读取它开头的数据
chpasswd:
list: |
root:123456 #设置root密码
ubuntu:123456 #设置默认用户ubuntu的密码
expire: false #密码不过期
ssh_pwauth: true #启用ssh密码登录
4.管理实例
openstack server show 实例名 #查看实例详情
openstack server list #获取实例列表
openstack server start 实例名 #启动实例
openstack console url show 实例名 #可直接访问URL,查看实例的VNC会话URL
openstack server pause 实例名 #暂停实例及恢复
openstack server suspend 实例名 #挂起实例及恢复
openstack server stop 实例名 #关闭实例
openstack server reboot [--soft|--hard] 实例名
#软重启--soft:操作系统正常关闭并重启,硬重启--hard:模拟断电后加电启动
openstack server resize [--flavor <flavor>] 实例名
#调整实例大小,此操作是通过创建一个新实例,并将原实例磁盘复制到新实例中来实现的openstack server delete 实例名 #删除实例
openstack server set [--name <新名称>] [--root-password] [--state <状态> ] 实例名
#--root-password 选项用于交互式修改root账户的密码;--state 选项用于改变状态,只能取值active(活动)或(出错)
5.创建一个浮动IP
openstack floating ip create public
浮动ip地址为:172.24.4.75
6.实例绑定浮动IP地址
openstack server add floating ip 实例名 浮动IP地址
openstack server add floating ip my-cirros 172.24.4.75
6. 生成密钥对
openstack keypair create [--public-key <文件> | --private-key <文件>] 密钥对名称
例子:
openstack keypair create --public-key ~/.ssh/id_rsa.pub demo-pub
fingerprint字段表示密钥指纹
openstack keypair list #列出密钥及对应的指纹
openstack keypair show 密钥名 #查看密钥对的详细信息
6.创建一个新项目
在admin用户下才能进行此操作
openstack project create 项目名称 --description 项目描述信息 --domain 域名
例子:openstack project create my-api --description my-api-project-api-description --domain default
7.新建用户
在admin用户下才能进行此操作
openstack user create 用户 --password 密码 --project 项目
例子:openstack user create zs-api --password 123456 --project zs-p-api
8. 给新用户分配角色
openstack role add角色名或ID --user 用户名或ID --project 项目名或ID
例如:openstack role add _member_ --user zs-api --project my-api
9.添加安全组规则
openstack security group rule create --proto icmp default
#创建协议为icmp的规则openstack security group rule create --proto tcp --dst-port 22 defult
#创建协议为ssh,目的端口为22的规则
10. 创建一个新实例类型
openstack flavor create 实例类型名 --id 实例类型ID --ram 内存 --disk 根磁盘 --vcpu vcpus数
例子:
openstack flavor create m1.xsmall --id auto --ram 1024 --disk 10 --vcpus 1
新建一个实例名:m1.xsmall,实例ID:系统自动生成,内存:1024M,根磁盘大小:10G,vcpu数:1 的实例类型