openstack云计算平台<8>--私有网络添加、打包镜像并上传、利用打包好的镜像创建虚拟云主机

一、私有网络添加-在controller节点上配置网络组件

因为之前我们部署公有网络的时候相关组件已经安装过,因此这里不需要再次安装相关资源包

1.配置服务组件

编辑``/etc/neutron/neutron.conf`` 文件并完成如下操作:

在 [database] 部分,配置数据库访问:
[database]
...
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
使用你设置的数据库密码替换 NEUTRON_DBPASS 。

在``[DEFAULT]``部分,启用Modular Layer 2 (ML2)插件,路由服务和重叠的IP地址:
[DEFAULT]
...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接:
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
用你在RabbitMQ中为``openstack``选择的密码替换 “RABBIT_PASS”。

在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问:
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
将 NEUTRON_PASS 替换为你在认证服务中为 neutron 用户选择的密码。

在``[DEFAULT]``和``[nova]``部分,配置网络服务来通知计算节点的网络拓扑变化:
[DEFAULT]
...
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True

[nova]
...
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS
使用你在身份认证服务中设置的``nova`` 用户的密码替换``NOVA_PASS``。

在 [oslo_concurrency] 部分,配置锁路径:
[oslo_concurrency]
...
lock_path = /var/lib/neutron/tmp

在这里插入图片描述

2.配置 Modular Layer 2 (ML2) 插件

ML2插件使用Linuxbridge机制来为实例创建layer-2虚拟网络基础设施
编辑``/etc/neutron/plugins/ml2/ml2_conf.ini``文件并完成以下操作:

在``[ml2]``部分,启用flat,VLAN以及VXLAN网络:
[ml2]
...
type_drivers = flat,vlan,vxlan

在``[ml2]``部分,启用VXLAN私有网络:
[ml2]
...
tenant_network_types = vxlan

在``[ml2]``部分,启用Linuxbridge和layer-2机制:
[ml2]
...
mechanism_drivers = linuxbridge,l2population

在``[ml2]`` 部分,启用端口安全扩展驱动:
[ml2]
...
extension_drivers = port_security

在``[ml2_type_flat]``部分,配置公共虚拟网络为flat网络
[ml2_type_flat]
...
flat_networks = provider

在``[ml2_type_vxlan]``部分,为私有网络配置VXLAN网络识别的网络范围:
[ml2_type_vxlan]
...
vni_ranges = 1:1000
在 ``[securitygroup]``部分,启用 ipset 增加安全组规则的高效性:

[securitygroup]
...
enable_ipset = True

在这里插入图片描述
在这里插入图片描述

3.配置Linuxbridge代理

Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。

编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``文件并且完成以下操作:
在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来:
[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME``PUBLIC_INTERFACE_NAME`` 替换为底层的物理公共网络接口(新添加的网卡名字)

在``[vxlan]``部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:
[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True
将``OVERLAY_INTERFACE_IP_ADDRESS`` 替换为处理覆盖网络的底层物理网络接口的IP地址。这个示例架构中使用管理网络接口与其他节点建立流量隧道。因此,将``OVERLAY_INTERFACE_IP_ADDRESS``替换为控制节点的管理网络的IP地址。

在 ``[securitygroup]``部分,启用安全组并配置 Linuxbridge iptables firewall driver:
[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

4.配置layer-3代理

Layer-3代理为私有虚拟网络提供路由和NAT服务

编辑``/etc/neutron/l3_agent.ini``文件并完成以下操作:
在``[DEFAULT]``部分,配置Linuxbridge接口驱动和外部网络网桥:
[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =

注意:``external_network_bridge``选项特意设置成缺省值,这样就可以在一个代理上允许多种外部网络

在这里插入图片描述

5.配置DHCP代理

编辑``/etc/neutron/dhcp_agent.ini``文件并完成下面的操作:

在``[DEFAULT]``部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据
[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

启用layer-3服务并设置其随系统自启动:
# systemctl enable neutron-l3-agent.service
# systemctl start neutron-l3-agent.service

在这里插入图片描述

二、私有网络添加-在计算节点上配置网络组件

1.配置Linuxbridge代理

编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``文件并且完成以下操作:

在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来:
[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME``PUBLIC_INTERFACE_NAME`` 替换为底层的物理公共网络接口。

在``[vxlan]``部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:
[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True
将``OVERLAY_INTERFACE_IP_ADDRESS`` 替换为处理覆盖网络的底层物理网络接口的IP地址。这个示例架构中使用管理网络接口与其他节点建立流量隧道。因此,将``OVERLAY_INTERFACE_IP_ADDRESS``替换为控制节点的管理网络的IP地址。

在 ``[securitygroup]``部分,启用安全组并配置 Linuxbridge iptables firewall driver:
[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

在这里插入图片描述

2.启动相关服务

重启Linuxbridge代理(还要确保已经设置开机自启):
systemctl restart neutron-linuxbridge-agent.service

三、Dashboard启用3层网络服务

在控制节点配置

编辑文件 /etc/openstack-dashboard/local_settings:
OPENSTACK_NEUTRON_NETWORK = {
    ...
    'enable_router': True,            %均改为True
    'enable_quotas': True,
    'enable_distributed_router': True,
    'enable_ha_router': True,
    'enable_lb': True,
    'enable_firewall': True,
    'enable_vpn': True,
    'enable_fip_topology_check': True,
}

重启http和memcached

在这里插入图片描述

四、web图形管理界面创建外部网络与私有网络

1.admin用户设置网络为外部网络

在这里插入图片描述

2.demo用户查看网络拓扑

在这里插入图片描述

3.demo用户创建私有网络

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.选择私有网络创建云主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.新建路由使内部网络可以访问外部网络

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.具有私有网络地址的虚拟主机申请公网ip,来使外网可以访问内网

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、打包镜像并上传,创建虚拟主机

官方文档: https://docs.openstack.org/image-guide/centos-image.html.

1.先封装redhat7.6版本镜像

相关设置:

  1. 物理内存5G,内存1G,双核
  2. 防火墙、selinux禁掉
  3. 禁掉kdump,不设置swap和boot分区,直接挂载根
  4. 添加ip
  5. 编写软件仓库文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.对上一步中封装的镜像做进一步完善

yum install acpid
systemctl enable acpid      %设置开机自启但先不用启动

这个包会自动从元数据服务器获取公钥,并将密钥放入帐户中:
yum install cloud-init
yum install cloud-utils-growpart      %这个工具可以对云主机的根分区做自动拉伸

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对于要访问元数据服务的实例必须要禁用0配置网络:
echo "NOZEROCONF=yes" >> /etc/sysconfig/network

在内核引导文件中添加以下参数:
quietconsole=tty0 console=ttyS0,115200n8      %保证云主机将日志传送到console上,否则Dashboard中创建虚拟主机后,日志栏为空,无法正常显示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

做完上述步骤之后将该主机关机poweroff
清理虚拟机原本自带信息(把一个镜像文件启动为虚拟机以后,它会生成许多私有信息,比如网卡的mac地址,ip地址,磁盘的uuid,ssh密钥等等)
压缩镜像

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.将打包好的镜像上传到openstack云计算平台上并完成虚拟主机的创建

登录admin用户创建镜像:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录demo用户以新的镜像创建虚拟机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值