OpenStack——云平台使⽤
⼀、如何创建云主机
使⽤双节点部署,控制节点(controller):192.168.16.10,计算节点(compute):192.168.16.20
(⼀)、创建镜像
1、在控制节点中到qcow2镜像
[root@controller ~]# cd /opt/iaas/images/
[root@controller images]# ls
CentOS_6.5_x86_64_XD.qcow2 CentOS_7.2_x86_64_XD.qcow2 MySQL_5.6_XD.qcow2
2、通过glance命令,将qcow2镜像上传到平台
[root@controller images]# source /etc/keystone/admin-openrc.sh
[root@controller images]# glance image-create --name "centos7.2" --disk-format qcow2 --container-format bare --progress < CentOS_7.2_x86_64_XD.qcow2(⼆)、创建⽹络
1、创建外部⽹络
选择菜单栏:项⽬ -> ⽹络 -> ⽹络。单击“创建⽹络”,来创建虚拟机⽹络。
创建⽹络名称为net-gre,配置⼦⽹名称为net-subnet,⽹络地址为192.168.20.0/24,⽹关为192.168.20.2。
再配置DHCP地址池,激活DHCP,配置DNS为114.114.114.114。点击“已创建”创建⽹络。
选择菜单栏:管理员 -> 系统 -> ⽹络。对已创建的net-gre⽹络,点击 “编辑⽹络”,在弹框中勾选“外部⽹络”。
2、创建内部⽹络
选择菜单栏:项⽬ -> ⽹络 -> ⽹络。单击“创建⽹络”,来创建虚拟机⽹络。
创建⽹络名称为int-gre,配置⼦⽹名称为int-subnet,⽹络地址为10.10.0.0/24,⽹关为10.10.0.1。
配置DHCP地址池,激活DHCP。点击“已创建”创建⽹络。
(三)、创建路由
1、创建路由
选择菜单栏:项⽬ -> ⽹络 -> 路由。单击“新建路由”,来创建路由。
创建路由名称为route,外部⽹络选择“net-gre”。点击“新建路由”创建路由。
2、添加内部⽹络端⼝
单击新建的路由名称,选择“接⼝”标签。点击“增加接⼝”按钮。
在弹框中,选择“int-gre”内部⽹络,再点击“提交”。
(四)、管理安全组
1、管理default默认安全组
选择菜单栏:项⽬ -> 计算 -> 访问&安全。单击default安全组“管理规则”按钮。
2、添加放⾏策略
点击“添加规则”,选择“所有ICMP协议”,单击“添加”按钮;选择“所有TCP协议”,单击“添加”按钮;选择“所有UDP协议”,单击“添加”按钮。(五)、创建云主机
1、创建云主机
选择菜单栏:项⽬ -> 计算 -> 云主机。单击“创建云主机”按钮。
云主机名称为:test,数量为:1。选择centos7.2镜像;选择m1.small资源类型;选择int-gre⽹络。然后单击“启动实例”按钮创建实例。2、绑定浮动IP
在主机下拉框中选择“绑定浮动IP”菜单命令。
在弹框中点击“+”分配⼀个地址,单击“分配IP”按钮。点击“关联”按钮,关联浮动IP地址。
(六)、连接云主机
1、测试连通性
创建完成后,可看到创建的云主机状态为“运⾏”。打开CMD窗⼝,通过ping命令测试连通云主机。
2、连接云主机
使⽤secureCRT⼯具,连接云主机,⽤户名:root,密码:000000。
⼆、Keystone服务操作
Keystone是OpenStack中的⼀个独⽴的提供安全认证的模块,主要负责openstack⽤户的⾝份认证、令牌管理、提供访问资源的服务⽬录(指引路径)、以及基于⽤户⾓⾊的访问控制。
(⼀)、keystone运维命令
1、环境配置
[root@controller ~]# source /etc/keystone/admin-openrc.sh
2、创建⽤户
语法:openstack user create --password ⽤户的密码 --email 邮箱 --domain demo ⽤户名
[root@controller ~]# openstack user create --password 000000 --email wzg@example --domain demo wzg
3、创建项⽬
语法:openstack project create --domain demo 项⽬名
[root@controller ~]# openstack project create --domain demo acme
4、创建⾓⾊
语法:openstack role create ⾓⾊名
[root@controller ~]# openstack role create compute-user
5、绑定⽤户和项⽬权限
语法:openstack role add --user ⽤户名 --project 项⽬名⾓⾊名
[root@controller ~]# openstack role add --user wzg --project acme compute-user
(⼆)、keystone查询命令
1、查询⽤户列表
[root@controller ~]# openstack user list
2、查询wzg⽤户的详细信息
[root@controller ~]# openstack user show wzg
3、查询项⽬列表
[root@controller ~]# openstack project list
4、查询acme项⽬的详情信息
[root@controller ~]# openstack project show acme
5、查询⾓⾊列表
[root@controller ~]# openstack role list
6、查询compute-user⾓⾊的详细信息
[root@controller ~]# openstack role show compute-user
7、查看平台所有服务所使⽤的端点地址
[root@controller ~]# openstack endpoint list
三、Neutron服务操作
Neutron是⼀个⽤python写的分布式软件项⽬,⽤来实现OpenStack中的⽹络服务。
(⼀)、⽹络管理
1、查看⽹络列表
[root@controller ~]# neutron net-list
2、创建外部⽹络
语法:neutron net-create --shared --router:external=true --provider:network_type ⽹络类型外⽹名称
[root@controller ~]# neutron net-create --shared --router:external=true --provider:network_type gre net-gre
3、创建内部⽹络
语法:neutron net-create --shared --provider:network_type ⽹络类型内⽹名称
[root@controller ~]# neutron net-create --shared --provider:network_type gre int-gre
4、查看⽹络详情信息
[root@controller ~]# neutron net-show int-gre
5、更新⽹络
语法:penstack network set ⽹络名称 --name 新⽹络名称 --disable --no-share
[root@controller ~]# openstack network set nett-gre --name net-gre01 --disable --no-share
6、删除⽹络
[root@controller ~]# neutron net-delete int-gre
(⼆)、⼦⽹管理
1、查看⼦⽹列表
[root@controller ~]# neutron subnet-list
2、创建外⽹⼦⽹
语法:neutron subnet-create 外⽹名称外⽹⽹段 --name 外⽹⼦⽹名称 --gateway ⽹关地址 --allocation-pool start=开始地址,end=结束地址 --enable-dhcp --dns-nameserver 8.8.8.8
[root@controller ~]# neutron subnet-create net-gre 192.168.20.0/24 --name net-subnet01 --gateway 192.168.20.2 --allocation-pool
start=192.168.20.101,end=192.168.20.200 --enable-dhcp --dns-nameserver 8.8.8.8
3、创建内⽹⼦⽹
语法:neutron subnet-create 内⽹名称内⽹⽹段 --name 内⽹⼦⽹名称 --gateway ⽹关地址 --allocation-pool start=开始地址,end=结束地址 --enable-dhcp
[root@controller ~]# neutron subnet-create int-gre 10.10.1.0/24 --name int-subnet01 --gateway 10.10.1.2 --allocation-pool start=10.10.1.101,end=10.10.1.200 --enable-dhcp
4、查看⼦⽹详细信息
[root@controller ~]# neutron subnet-show net-subnet01
5、修改⼦⽹
语法:neutron subnet-update ⼦⽹名称 --name 新⼦⽹名称 --no-gateway(不加⽹关) --allocation-poo
l start=开始地址,end=结束地址[root@controller ~]# neutron subnet-update net-subnet01 --name net-subnet-test --no-gateway --allocation-pool start=192.168.20.101,end=192.168.20.200
6、删除⼦⽹
[root@controller ~]# neutron subnet-delete int-subnet01
(三)、路由管理
1、查看路由列表
[root@controller ~]# neutron router-list
2、创建路由
语法:neutron router-create 路由名称
[root@controller ~]# neutron router-create router
3、查看路由详情信息
[root@controller ~]# neutron router-show router
4、删除路由
[root@controller ~]# neutron router-delete router
5、添加外部⽹关
语法:neutron router-gateway-set 路由名称外⽹名称(⽤neutron net-list查看)
[root@controller ~]# neutron router-gateway-set router net-gre
6、删除外部⽹关
[root@controller ~]# neutron router-gateway-clear router
7、查看路由端⼝信息列表
[root@controller ~]# neutron router-port-list router
8、添加内部接⼝
语法:neutron router-interface-add 路由名称内⽹名称(⽤neutron int-list查看)
[root@controller ~]# neutron router-interface-add router int-subnet01
9、删除内部接⼝
语法:neutron router-interface-delete 路由名称 subnet=内⽹名称
[root@controller ~]# neutron router-interface-delete router subnet=int-subnet
(四)、端⼝管理
1、查看端⼝列表
[root@controller ~]# neutron port-list
2、创建端⼝
语法:neutron port-create 内⽹名称 --name 端⼝名称
[root@controller ~]# neutron port-create int-gre --name test-port
3、修改端⼝
语法:neutron port-update 端⼝名称 --name 新端⼝名称 --security-group 安全组
[root@controller ~]# neutron port-update test-port --name test-port-8080 --security-group 54c9ccb7-7f00-4485-898f-e4bbebafa73b
4、查看端⼝详情信息
语法:neutron port-show 端⼝id
[root@controller ~]# neutron port-show 1b46a0d6-0df6-4f96-b3a3-d47aae6ed589
5、删除端⼝
[root@controller ~]# neutron port-delete test-port
四、Nova组建操作
Nova是Openstack云中的计算组织控制器;管理OpenStack云中实例的⽣命周期的所有活动;是管理计算资源、⽹络认证所需的可扩展性平台。
(⼀)、安全组操作:
1、查看安全组列表
[root@controller ~]# nova secgroup-list360云平台
2、创建安全组
语法:nova secgroup-create 安全组名称 '描述信息'
[root@controller ~]# nova secgroup-create wzg 'Most great security group'
3、更新安全组
语法:nova secgroup-update ID号新名称 '新描述信息'
[root@controller ~]# nova secgroup-update 218faa36-c250-40d5-9775-534049e5771a wzg01 'One of the most great security group'
4、删除安全组
[root@controller ~]# nova secgroup-delete wzg
5、查看安全组规则详情信息
[root@controller ~]# nova secgroup-list-rules wzg
6、添加安全组规则
[root@controller ~]# nova secgroup-add-rule wzg icmp -1 -1 0.0.0.0/0
[root@controller ~]# nova secgroup-add-rule wzg udp 1 65535 0.0.0.0/0
[root@controller ~]# nova secgroup-add-rule wzg tcp 1 65535 0.0.0.0/0
7、删除安全组规则
[root@controller ~]# nova secgroup-delete-rule wzg icmp -1 -1 0.0.0.0/0
(⼆)、云主机类型操作
1、查看云主机类型列表
[root@controller ~]# nova flavor-list
2、添加云主机类型
语法:nova flavor-create 类型名称 ID号 1024 10 1
[root@controller ~]# nova flavor-create m1.wzg 6 1024 10 1
点击查看详情
3、查看云主机类型详情信息
[root@controller ~]# nova flavor-show m1.wzg
4、删除云主机类型
[root@controller ~]# nova flavor-delete m1.wzg
(三)、云主机实例操作
1、查看实例列表
[root@controller ~]# nova list
2、创建实例
语法:nova boot --image  --availability-zone nova --flavor --security-groups --nic <net-id=net-uuid>
[root@controller ~]# nova boot --image centos7.2 --availability-zone nova --flavor m1.wzg --security-groups wzg --nic net-id=64306052-bcec-4209-ac4c-45b9d2de4dde wzg-server
注意:需要先查出:
1)查看镜像
[root@controller ~]# glance image-list
2)查看规格(云主机类型)
[root@controller ~]# nova flavor-list
3)查看安全组
[root@controller ~]# nova secgroup-list
4)查看可⽤的⽹络
[root@controller ~]# neutron net-list
3、查看实例详情信息
[root@controller ~]# nova show wzg-server
4、启动实例
[root@controller ~]# nova start wzg-server
5、停⽌实例
[root@controller ~]# nova stop wzg-server
6、重启实例
[root@controller ~]# nova reboot wzg-server
7、挂起实例
[root@controller ~]# nova pause wzg-server
8、删除实例
[root@controller ~]# nova delete wzg-server
(四)、浮动IP
1、查看浮动IP列表
[root@controller nova]# nova floating-ip-list
2、创建浮动IP
语法:nova floating-ip-create 浮动IP地址池
[root@controller nova]# nova floating-ip-create net-gre
3、查看浮动IP地址池信息
[root@controller nova]# nova floating-ip-pool-list
4、查看浮动IP详细信息
语法:openstack ip floating show 浮动IP
[root@controller nova]# openstack ip floating show 192.168.100.4
5、关联浮动IP实例
语法:nova floating-ip-associate 云主机名称浮动ip
[root@controller nova]# nova floating-ip-associate wzg-server 192.168.100.4
6、解除关联浮动IP实例
语法:nova floating-ip-disassociate 云主机名称浮动ip
[root@controller nova]# nova floating-ip-disassociate wzg-server 192.168.100.4
7、删除浮动IP
[root@controller nova]# nova floating-ip-delete 192.168.100.4
(五)、密钥管理
1、查看密钥列表
[root@controller ~]# nova keypair-list
2、创建密钥
语法:nova keypair-add 密钥名称 --key-type ssh
[root@controller ~]# nova keypair-add wzg --key-type ssh
3、查看密钥详情信息
[root@controller ~]# nova keypair-show wzg