一、如何创建云主机
使用双节点部署,控制节点(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
(二)、创建网络
打开浏览器,访问http://192.168.16.10/dashboard地址,域:demo,用户名:admin,密码:000000。
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.com --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
三、Nova组建操作
Nova是Openstack云中的计算组织控制器;管理OpenStack云中实例的生命周期的所有活动;是管理计算资源、网络认证所需的可扩展性平台。
(一)、安全组操作:
1、查看安全组列表[root@controller ~]# nova secgroup-list
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
点击查看详情
[root@controller ~]# nova flavor-create m1.wzg 6 1024 10 1
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
| 6 | m1.wzg | 1024 | 10 | 0 | | 1 | 1.0 | True |
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
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
[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
4、删除密钥[root@controller ~]# nova keypair-delete wzg
四、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.240 --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.240 --enable-dhcp
4、查看子网详细信息[root@controller ~]# neutron subnet-show net-subnet01
5、修改子网
语法:neutron subnet-update 子网名称 --name 新子网名称 --no-gateway(不加网关) --allocation-pool start=开始地址,end=结束地址[root@controller ~]# neutron subnet-update net-subnet01 --name net-subnet-test --no-gateway --allocation-pool start=192.168.20.99,end=192.168.20.110
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-subnet
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