为 instance 配置静态 IP - 每天5分钟玩转 OpenStack(157)

简介: 这是 OpenStack 实施经验分享系列的第 7 篇。 传统运维中为服务器配置静态 IP 是再常见不过的了。但在 OpenStack 环境下只能指定 network,IP 都是 Neutron 从 subnet IP 池中自动分配的。

 

这是 OpenStack 实施经验分享系列的第 7 篇。


传统运维中为服务器配置静态 IP 是再常见不过的了。但在 OpenStack 环境下只能指定 network,IP 都是 Neutron 从 subnet IP 池中自动分配的。

 

有同学就会想办法了:等 instance 起来后手工把 IP 改掉行不行?


非常遗憾,不行!


instance 网卡的 IP 和 Mac 地址是记录在 port 中的,计算节点的 iptable 会根据 port 信息生成相应的 rule,只有与 port 匹配的 IP 和 Mac 才能允许在 Neutron 网络中通信。


那还有没有办法为 instance 配置静态 IP 呢?


有!


方法是:

  1. 先创建 port,设置好 IP 地址。

  2. 将该 port attach 到 instance。

  3. 在 instance 中手工配置静态 IP。

Newton 版本之前只能用命令行完成上面的操作。不过从 Newton 开始 horizon 已经支持了。我们先看命令行如何实现。


命令行操作


instance “c1” 当前还没有任何网卡。



第一步:用 neutron port-create 命令创建 port,设置 IP。



最重要的就是 --fixed-ip 参数了,指定 IP 和 IP 所属的 subnet。


另外还可以指定 Mac 地址(可选),这在某些场景下有用。之前有个项目客户的商业软件是绑定在特定 Mac 地址上的,所以必须给 instance 网卡指定 Mac。


Network 参数指定 port 所属的网络。


下面的命令创建了一个 vlan111 的 port,IP 为 17.17.111.33。


neutron port-create --fixed-ip subnet_id=e0e251a0-0e38-4b70-9904-6b791fcf8d33,ip_address=17.17.111.33 vlan111

 




第二步:执行 nova interface-attach 命令将 port attach 到 instance



操作系统已经能够识别到该网卡 eth0,但 IP 还需要手工设置。



第三步:在 instance 配置静态 IP。


编辑 /etc/network/interfaces。



重启 eth0。



IP 生效。


并且可以 Ping 到同网段其他 IP。



如果这里我们配置的 IP 不是 port 中定义的 17.17.111.33 还能 Ping 通吗?这个问题留给大家自己去验证。


horizon 操作


horizon 在 Newton 版本中支持在创建 port 时设置 IP 地址,也就是说步骤一我们可以直接在 Web GUI 中完成了。


菜单 “Admin -> System -> Networks”。




点击网络 “vlan111”,然后点击 “Ports” 标签。



点击 “Create Port” 按钮。



设置 IP 17.17.111.55,然后点击 “Create Port” 按钮。



port 创建成功,目前还没有 attach 到 instance,所以状态为 “Down”。


horizon 目前还不支持直接将 port attach 到 instance,这个操作还得通过命令行,具体请参考前面的示例。希望新版本的 horizon 能加入这个功能。


好了,以上就是设置静态 IP 的方法,下一节我们继续分享实施经验。


二维码+指纹.png

目录
相关文章
|
8月前
|
API 数据库
(九)Open Stack(M)--- Heat安装和配置
(九)Open Stack(M)--- Heat安装和配置
101 0
|
8月前
|
存储 API 数据库
(八)Open Stack(M)---Cinder安装和配置
(八)Open Stack(M)---Cinder安装和配置
87 0
|
分布式计算 关系型数据库 Hadoop
CentOS7 上配置Openstack[单机配置](上)
写在前面 配置前须知!!! step1 主机设置 step2 配置网口和DHCP确定IP step3 配置网络访问Internet step4 停止网络管理器关闭防火墙 step5 关闭SELinux step6 更新yum step7 安装Openstack RPM step8 安装PackStack
349 0
CentOS7 上配置Openstack[单机配置](上)
ip route 实战案例《openstack 网络》
ip route 实战案例《openstack 网络》
130 0
|
SQL NoSQL Linux
CentOS7 上配置Openstack[单机配置](下)
step9 修改ssh配置 step10 生成与修改应答文件 step11 部署和运行Openstack setp12 成功部署 bug1 提示找不到HOSTNAME命令 bug2 Error: Execution of ‘/usr/bin/yum -d 0 -e 0 -y install redis’ returned 1: Error downloading packages bug3 安装时出现了No Presto metadata available for centos-openstack-queens bug4 Faild to aply catalog: Execution of
730 0
CentOS7 上配置Openstack[单机配置](下)
|
API 数据库 开发者
(十)OpenStack---M版---双节点搭建---Heat安装和配置
(十)OpenStack---M版---双节点搭建---Heat安装和配置
197 0
(十)OpenStack---M版---双节点搭建---Heat安装和配置
|
存储 API Swift
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
217 0
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
|
存储 API 数据库
(八)OpenStack---M版---双节点搭建---Cinder安装和配置
(八)OpenStack---M版---双节点搭建---Cinder安装和配置
172 0
(八)OpenStack---M版---双节点搭建---Cinder安装和配置
|
安全 Apache 开发者
(七)OpenStack---M版---双节点搭建---Dashboard安装和配置
(七)OpenStack---M版---双节点搭建---Dashboard安装和配置
261 0
(七)OpenStack---M版---双节点搭建---Dashboard安装和配置
|
API 数据库 网络虚拟化
(六)OpenStack---M版---双节点搭建---Neutron安装和配置
(六)OpenStack---M版---双节点搭建---Neutron安装和配置
160 0
(六)OpenStack---M版---双节点搭建---Neutron安装和配置