如何使用命令
有两种方法
-
登录到控制节点,设置好环境变量后,使用
openstack
命令 -
在本机使用
openstack
命令使用 pip 包管理器安装 openstack client,命令如下
pip install --index-url https://mirrors.aliyun.com/pypi/simple python-openstackclient
如果没有安装 pip,可通过如下方式安装
部分 Linux 发行版可直接用包管理器安装
apt-get install python-pip
如果包管理器不带,可使用如下命令安装
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py
认证文件配置
编辑自己的配置文件
vim keystone_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD='example_password'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://ip:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
----------------------
# 注意事项
1. 可将文件名称替换为自己的账户名,类似 `keystone_user`
2. 注意替换为自己的 username、password、project、domain
开始使用
执行 source keystone_admin
命令,然后就可以执行 openstack 的相关命令了
常用命令
环境熟悉
# 查看 openstack 版本
# 查看集群内有多少台主机,哪个是控制节点,哪个是计算、网络、存储节点
# 查看计算节点
openstack hypervisor list
# 查看网络节点,可以查看 host 列的主机名
openstack network agent list
# 查看可用区
openstack availability zone list
认证相关
# 服务目录
openstack catalog list
# endpoint 列表
openstack endpoint list
# 过滤 service 的 Interface 和 URL 选项
openstack endpoint list --service nova -c Interface -c URL
# 查看用户列表
openstack user list
# domain 列表
openstack domain list
# 项目列表
openstack project list
# 查看服务列表
openstack service list
# role
openstack role list
# 查看角色分配列表,--name 表示用名字显示,更易读
openstack role assignment list --name
计算相关
信息查看
# 查看虚拟机列表
openstack server list
# 查看计算节点相关的服务列表
openstack compute service list
# 查看实例规格
openstack flavor list
# 查看密钥对
openstack keypair list
主机相关操作
# 开机、关机、重启
openstack server start vm1
openstack server stop vm1
openstack server reboot vm1
# 暂停、取消暂停
openstack server pause vm1
openstack server unpause vm1
# 挂起、取消挂起
openstack server suspend vm1
openstack server unsuspend vm1
# 调整主机的配置,可以先用 flavor list 查看都有什么配置
openstack server resize --flavor m1.small vm1
# 确认主机配置
openstack server resize confirm vm1
# 创建主机
openstack server create --image cirros --flavor m1.tiny --network net1 test
密钥对
# 创建密钥对
openstack keypair create test_key > test_key.pem
# 更改权限
chmod 600 test_key.pem
安全组
# 创建安全组
openstack security group create test_security_group --description test
镜像
# 查看镜像列表
openstack image list
# 删除镜像,将 example_img 替换为自己想要删除的镜像的名称
openstack image delete expample_img
# 创建镜像,最后的 cirros-0.4.0-x86_64 表示镜像的名字
openstack image create \
--disk-format qcow2 \
--file /tmp/cirros-0.4.0-x86_64-disk.img \
--container-format bare cirros-0.4.0-x86_64
# 修改镜像的内容
# 适用于创建镜像后,又想修改镜像内容的场景,这里以设置镜像为 public 示例
openstack image set --public fff09f9a-b481-4cde-8840-f5715997aaed
网络相关
网络相关信息查看
# 查看浮动 ip
openstack floating ip list
# 查看网络 anget
openstack network agent list
# 查看路由器
openstack router list
# 查看安全组
openstack security group list
# 查看子网
openstack subnet list
# 通过 ip 查询端口信息,后面可以加多个 ip_adress= 查询多个
neutron port-list --fixed-ips ip_address=10.2.1.100
创建网络、子网、路由器、端口
# 创建网络
openstack network create net1
# 创建网络时,可以指定网络类型
openstack network create net2 --provider-network-type vlan
# 创建子网并关联网络
openstack subnet create subnet_10_2_1_0 --network net1 --subnet-range 10.2.1.0/24
# 创建路由器
openstack router create router2
# 将路由器连接到子网
openstack router add subnet router2 subnet_10_2_1_0
# 创建端口并指定 ip,注意有些地方需要空格,有些不需要
openstack port create --network net1 --fixed-ip subnet=subnet_10_2_1_0,ip-address=10.2.1.100 port1
# 创建端口,但不指定 ip,此时,会自动分配一个 ip
openstack port create port2 --network net1
存储相关
信息查看
# 查看卷列表
openstack volume list
# 查看卷类型
openstack volume type list
创建卷
# 创建卷,需要指定 image 和 可用区
openstack volume create --image 317cc2d2-401e-4b1a-9ba4-987f35012805 --size 8 --availability-zone nova my-new-volume
# 将卷映射到实例
openstack server add volume INSTANCE_ID VOLUME_ID
注意事项
-
使用 show 查看详细信息
通常都可以用
openstack show
命令查看详细信息,例如openstack server show <name or id>
、openstack endpoint show <name or id>
-
查看帮助
可通过
openstack image help
、openstack compute help
这样的命令查看都有哪些命令