使用多网络和Kubernetes转变您的通讯应用程序

传统的 Kubernetes 网络在基本的 Pod 到 Pod 连接方面表现出色,但在满足通讯工作负载的安全性、性能和合规性要求时可能存在不足。这限制了通讯提供商充分利用 Kubernetes 的可扩展性和敏捷性优势的能力。

使用多网络和Kubernetes转变您的通讯应用程序

Google Cloud 的多网络方法使通讯提供商能够克服这些限制,从而实现以下功能,但不限于:

  • 严格的网络隔离:通过隔离 Kubernetes 内的管理、信令和媒体流量来强制遵守法规并增强安全性。
  • 最高性能:对于需要硬件加速(例如 SR-IOV)的通讯应用,实现要求苛刻的 5G 移动核心、RAN 和数据平面工作负载所需的高吞吐量和低延迟。

现有的解决方案例如Multus,它是 Kubernetes 中多宿主 Pod 的元插件,但它有一些缺点:

  • 难以使用:Multus 依赖于非结构化的基于字符串的注释,使得配置复杂且容易出错。
  • 不灵活:它不允许向 Pod 动态添加或删除网络,从而产生运营开销并限制适应性。
  • Kubernetes 集成有限:Multus 缺乏对
    • 网络策略:跨多个网络实施安全性很困难。
    • 网络服务:不支持使用辅助接口的应用程序的负载平衡和运行状况检查。
  • 可观察性差:Multus 使得多网络设置的监控和故障排除变得困难。

Google Cloud 的方法将多网络原生集成到 Kubernetes 中。这使得 Kubernetes 服务、负载均衡器、边界网关协议 (BGP) 和网络策略的使用变得很容易——这对于构建强大的通讯网络至关重要。我们还与 Kubernetes 社区一起研究这个概念,作为云原生计算基金会(CNCF) Kubernetes 增强提案的一部分。

爱立信等合作伙伴支持 Google Cloud 的多网络方法,重点关注满足通讯用例的特定需求。

“谷歌的多网络功能解决了通过网络分离确保通讯部署的安全性和运营效率,同时保留 Kubernetes 标准网络功能的挑战。值得注意的是,谷歌的多网络功能如何在不影响功能的情况下为这一挑战提供解决方案。” - 爱立信

在本博客中,我们探讨了多网络支持的关键通讯用例。我们还深入研究了Google 分布式云(GDC) 中的两个具体实现示例:在 4G/5G 移动核心部署中隔离移动管理实体 (MME) 和归属用户服务器 (HSS) 之间的信令流量,以及隔离网络暴露功能 (NEF) 及其应用功能 (AF) 对等体。

完整原文传送门:使用多网络和Kubernetes转变您的通讯应用程序-国外VPS网站传统的 Kubernetes 网络在基本的 Pod 到 Pod 连接方面表现出色,但在满足通讯工作负载的安全性、性能和合规性要求时可能存在不足。这限制了通讯提供商充分利用 Kubernetes 的可扩展性和敏捷性优势的能力。icon-default.png?t=N7T8https://www.vps911.com/gwvpstj/1719.html

多网络用例#1

云原生网络功能 (CNF) 应用程序需要在其 Kubernetes Pod 中配置额外的接口。出于监管合规性目的,每个接口都必须位于隔离的网络中。隔离必须在第 2 层网络上完成。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_RRbiUht.max-1200x1200.png

多网络用例#2

CNF 应用程序需要向工作负载 Pod 提供基于硬件的接口(例如 SR-IOV VF)。用户空间应用程序(例如基于 DPDK)将利用硬件来实现性能目的(高带宽、低延迟)。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_g38jqGG.max-1200x1200.png

4G/5G组网场景多组网应用

多网络用例:S6a 流量

现在,我们来看看4G移动核心网的移动管理实体(MME)和归属用户服务器( HSS)功能之间组网的多网络框架的具体使用。在4G移动网络中,MME和HSS是负责管理用户连接和安全的关键网元:

  • 女士:
    • 处理用户连接/分离过程,在网络上注册和取消注册设备
    • 当用户移动时管理蜂窝塔之间的切换
    • 路由传入和传出的呼叫以及来自/来自用户的数据流量
  • 高速钢:
    • 存储订阅者信息,例如身份验证凭据、订阅详细信息和漫游协议
    • 执行身份验证和授权程序以验证用户身份和访问控制
    • 向MME提供用户位置信息以用于紧急服务和其他目的

MME 和 HSS 共同提供安全、流畅的用户体验,同时保持网络效率和用户信息完整性。

该连接场景重点介绍了上述用例 1 的特定应用,目的是通过隔离信令网络在连接配置中使用 GDC 连接 MME 和 HSS Pod,该网络提供完全托管的硬件和软件产品,可提供配备 AI、安全性的现代应用程序,并在边缘开源。在此实现中,MME 使用 MACVLAN 类型的接口,HSS Pod 使用单独的多网络接口将 Diameter 流量引导到同一信令网络上。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_cKwYAm3.max-1800x1800.png

以下是信令网络定义和修改后的 HSS Pod 规范的片段,用于在相应 Pod 上引用此附加 Pod 网络:

apiVersion: networking.gke.io/v1
kind: Network
metadata:
  name: signaling-network
  annotations:
       networking.gke.io/gdce-vlan-id: 200
       networking.gke.io/gdce-vlan-mtu: 2000
       networking.gke.io/gdce-lb-service-vip-cidrs: “10.1.1.0/24”
spec:
  type: L2
  nodeInterfaceMatcher:
    interfaceName: "sig-interface-200"
  gateway4: "192.168.200.1"
  l2NetworkConfig:
     prefixLength4: 24

apiVersion: v1
kind: Pod
metadata:
  name: myPod
  annotations:
    networking.gke.io/interfaces: [{"interfaceName":"eth1","interface":"sig-interface-200"}]
    networking.gke.io/default-interface: eth1
...

NEF 上 N33 接口的多网络用例
现在,让我们看看多网络框架在网络暴露功能 (NEF) 及其应用功能 (AF) 对等点(5G 网络架构中的两个节点)之间联网的具体用途:

  • NEF -该网络功能提供了一种将 3GPP 网络功能提供的服务和功能安全地公开给应用程序的方法
  • AF 对等 - 此网络功能在流量管理和 QoS 分配中发挥着关键作用。

在此场景中,NEF 的 AF Peer 驻留在客户的信任域中,并连接到信令网络 (VRF)。默认情况下,NEF Pod 通过其主接口连接到默认网络 (VRF)。为了将流量保持在同一 VRF 上,我们在 NEF Pod 上启用信令多重网络,将它们连接到信令网络。

https://storage.googleapis.com/gweb-cloudblog-publish/images/4_fqn7EBn.max-1500x1500.png

对于上述两个用例,HSS 或 NEF 的 3GPP 端点分别表示为服务 VIP(虚拟 IP),并公开为服务类型:LoadBalancer,在 GDC 中使用捆绑的 BGP 负载均衡器。这是一个基于 BGP 的 L3 负载均衡器。它包括一个作为控制平面的 BGP 扬声器和一个基于 eBPF 的数据路径。 BGP发言者自动将服务IP从Kubernetes服务(类型=LoadBalancer)通告到配置的eBGP对等体。然后,基于 eBPF 的数据路径将传入的服务 VIP 流量分发到后端 Pod。

https://storage.googleapis.com/gweb-cloudblog-publish/images/5_iJMef7G.max-1400x1400.png

以下是负载均衡器规范的片段:

apiVersion: networking.gke.io/v1
kind: BGPLoadBalancer
metadata:
  labels:
    networking.gke.io/nf-operator-autocreated: "true"
  name: signaling-network-bgplb
  namespace: kube-system
spec:
  network: signaling-network
  peerSelector:
    cluster.baremetal.gke.io/multinetwork-peer: "true"G

在这里我们可以看到配置映射规范,它允许我们确定性地选择要分配给 3GPP 服务 VIP 的外部 IP。

apiVersion: v1
data:
  config: |
    address-pools:
    - name: signaling
      protocol: bgp
      addresses:
      - 10.1.1.0/24
kind: ConfigMap
metadata:
  annotations:
    networking.gke.io/network: signaling-network
  name: signaling-network-vip-pool
  namespace: metallb-system
  labels:
    nf-operator-created: true

在本博客中,我们展示了 Google Cloud 的多网络方法如何解锁 Kubernetes 上的关键通讯用例。

更多相关内容欢迎访问我的网站:国外VPS网站 - 国外VPS测评,云服务器,香港VPS,主机推荐

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

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

相关文章

笔记-PPT绘图导出高清无失真图片

问题描述:PPT绘图已经用了高清图(jpg、tif格式),但论文图片还是不清晰,打印出来还是有点糊 以下是PPT导出高清不失真图片(emf格式)的具体描述。 目录 一、绘图工具二、操作步骤 一、绘图工具 …

数据挖掘之基于Lightgbm等多模型消融实验的信用欺诈检测实现

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在当前的金融环境中,信用欺诈行为日益增多,给金融机构和消费者带来了巨大的损…

【已解决】pandas读excel中长数字变成科学计数法的问题

pandas 读excel中的长数字时,即使excel中已经设置为文本,读进df后也会自动变成科学计数法。 在日常的数据分析和处理工作中,Excel和pandas是数据分析师们不可或缺的得力助手。然而,在使用pandas读取Excel文件时,我们有…

Spring Boot的热部署工具“AND”Swagger测试工具

Spring Boot的热部署&Swagger测试页面的使用 热部署指的是在项目无需重启的情况下,只需要刷新页面,即可获得已经修改的样式或功能。要注意该工具一般用于开发环境,在生产环境中最好不要添加这个工具。 对于无需重启便可刷新这么方便的工…

【linux-1-Ubuntu常用命令-vim编辑器-Vscode链接ubuntu远程开发】

目录 1. 安装虚拟机Vmare和在虚拟机上安装Ubuntu系统:2. 常用的Ubuntu常识和常用命令2.1 文件系统结构2.2 常用命令2.3 vim编辑器 3. Ubuntu能联网但是ping不通电脑:4. Windows上安装VScode链接ubuntu系统,进行远程开发: 1. 安装虚…

理解sourcemap:调试和部署的利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

根据顶层的id递归查询出全部子节点

效果图 根据输入的id为2查询出所有的红色框起来的节点 mapper接口 TSystemOrg getOrgByorgId(String orgId); List<TSystemOrg> getOrgListByParentId(String parentId);mapper.xml <!--根据id查询org--> <select id"getOrgByorgId" resultType&…

【JVM】简述类加载器及双亲委派机制

双亲委派模型&#xff0c;是加载class文件的一种机制。在介绍双亲委派模型之前&#xff0c;我需要先介绍几种类加载器&#xff08;Class Loader&#xff09;。 1&#xff0c;类加载器 Bootstrap&#xff0c;加载lib/rt.jar&#xff0c;charset.jar等中的核心类&#xff0c;由…

【算法】【贪心算法】【leetcode】870. 优势洗牌

题目地址&#xff1a;https://leetcode.cn/problems/advantage-shuffle/description/ 题目描述&#xff1a; 给定两个长度相等的数组 nums1 和 nums2&#xff0c;nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列&…

界面组件DevExpress中文教程 - 如何在Node.js应用中创建报表?

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表。 获取DevExpress Reporting最新正式版下载(Q技术…

【SQL Server】入门教程-基础篇(三)

目录 前言 SQL 常用函数学习 AVG – 平均值 COUNT – 汇总函数 ​编辑MAX – 最大值 ​编辑MIN – 最小值 ​编辑SUM – 求和 UCASE/UPPER – 大写 LCASE/LOWER – 小写 ROUND – 数值取舍 NOW/SYSDATE – 当前时间 前言 这一篇博客&#xff0c;是Sql Server函数学…

本地构建编译Apache-Seatunnel2.3.5适配Web1.0.0运行实现Mysql-CDC示例

本地构建编译Apache-Seatunnel2.3.5适配Web1.0.0运行实现Mysql-CDC示例 文章目录 1.前言2.编译2.1版本说明2.2 seatunnel2.3.4-release分支配置2.3maven调优配置 3.web1.0.0适配3.1配置文件修改和新增文件3.2手动拷贝jar修改依赖3.3修改web不兼容的代码3.4 web编译打包 4.运行m…

什么是 Web3 的生成式 AI?

从 Web 1.0 的静态、单向通信到 Web 2.0 的动态、用户驱动的格局&#xff0c;互联网在二十年的时间里经历了一场显着的转变。现在&#xff0c;当我们站在 Web 3.0 时代的边缘时&#xff0c;我们正在见证更具颠覆性的事物的曙光&#xff1a;生成式人工智能 (AI) 融入我们的数字世…

DB-GPT部署验证

一、DB-GPT简介 DB-GPT是一个开源的数据库领域大模型框架。目的是构建大模型领域的基础设施&#xff0c;通过开发多模型管理、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作等多种技术能力&#xff0c;让围绕数据库构建大模型应用更简单&#xff0c;更方便。 GITHU…

找不到msvcr120.dll怎么办,msvcr120.dll丢失的5种修复方法分享

计算机系统在运行某应用程序时无法正常启动&#xff0c;具体表现为缺少了一个至关重要的动态链接库文件——msvcr120.dll。这个DLL文件是微软Visual C Redistributable Package的一部分&#xff0c;对于确保许多基于Windows平台的软件能够顺利运作起着不可或缺的作用。msvcr120…

C、Minimizing the Sum(线性dp)

思路&#xff1a; 用dp[i][j] 来表示前i个数操作了j次的最小和&#xff0c;然后对于每个a[i]&#xff0c;我们分别枚举i前面操作了x次以及后面操作了j次&#xff0c;对于每次操作&#xff0c;都是将一段区间全换位区间最小值. 代码&#xff1a; void solve(){int n, k;cin &…

springboot mongodb分片集群事务

前置 mongodb分片集群想要使用事务,需要对应分片没有仲裁节点 代码 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId><version>2.1.0.RELEASE</version></d…

手拉手CentOS 安装 mysql-5.7

MySQL是一种关系型数据库管理系统&#xff0c;关系数据库将数据保存在不同的表中&#xff0c;而不是将所有数据放在一个大仓库内&#xff0c;这样就增加了速度并提高了灵活性。 tar.gz包安装 #如没有安装wget则无法使用&#xff0c;以装&#xff0c;则直接省略该步~&#xff…

JavaScript系列------2

1. JS 数据类型&#xff1a; 基本数据类型&#xff1a;number数字型,string字符串型,boolean布尔型,undefined未定义型,null空类型 引用数据类型&#xff1a;object对象 js 是弱数据类型的语言&#xff0c;只有当我们赋值了才知道是什么数据类型。 声明一个变量未赋值就是 un…

Arthas进阶

这里写自定义目录标题 六、class和classloader6、dump7、classloader 七、monitor/watch/trace/stack等核心命令的使用1、monitor2、watch3、trace4、stack5、tt6、option7、profiler 六、class和classloader 6、dump 将已加载类的字节码文件保存到特定目录&#xff1a;logs/…