k8s pod里访问不到外部ip_Pod在混合云中的多K8S集群通信,RH@KubeCon 2019 Day2

2023-05-16

dd16eda133ba001d698471d743a58352.png

本Topic是红帽的两位软件工程师。笔者按照自己的理解和这两位同事的探讨,对演讲内容进行解读(注解仅供参考,OCP是红帽OpenShift Container Platform的简称)。

38591f322a0733cf8be6a2fccd45ad77.png

OCP3中,每个pod只能有一个IP地址,OCP4可以配置多个(有了CNI)。不同service之间的pod内部通讯,通过service访问。如果pod要访问外部网络,需要通过NAT的方式,用node的ip出去。如果OCP内部的service要访问外部应用,可以配置service endpoint(为外部的应用在OCP集群配置service)。

但是跨K8S集群的Pod是无法直接通讯的。如果K8S部署在异构云上,更是如此。

92338202ddad17646bf42612f069ebd1.png

但随着红有云的发展,将K8S部署到异构环境中的需求越来越多。这时候不同pod之间如何通讯呢?

这种场景的应用包括但不限于下图:

30a7fcef1441c361fdbafd4a9694da2d.png

a10d96c79a9878ea0d9b1bc3f06f5733.png

我们需要考虑以上几个问题。

b307aec0094efbe3ce2e61c8a5dd52d9.png

两个K8S集群pod之间要通讯,需要考虑两个集群的统一调度、连通,除此之外,还要考虑跨集群的服务注册发现和network policy等。

51b80e32423b73cc3754c798c2d449b3.png

解决这个问题需要推动开源项目来完成。上面的几个开源项目,红帽都参与了。Submariner是解决这个问题的关键。

2ccd63abda5e13e097a28cd26c870b79.png

Submariner有两个组件:Engine(运行在网关节点)和Route Agent(运行通过daemonset的方式运行在所有的K8S节点上)。

826c31bb00281bafc7e1832bcb68d774.png

Submariner是一个开源项目,如上图所示,是为了解决跨K8S集群的pod互通的。上面的两个集群:东群和西群。没有Submariner的情况下,pod跨K8S无法互通。有了Submariner之后,在东群和西群中各推举一个网关节点。这个两个网关节点负责与broker cluster通讯,最终实现跨集群的pod通讯。如果网关节点除了问题,K8S集群可以再推举出一个。

404537a0a12a5f118ba3dc21628f1f05.png

网关节点的选举方式见上图。

de94aef6c6a296a2820bda576885224c.png

网关节点的高可用见上图。

09f0b6f04c32a88065d5a71f00d6772d.png

目前工作方式和前提条件。

5ef252ae5458bbcc4bb0bd99226c5640.png

通讯方式见上图:PodA在东群,podB在西群。网络包精通网关节点传到路由器和公有云,然后传到西群的网关节点最终到达podB。需要注意上图的虚线颜色,集群内部不加密,跨集群加密。

e62dce6e58e584934d6a25725679aa1b.png

Submariner目前尚处于Pre-Alpha阶段。后面还会增加新的功能。

那么,Submariner和联邦集群是否冲突呢?

答案是不冲突。Submariner解决的是pod跨K8S集群之间的通讯,而联邦集群解决的是跨集群的管理和调度,并不能解决pod在K8S 集群之间的通讯。因此,后续Submariner和联邦集群V2会一起工作,相互补充。

84334a6be15caa6b995492bc0aacae42.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s pod里访问不到外部ip_Pod在混合云中的多K8S集群通信,RH@KubeCon 2019 Day2 的相关文章

  • 关于varnish缓存

    目录 引言 xff1a 缓存的概念一 varnish缓存 1 简介2 总体结构 2 1 两个主进程2 2 Varnish的日志2 3 VCL varnish配置缓存策略的工具二 Varnish的工作模式 more 1 状态引擎的处理流程2
  • varnish6.X安装

    目录 1 rpm方式2 编译安装 2 1 依赖包2 2 编译Varnish 本文提供了两种安装方式 xff0c 但建议使用编译安装 官方链接 xff1a https varnish cache org 部署文档 xff1a https va
  • 安装ANSYS19.0的正确方法(附下载)

    安装ANSYS19 0的正确方法 卸载干净旧版本ANSYS 安装或重新安装之前必须先卸载干净 xff0c 安装过旧版本ANSYS的也要确保卸载干净 电脑环境准备参考以下内容 ANSYS 卸载后重装需要注意的问题 百度经验 https jin
  • 软件设计师 - 错题笔记

    2018 年 5 月 上午题 1 浮点数 浮点数对接时 xff0c 先对阶 xff0c 将小阶向大阶对齐 xff0c 同时尾数右移 n 位 xff08 n 为阶差的绝对值 xff09 2 流水线吞吐率 1 t 单位时间流水线处理的任务数 流
  • CAtia_打开提示:许可证过期怎么办

    CAtia 许可证过期怎么办 xff1a 进计算机管理 xff0c 点开服务和应用程序 xff0c 点服务 xff0c 找到DS License Server xff0c 在启动此服务的地方点启动 xff0c 从而开启DS License
  • 小米手机 fastboot 方式刷入 TWRP recovery 教程,以红米4X(santoni)为例

    最新版TWRP下载链接 xff1a https twrp me xiaomi xiaomiredmi4x html platform tools下载地址 xff1a https developer android google cn stu
  • 远程登录DSM,显示“您没有权限使用本项服务?

    远程登录DSM xff0c 显示 您没有权限使用本项服务 xff1f https www chiphell com thread 825297 1 1 html 有可能你单位用的是多wan接入 一般synology不让多个ip同一帐号同时接
  • 无人机寻迹要两个单片机吗_基于OpenMV的循迹无人机设计

    基于OpenMV的循迹无人机设计 发表时间 xff1a 2020 08 24 基于OpenMV机器视觉模块进行目标识别算法的研究 利用图像的滤波 二值化等算法对摄像头采集的图像进行预处理 利用边缘检测和形状识别算法获得引导线的路线信息 xf
  • linux 流量查看工具 iftop 配置

    linux 流量查看工具 iftop 配置 iftop是LINUX下查看网络流量的软件 iftop 官方网站 http www ex parrot com pdw iftop 1 iftop如何安裝 xff1a 首先查看自己的系统是否安裝
  • 技术系统进化法则是_技术系统进化论,模式七、系统由宏观向微观进化

    阿奇舒勒TRIZ理论三个核心思想 xff1a 1 无论是一个简单产品还是复杂的技术系统 xff0c 其核心技术的发展都是遵循着客观的规律发展演变的 xff0c 即具有客观的进化规律和模式 xff1b 2 各种技术难题和矛盾的不断解决是推动这
  • 吉他谱

    其实我是个诗人 01 得不到你 02 多想在平庸的生活拥抱你 03 往后余生 04 成都 转载于 https www cnblogs com zhangmingyan p 11603872 html
  • Openssl配置CA证书及https访问

    一 创建根秘钥对 1 创建目录 cd mkdir root ca cd root ca mkdir certs crl newcerts private chmod 700 private touch index txt echo 1000
  • Thread.currentThread().setContextClassLoader为什么不生效与java.lang.NoClassDefFoundError之Java类加载的Parent fir...

    众所周知 xff0c Java的类加载机制采用了双亲委派模型 xff0c 导致在进行类加载的时候会有多个加载器 xff0c 这种复杂的机制 xff0c 有时候会导致 Exception in thread main java lang No
  • C#编写的通过汉字得到拼音和五笔码

    public static class SpellAndWbConfig region 变量声明 XML文件读取实例 lt summary gt XML文件读取实例 lt summary gt private static XmlReade
  • 设置HTML5的video播放速度

    var speed 61 1 5 设置速度 var vdo 61 document getElementById 34 视频的id 34 获取id vdo playbackRate 61 speed 改变速度 合并一句 document g
  • uni-app 做路由拦截器

    插件市场 xff08 https ext dcloud net cn plugin id 61 159 xff09 吐槽 好多小伙伴跑来问我有没有Uni app视频教程 xff0c 收费的也行 各位uni app 你根本不需要买市面上几百块
  • 华为S5700交换机初始化和配置SSH和TELNET远程登录方法

    华为S5700交换机初始化和配置TELNET远程登录方法 xff1a 1 交换机开启Telnet服务 lt Huawei gt system view 进入系统视图 Huawei telnet server xff1f 查看有enable还
  • 方差的无偏估计如何计算?

    我们常常被问到 34 方差的无偏估计如何计算 xff1f 和有偏估计的区别是什么 xff1f 34 xff0c 心想 34 哎呀 xff0c 又忘了 34 本篇回归问题本质 xff0c 带你理解这些名词背后解决的实际问题 xff08 通过总
  • C++ for无限循环~

    无限循环 如果条件永远不为假 xff0c 则循环将变成无限循环 for 循环在传统意义上可用于实现无限循环 由于构成循环的三个表达式中任何一个都不是必需的 xff0c 您可以将某些条件表达式留空来构成一个无限循环 include lt io
  • VINS-Fuison调试笔记

    最近一直在断断续续的调试vins fuison xff0c odometry总是各种飘 xff0c 令人头大 记录一下调试过程 xff0c 供以后学习参考 首先选用一组可靠的视觉惯导传感器 xff0c 如Realsense D435i xf

随机推荐