OpenStack命令行发放

创建租户(项目)

一个租户下面有很多个用户

[root@controller ~]# source	 keystonerc_admin # admin环境变量
[root@controller ~(keystone_admin)]# nova list  # 查看主机
[root@controller ~(keystone_admin)]# keystone -h |grep ten |查看命令
[root@controller ~(keystone_admin)]# keystone help tenant-create # 查看参数
[root@controller ~(keystone_admin)]# keystone tenant-create --name natasha # 创建租户

创建用户(keystone)

[root@controller ~(keystone_admin)]# keystone -h |grep user |查看命令
[root@controller ~(keystone_admin)]# keystone help user-create # 查看参数
[root@controller ~(keystone_admin)]# keystone user-create --name natasha --tenant natasha --pass redhat   # 创建用户

上传镜像(glance)

[root@controller ~(keystone_admin)]# mkdir /soft (上传镜像到OpenStack)
[root@controller ~(keystone_admin)]# ls /soft 
cirros-0.5.2-x86_64-disk.img
[root@controller ~(keystone_admin)]# cp keystonerc_admin keystonerc_natasha
[root@controller ~(keystone_admin)]# vim keystonerc_natasha
#修改下面参数
export OS_USERNAME=natasha
export OS_TENANT=natasha
export PS='[\U@\h \W(keystone_natasha)]\$'

[root@controller ~(keystone_admin)]# source	 keystonerc_natasha
[root@controller ~(keystone_natasha)]# glance -h |grep create    #查看命令
[root@controller ~(keystone_natasha)]# glance help image-create  #查看参数
[root@controller ~(keystone_natasha)]# glance image-create --name loveu --disk-format qcow2  --container-format bare  --min-disk 5 --min-ram 2048 --file=/soft/cirros-0.5.2-x86_64-disk.img  --is-protected True --progress

#container:存储镜像格式 bare裸磁盘 progress:显示进度条 protected:受保护的

创建规格(nova)

#切换到管理员admin用户
[root@controller ~(keystone_natasha)]# source keystonerc_admin
[root@controller ~(keystone_admin)]# nova -h |grep flav
[root@controller ~(keystone_admin)]# nova help flavor-create
[root@controller ~(keystone_admin)]# nova flavor-create m2.love auto 2048 5 1

创建私网和子网(neutron)

[root@controller ~(keystone_admin)]# source	keystonerc_natasha
[root@controller ~(keystone_natasha)]# neutron -h |grep create
[root@controller ~(keystone_natasha)]# neutron help net-create
[root@controller ~(keystone_natasha)]# neutron net-create private

#创建子网
[root@controller ~(keystone_natasha)]# neutron -h |grep subnet
[root@controller ~(keystone_natasha)]# neutron help subnet-create
[root@controller ~(keystone_natasha)]# neutron subnet-create --name sub_private --gateway 192.168.88.254 --enable-dhcp --allocation-pool start=192.168.88.10,end=192.168.88.200 private 192.168.88.0/24

#allocation-pool:限制分配dhcp网段

创建公网和子网

#创建公网DHCP必须关闭
[root@controller ~(keystone_natasha)]# neutron net-create public
[root@controller ~(keystone_natasha)]# neutron subnet-create --name sub_public --gateway 192.168.10.254 --disable-dhcp --allocation-pool start=192.168.10.100,end=192.168.10.200 public 192.168.10.0/24

设置网络为 共享和外部网络

#必须管理员用户才能设置
[root@controller ~(keystone_natasha)]# source keystonerc_admin
[root@controller ~(keystone_admin)]# neutron help net-update # 查看参数
[root@controller ~(keystone_admin)]# neutron net-show public # 查看public公网信息
[root@controller ~(keystone_admin)]# neutron net-update --shared=true --router:external=true public

创建路由(neutron)

[root@controller ~(keystone_admin)]# source	keystonerc_natasha

#创建路由器
[root@controller ~(keystone_natasha)]# neutron -h |grep router
[root@controller ~(keystone_natasha)]# neutron router-create abc

#设置网关
[root@controller ~(keystone_natasha)]# neutron -h |grep gateway
[root@controller ~(keystone_natasha)]# neutron router-gateway-set abc public

#设置路由接口
[root@controller ~(keystone_natasha)]# neutron -h |grep interface
[root@controller ~(keystone_natasha)]# neutron router-interface-add abc sub_private

创建安全组(neutron)

[root@controller ~(keystone_natasha)]# neutron -h |grep security
[root@controller ~(keystone_natasha)]# neutron security-group-create sec01

#创建规则
[root@controller ~(keystone_natasha)]# neutron help security-group-rule-create #查看参数
[root@controller ~(keystone_natasha)]# neutron security-group-rule-create --direction ingress --protocol icmp sec01

#direction:出入规则,ingress是入口  protocol:放通的协议 


[root@controller ~(keystone_natasha)]# neutron security-group-rule-create --direction ingress --protocol tcp --port-range-min 22 --port-range-max 22 sec01  #放通22端口

创建密钥对 (nova)

[root@controller ~(keystone_natasha)]# nova -h |grep key
[root@controller ~(keystone_natasha)]# nova keypair-add  key110 > key110.pem

发放云主机

[root@controller ~(keystone_natasha)]# nova boot --flavor m2.love \
--image loveu \
--min-count 1 \
--key-name key110 \
--security-group sec01 \
--nic net-id=ad34348d-6979-4f96-a2de-3a2a56e92215   ecs01          

可以用以下查询
# nova flavor-list                #查规格
# glance image-list               #查镜像
# min-count                       #创建几台
# nova keypair-list               #查密钥
# neutron security-group-list     #查安全组
# neutron net-list                #查net的ID

创建浮动IP(neutron)

[root@controller ~(keystone_natasha)]# neutron -h |grep float
[root@controller ~(keystone_natasha)]# neutron floatingip-create public

分配浮动IP(nova)

[root@controller ~(keystone_natasha)]# nova -h |grep  float
[root@controller ~(keystone_natasha)]# nova floating-ip-associate
[root@controller ~(keystone_natasha)]# nova help floating-ip-associate
[root@controller ~(keystone_natasha)]# nova floating-ip-associate ecs01 192.168.10.102

云计算是一种服务模型,通过网络的方式,获取资源(计算,存储,网络)