OpenStack平台的使用

一、OpenStack平台的使用

使用双节点部署,192.168.16.10为控制节点。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。点击“已创建”创建网络。

3、创建路由器
选择菜单栏 -> 项目 -> 网络 -> 路由。单击“新建路由”,来创建路由。

创建路由名称为route,外部网络选择“net-gre”。点击“新建路由”创建路由。

在route路由中内部网络接口:

单击新建的路由名称,选择“接口”标签。点击“增加接口”按钮。

在弹框中,选择“int-gre”内部网络,再点击“提交”。

4、安全组配置
管理访问策略安全组,选择菜单栏 -> 项目 -> 计算 -> 访问&安全。单击default安全组”管理规则”按钮。

点击右侧”添加规则”,选择”所有ICMP协议”,单击”添加”按钮;选择”所有TCP协议”,单击”添加”按钮;选择”所有UDP协议”,单击”添加”按钮。

5、创建云主机
创建云主机,选择菜单栏 -> 项目 -> 计算 -> 云主机。单击右侧 “创建云主机”按钮。

云主机名称为:test,数量:1。选择centos7.2镜像;选择m1.small资源类型;选择int-gre网络。然后单击”启动实例”按钮创建实例。

选择菜单栏 -> 项目 -> 计算 -> 云主机。在主机下拉框中选择”绑定浮动IP”菜单命令。

在弹框中点击”+”分配一个地址,单击”分配IP”按钮。点击”关联”按钮,关联浮动IP地址。

6、连接云主机
打开CMD窗口,通过ping命令测试连通云主机。

使用secureCRT工具,连接云主机,用户名:root,密码:000000。

二、Keystone服务操作

(一)、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 [email protected] --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组建操作

(一)、安全组操作:

安全组:
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

安全组规则:
1、安全组规则查看详情

[root@controller ~]# nova secgroup-list-rules wzg

2、安全组规则添加

[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

3、安全组规则删除

[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
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
| 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 –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

4、删除密钥

[root@controller ~]# nova keypair-delete wzg

四、网络Neutron服务

(一)、网络管理

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 router01

3、查看路由详情

[root@controller ~]# neutron router-show router01

4、删除路由

[root@controller ~]# neutron router-delete router01

5、添加外部网关
语法:neutron router-gateway-set 路由名称 外网名称(用neutron net-list查看)

[root@controller ~]# neutron router-gateway-set router01 net-gre

6、删除外部网关

[root@controller ~]# neutron router-gateway-clear router01

7、查看路由端口信息列表

[root@controller ~]# neutron router-port-list router01

8、添加内部接口
语法:neutron router-interface-add 路由名称 内网名称(用neutron int-list查看)

[root@controller ~]# neutron router-interface-add router01 int-subnet

9、删除内部接口
语法:neutron router-interface-delete 路由名称 subnet=内网名称

[root@controller ~]# neutron router-interface-delete router01 subnet=int-subnet

(四)、端口管理

1、查看端口列表

[root@controller ~]# neutron port-list

2、创建端口

[root@controller ~]# neutron port-create int-gre --name test-port

3、修改端口

[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
Tags: