第 9 章 例子
使用以下示例了解如何在部署后使用各种网络配置启动计算实例。
9.1. 示例 1:在项目和提供商网络中启动一个 NIC 的实例
在部署一体化 Red Hat OpenStack Platform 环境后,使用本示例了解如何使用私有项目网络和提供商网络启动实例。这个示例基于单个 NIC 配置,至少需要三个 IP 地址。
先决条件
要成功完成这个示例,环境中必须有以下 IP 地址:
- OpenStack 服务的一个 IP 地址。
- 虚拟路由器的一个 IP 地址,以提供与项目网络的连接。本例中会自动分配此 IP 地址。
- 至少一个用于提供商网络上的浮动 IP 的 IP 地址。
流程
创建配置帮助程序变量:
# standalone with project networking and provider networking export OS_CLOUD=standalone export GATEWAY=192.168.25.1 export STANDALONE_HOST=192.168.25.2 export PUBLIC_NETWORK_CIDR=192.168.25.0/24 export PRIVATE_NETWORK_CIDR=192.168.100.0/24 export PUBLIC_NET_START=192.168.25.4 export PUBLIC_NET_END=192.168.25.15 export DNS_SERVER=1.1.1.1
创建基本类别:
$ openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
下载 CirrOS 并创建 OpenStack 镜像:
$ wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img $ openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
配置 SSH:
$ ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem $ openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub default
创建简单的网络安全组:
$ openstack security group create basic
配置网络安全组:
启用 SSH:
$ openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
启用 ping:
$ openstack security group rule create --protocol icmp basic
启用 DNS:
$ openstack security group rule create --protocol udp --dst-port 53:53 basic
创建 Neutron 网络:
$ openstack network create --external --provider-physical-network datacentre --provider-network-type flat public $ openstack network create --internal private $ openstack subnet create public-net \ --subnet-range $PUBLIC_NETWORK_CIDR \ --no-dhcp \ --gateway $GATEWAY \ --allocation-pool start=$PUBLIC_NET_START,end=$PUBLIC_NET_END \ --network public $ openstack subnet create private-net \ --subnet-range $PRIVATE_NETWORK_CIDR \ --network private
创建虚拟路由器:
# NOTE: In this case an IP will be automatically assigned # from the allocation pool for the subnet. $ openstack router create vrouter $ openstack router set vrouter --external-gateway public $ openstack router add subnet vrouter private-net
创建一个浮动 IP:
$ openstack floating ip create public
启动实例:
$ openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserver
分配浮动 IP:
$ openstack server add floating ip myserver <FLOATING_IP>
将
FLOATING_IP
替换为您在上一步中创建的浮动 IP 地址。测试 SSH:
ssh cirros@<FLOATING_IP>
将
FLOATING_IP
替换为您在上一步中创建的浮动 IP 地址。
网络架构