如何使用固定/静态IP地址创建OpenStack实例
时间:2020-02-23 14:41:11 来源:igfitidea点击:
在一个OpenStack云环境中,默认的IP分配机制是通过DHCP。
如果我们想在OpenStack中创建具有固定的静态IP地址的实例,该实例这可以通过使用网络端口来实现。
端口是用于将单个设备(例如服务器的NIC)添加到OpenStack网络的连接点。
网络端口还描述了相关的网络配置,例如要在该端口上使用的Mac和IP地址。
在OpenStack网络中,虚拟路由器还使用端口与子网互连。
可以审查这些端口的状态以确定它们是否按预期连接。
第1步:创建网络端口
使用命令 openstack port create
在指定的网络上创建一个新端口。
请参阅所有可用的命令参数。
$openstack port create --help ..... openstack port create --help usage: openstack port create [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN] [--noindent] [--prefix PREFIX] [--max-width <integer>] [--fit-width] [--print-empty] --network <network> [--description <description>] [--device <device-id>] [--mac-address <mac-address>] [--device-owner <device-owner>] [--vnic-type <vnic-type>] [--host <host-id>] [--dns-name dns-name] [--fixed-ip subnet=<subnet>,ip-address=<ip-address> | --no-fixed-ip] [--binding-profile <binding-profile>] [--enable | --disable] [--project <project>] [--project-domain <project-domain>] [--security-group <security-group> | --no-security-group] [--qos-policy <qos-policy>] [--enable-port-security | --disable-port-security] [--allowed-address ip-address=<ip-address>[,mac-address=<mac-address>]] [--tag <tag> | --no-tag] <name> ......
列出可用的网络和子网:
$openstack network list +--------------------------------------+---------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+--------------------------------------+ | b94431cb-08cf-42ea-be61-55f5cf459276 | private | 57601b99-ea64-41a8-a927-fbd591ae3f2b | | f7ccac3b-73eb-49bf-a4ec-af750216b819 | public | 7536e4a8-6aa8-45dc-aed6-1a98afcf416d | +--------------------------------------+---------+--------------------------------------+ $openstack subnet list --network private +--------------------------------------+----------------+--------------------------------------+--------------+ | ID | Name | Network | Subnet | +--------------------------------------+----------------+--------------------------------------+--------------+ | 57601b99-ea64-41a8-a927-fbd591ae3f2b | private_subnet | b94431cb-08cf-42ea-be61-55f5cf459276 | 10.10.1.0/24 | +--------------------------------------+----------------+--------------------------------------+--------------+
我将在专用网络上创建一个具有固定IP地址的端口。
openstack port create --network private --fixed-ip \ subnet=private_subnet,ip-address=10.10.1.20 server1-port0
确认端口创建:
$openstack port list $openstack port show server1-port0
第2步:在OpenStack中创建具有固定IP的服务器
既然端口是创建的,我们可以通过保存的IP地址引导新实例。
openstack server create \ --image CentOS-7 \ --flavor m1.small \ --security-group 7fffea2a-b756-473a-a13a-219dd0f1913a \ --port server1-port0 \ server1
创建
+-------------------------------------+-------------------------------------------------+ | Field | Value | +-------------------------------------+-------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | | | OS-EXT-SRV-ATTR:host | None | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | | | OS-EXT-STS:power_state | NOSTATE | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | None | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | | | adminPass | wsDLy8PG6q9C | | config_drive | | | created | 2019-09-19T10:23:07Z | | flavor | m1.small (1) | | hostId | | | id | 9c74c4e9-e996-4397-be9b-4fe81aa51881 | | image | CentOS-7 (b8d75f31-fb6b-428b-8b83-f3904b0bd114) | | key_name | jmutai | | name | server1 | | progress | 0 | | project_id | 06bcc3c56ab1489282b65681e782d7f6 | | properties | | | security_groups | name='7fffea2a-b756-473a-a13a-219dd0f1913a' | | status | BUILD | | updated | 2019-09-19T10:23:07Z | | user_id | 336acbb7421f47f8be4891eabf0c9cc8 | | volumes_attached | | +-------------------------------------+-------------------------------------------------+
创建后,检查服务器状态。
$openstack server show server1 +-------------------------------------+----------------------------------------------------------+ | Field | Value | +-------------------------------------+----------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | nova | | OS-EXT-SRV-ATTR:host | dserver.theitroad.com | | OS-EXT-SRV-ATTR:hypervisor_hostname | dserver.theitroad.com | | OS-EXT-SRV-ATTR:instance_name | instance-00000028 | | OS-EXT-STS:power_state | Running | | OS-EXT-STS:task_state | None | | OS-EXT-STS:vm_state | active | | OS-SRV-USG:launched_at | 2019-09-19T10:23:11.000000 | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | private=10.10.1.20 | | config_drive | | | created | 2019-09-19T10:23:07Z | | flavor | m1.small (1) | | hostId | da0a05ef20a03e97f301563551bab9b669ef04adbce232d941519946 | | id | 9c74c4e9-e996-4397-be9b-4fe81aa51881 | | image | CentOS-7 (b8d75f31-fb6b-428b-8b83-f3904b0bd114) | | key_name | jmutai | | name | server1 | | progress | 0 | | project_id | 06bcc3c56ab1489282b65681e782d7f6 | | properties | | | security_groups | name='default' | | status | ACTIVE | | updated | 2019-09-19T10:23:11Z | | user_id | 336acbb7421f47f8be4891eabf0c9cc8 | | volumes_attached | | +-------------------------------------+----------------------------------------------------------+
应该可以访问在OpenStack上使用固定IP创建的服务器。
$ ping -c 2 10.10.1.20 PING 10.10.1.20 (10.10.1.20) 56(84) bytes of data. 64 bytes from 10.10.1.20: icmp_seq=1 ttl=64 time=0.768 ms 64 bytes from 10.10.1.20: icmp_seq=2 ttl=64 time=0.491 ms --- 10.10.1.20 ping statistics -- $ssh Hyman@theitroad Warning: Permanently added '10.10.1.20' (ECDSA) to the list of known hosts. Enter passphrase for key '/home/centos/.ssh/id_rsa': [Hyman@theitroad ~]$ip ad 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1450 qdisc pfifo_fast state UP group default qlen 1000 link/ether fa:16:3e:a3:fd:ce brd ff:ff:ff:ff:ff:ff inet 10.10.1.20/24 brd 10.10.1.255 scope global dynamic eth0 valid_lft 86035sec preferred_lft 86035sec inet6 fe80::f816:3eff:fea3:fdce/64 scope link valid_lft forever preferred_lft forever