云计算:OpenStack 分布式架构管理VXLAN网络(单控制节点与多计算节点)

news2024/11/17 13:36:09

目录

 一、实验

1.环境

2.各节点新增网卡准备VXLAN网络

3.控制节点配置私有网络

4.计算节点1配置私有网络

5.计算节点2配置私有网络

6.重启服务

7.修改Dashboard

8.新建项目(租户)及用户

9.新建网络与子网

10.新建实例

11.新建路由

12.新增浮动IP关联云主机实例

二、问题

1.私有网络主要组件相互关系

2.VXLAN底层如何实现


 一、实验

1.环境

(1) 主机

表1 主机

主机架构IP备注
controller控制节点192.168.204.210已部署
compute01计算节点1192.168.204.211 已部署
compute02计算节点2192.168.204.212已部署
storage01存储节点1192.168.204.221已部署
storage02存储节点2192.168.204.222已部署
nasnfs节点192.168.204.229已部署

(2)官网

OpenStack Docs: OpenStack Installation Guide for Red Hat Enterprise Linux and CentOS

2.各节点新增网卡准备VXLAN网络

(1)控制节点修改eth1网卡

(2)计算节点1修改eth1网卡

(3)计算节点2修改eth1网卡

(4)控制节点新增网络 ping 计算节点新增网络

3.控制节点配置私有网络

(1)编辑/etc/neutron/neutron.conf 文件

① 在[DEFAULT]部分,启用Modular Layer 2 (ML2)插件,路由服务和重叠的IP地址

[DEFAULT]
...
service_plugins = router
allow_overlapping_ips = True

②备份修改

(2)配置 Modular Layer 2 (ML2) 插件,编辑/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_vxlan]部分,为私有网络配置VXLAN网络识别的网络范围:

[ml2_type_vxlan]
...
vni_ranges = 20000:30000

⑥备份修改

(3)配置Linuxbridge代理,编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

① 在[vxlan]部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:

[vxlan]
enable_vxlan = True
local_ip = 192.168.199.210
l2_population = True

② 直接修改

(4)配置layer-3代理,编辑/etc/neutron/l3_agent.ini文件

①  在[DEFAULT]部分,配置Linuxbridge接口驱动和外部网络网桥:

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =

② 直接修改

4.计算节点1配置私有网络

(1)配置Linuxbridge代理​​​​​​​,编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

①在[vxlan]部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:

[vxlan]
enable_vxlan = True
local_ip = 192.168.199.211
l2_population = True

②  直接修改

5.计算节点2配置私有网络

(1)配置Linuxbridge代理,编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

①  在[vxlan]部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:

[vxlan]
enable_vxlan = True
local_ip = 192.168.199.212
l2_population = True

② 直接修改

6.重启服务

(1)控制节点重启服务

[root@controller network-scripts]# systemctl restart neutron-server.service \
> neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
> neutron-metadata-agent.service

[root@controller network-scripts]# systemctl enable neutron-l3-agent.service
Created symlink from /etc/systemd/system/multi-user.target.wants/neutron-l3-agent.service to /usr/lib/systemd/system/neutron-l3-agent.service.

[root@controller network-scripts]# systemctl start neutron-l3-agent.service

(2)计算节点1重启服务

[root@compute01 network-scripts]# systemctl restart neutron-linuxbridge-agent.service

(3)计算节点2重启服务

[root@compute02 network-scripts]# systemctl restart neutron-linuxbridge-agent.service

(4)新增L3代理

[root@controller network-scripts]# neutron agent-list

7.修改Dashboard

(1)查看系统网络功能,目前暂无路由功能

(2)控制节点编辑文件 /etc/openstack-dashboard/local_settings 

[root@controller ~]# vim /etc/openstack-dashboard/local_settings

① 修改前

②修改后

(3)重启服务

[root@controller ~]# systemctl restart httpd.service memcached.service

(4)重新登录

(5)网络新增路由器功能

8.新建项目(租户)及用户

(1)新建项目

[root@controller ~]# openstack project create --domain default devops03

(2)新建用户

[root@controller ~]# openstack user create --domain default --password Admin@123 --project devops03 user01

(3)修改配置文件

[root@controller ~]# vim keystone_user01 

(4)创建角色并关联

[root@controller ~]# openstack role create user

[root@controller ~]# openstack role add --project devops03 --user user01 user

(5)浏览器新建Private窗口

(6)用户user01登录

(7)登录成功

9.新建网络与子网

(1)查看网络

(2)查看网络拓扑

(3)创建测试网络

(4)完成创建

(5)控制节点查看网络

[root@controller ~]# neutron net-show test_user_network | grep provider

(6)修改网络名称

(7)完成更新

(8)新建子网(切换user01用户所在项目环境)

[root@controller ~]# source keystone_user01

[root@controller ~]# neutron subnet-create --name vxlan_subnet_01 \
> --allocation-pool start=172.16.100.50,end=172.16.100.59 \
> --dns-nameserver 8.8.8.8 \
> --gateway 172.16.100.254 \
> Vxlan_user_network01 172.16.100.0/24

(9)查看

10.新建实例

(1)控制节点新建实例cloud-server-vxlan01-01

[root@controller ~]# nova boot --flavor m2.micro --image cirros --nic net-name=Vxlan_user_network01 --security-group default cloud-server-vxlan01-01

(2)新建实例cloud-server-vxlan01-03

[root@controller ~]# nova boot --flavor m2.micro --image cirros --nic net-name=Vxlan_user_network01 --security-group default cloud-server-vxlan01-03

(3) 查看云主机列表

[root@controller ~]# nova list

(4)查看


 

11.新建路由

(1)查看当前网络

(2)查看当前网络拓扑

(3)admin管理员修改flat网络为外部网络

(4)再次查看网络拓扑

(5)新建路由

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

(6)查看路由器

(7)查看网络拓扑

(8)查看网络列表

[root@controller ~]#  neutron net-list

(9)路由器添加外部网关

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

(10)查看网络拓扑

(11)查看子网信息

[root@controller ~]# neutron subnet-list

(12)路由器添加内部网关

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

(13)查看网络拓扑

(14)查看路由列表

[root@controller ~]# neutron router-list

(15)查看路由器

(16)user01查看接口(devops03项目下用户只能看到内部接口)

(17)admin查看接口(管理员用户能看到内外部接口)

(18)查看交换机

12.新增浮动IP关联云主机实例

(1)新增浮动IP

[root@controller ~]# neutron floatingip-create flat_network_01 

(2)查看

[root@controller ~]# neutron floatingip-list

(3)查看云主机列表

[root@controller ~]# nova list

(4)查看端口列表

[root@controller ~]# neutron port-list

(5)浮动IP关联云主机实例cloud-server-vxlan01-01(通过id绑定)

[root@controller ~]# neutron floatingip-associate b4289c34-6cf4-4f16-abb4-303ed987ed0e 362c9a97-9ded-46bc-b16b-1b32f5da8e9b

(6)查看

[root@controller ~]# neutron floatingip-list

(7)可视化界面查看实例(1台云主机都绑定浮动IP)

(8)查看当前安全组

(9)新增安全组入口规则

[root@controller ~]# openstack security group rule create --proto icmp default

[root@controller ~]# openstack security group rule create --proto tcp --dst-port 22 default

(10)查看安全组规则

(11)新增浮动IP

[root@controller ~]# neutron floatingip-create flat_network_01 

(12)查看

[root@controller ~]# neutron floatingip-list

(13)浮动IP关联云主机实例cloud-server-vxlan01-03(通过id绑定)

[root@controller ~]# neutron floatingip-associate f9b14337-02c8-48d6-af95-1f36760c5742 fa224427-aa68-451b-bd12-708d6ac1ec84

(14)查看

[root@controller ~]# neutron floatingip-list

(15)可视化界面查看实例(2台云主机都已绑定浮动IP)

二、问题

1.私有网络主要组件相互关系

(1) Modular Layer 2 (ML2) 插件

ML2插件使用Linuxbridge机制来为实例创建layer-2虚拟网络基础设施。

(2)Linuxbridge代理

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

(3)layer-3代理

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

(4)DHCP代理

DHCP代理为虚拟网络提供DHCP服务。

2.VXLAN底层如何实现

 (1)查看实例cloud-server-vxlan01-01详细信息

[root@controller ~]# nova show  cloud-server-vxlan01-01

(2)查看实例cloud-server-vxlan01-03详细信息

[root@controller ~]# nova show  cloud-server-vxlan01-03

(3)查看各计算节点实例

(4)获取2个云主机实例信息

(5)查看交换机

(6)计算节点2查看交换机

(7)查看实例cloud-server-vxlan01-01配置文件

关键信息

(8)查看实例cloud-server-vxlan01-03配置文件

关键信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1363427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用PyTorch实现去噪扩散模型

在深入研究去噪扩散概率模型(DDPM)如何工作的细节之前,让我们先看看生成式人工智能的一些发展,也就是DDPM的一些基础研究。 VAE VAE 采用了编码器、概率潜在空间和解码器。在训练过程中,编码器预测每个图像的均值和方差。然后从高斯分布中对…

用友NC word.docx 任意文件读取漏洞复现

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友NC 系统word.docx等接口存在任意文件…

Java调用shell脚本实现数据库备份功能

本篇文章主要介绍怎样使用Java程序,执行服务器上的数据库备份Shell脚本进行MySQL数据库的备份功能。 学习目标 使用Java执行Shell脚本、实现MySQL数据库的备份功能。 学习内容 编写导出MysSQL数据库的Shell脚本 以下是一个使用Bash脚本进行数据库备份的示例代码…

每天刷两道题——第七天+第八天

力扣官网 1.1移动零 给定一个数组 n u m s nums nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序,在不复制数组的情况下原地对数组进行操作。 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 代码 def moveZeroea…

分布式锁3: zk实现分布式锁4 使用临时顺序节点+watch监听+可重入(threadLocal)

一 zk实现分布式锁的可重入性 1.1 使用ThreadLocal属性 引入ThreadLocal线程局部变量保证zk分布式锁的可重入性。 1.2 关键代码说明 1.3 代码 1.3.1 初始化客户端 1.3.2 分布式锁代码 package com.atguigu.distributed.lock.config;import com.baomidou.mybatisplus.core…

Docker学习与应用(六)-Docker网络

1、Docker网络 Docker有多种网络模式可以选择,可以根据应用场景和需求选择合适的网络模式。 桥接模式(Bridge Mode):默认情况下,Docker使用桥接模式创建一个虚拟网络,所有容器会连接到这个虚拟网络中。每个…

PPT模板(100套IT科技互联网风)

哈喽,小伙伴们,最近是不是都在准备年终总结、年终述职,一个好的PPT模板是编写报告的开端。我最近也在准备年终总结报告,一块整理了一些PPT模板。这些模板适用于各种IT科技互联网相关的场合,如产品发布会、项目提案、工…

TypeScript基础(一)基本类型与类型运算

✨ 专栏介绍 TypeScript是一种由微软开发的开源编程语言,它是JavaScript的超集,意味着任何有效的JavaScript代码都是有效的TypeScript代码。TypeScript通过添加静态类型和其他特性来增强JavaScript,使其更适合大型项目和团队开发。 在TypeS…

C#,入门教程(11)——枚举(Enum)的基础知识和高级应用

上一篇: C#,入门教程(10)——常量、变量与命名规则的基础知识https://blog.csdn.net/beijinghorn/article/details/123913570 不会枚举,就不会编程! 枚举 一个有组织的常量系列 比如:一个星期每一天的名字&#xf…

【SpringCloud】之入门级及nacos的集成使用

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《SpringCloud开发之入门级及nacos》。&#x1f3…

k8s 陈述式资源管理

k8s 陈述式资源管理 命令行:kubectl命令行工具 优点:90%以上的场景都可以满足 对资源的增,删,查比较方便,对改不是很友好 缺点: 命令比较冗长,复杂难记 声明式: k8s当中的yaml…

SpringCloud-高级篇(十二)

在主从集群中slave节点发生了宕机,不用担心,只要它重启就能从master节点上完成数据的同步,恢复数据,如果宕机的不是slave而是master,是不是master重启就可以呢?如果你做了master节点的数据持久化&#xff0…

SolidUI Gitee GVP

感谢Gitee,我是一个典型“吃软不吃硬”的人。奖励可以促使我进步,而批评往往不会得到我的重视。 我对开源有自己独特的视角,我只参与那些在我看来高于自身认知水平的项目。 这么多年来,我就像走台阶一样,一步一步参与…

MySQL第四战:视图以及常见面试题(上)

目录 目录: 一.视图 1.介绍什么是视图 2.视图的语法 语法讲解 实例操作 二.MySQL面试题 1.SQL脚本 2.面试题实战 三.思维导图 目录: 随着数字化时代的飞速发展,数据库技术,特别是MySQL,已经成为IT领域中不可…

自动驾驶:低阶可部署的单目测距算法-基于YOLO与透视变换

一、开发环境 部署平台:英伟达的Jetson Nano 环境:Linux ROS 语言:C 设备:1920*1080像素的摄像头、开发板。 模型:yolo-v8s 二、单目测距实现思路 0、标定相机和车辆(假设已经标定完成) 1、通…

配置cendos 安装docker 配置阿里云国内加速

由于我安装的cendos是镜像版。已经被配置好了。所以只需要更新相关配置信息即可。 输入 yum update自动更新所有配置 更新完成后输入 yum list docker-ce --showduplicates | sort -r 自动查询所有可用的docker版本 输入 yum install docker-ce docker-ce-cli container…

【Nginx】#安装配置及应用场景使用说明

文章目录 常见公网DNS服务1.Nginx的安装版本区别解压文件1.1编译安装1.2 启动安装1.3 安装成系统服务 2.运行原理3.Nginx配置及应用场景3.1最小配置worker_processesworker_connectionsinclude mime.types;default_type application/octet-stream;sendfifile on;keepalive_time…

k8s实践(14)--scheduler调度器和pod调度策略

一、scheduler调度器 1、kube-scheduler简介 k8s实践(10) -- Kubernetes集群运行原理详解 介绍过kube-scheduler。 kube-scheduler是运行在master节点上,其主要作用是负责资源的调度(Pod调度),通过API Server的Watch接口监听新建…

vue3按钮点击频率控制

现有一个按钮&#xff0c;如下图 点击时 再次点击 刷新窗口再次点击 刷新窗口依然可以实现点击频率控制。 代码实现&#xff1a; <template><!--<el-config-provider :locale"locale"><router-view/></el-config-provider>--><el…

TypeScript 从入门到进阶之基础篇(四) symbol类型篇

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇 持续更新中… 文章目录 …