首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构驿站

    Kubernetes 之 Egress 思考

    接下来,我们以 Istio 为例,简要阐述一下 Egress Gateway 实现场景,具体场景如下:在我们的 Case 中的应用程序命名空间中有两个应用程序:APP-A 和 APP-B,我们希望可以实现以下目标 综上所述,基于容器 K8S 生态中 “Egress“ 机制的相关思考,本文到此为止,大家有任何问题或建议,可以随时留言、沟通。

    2.2K40编辑于 2021-12-09
  • 来自专栏k8s技术圈

    Istio Egress 出口网关使用

    另一个使用场景是集群中的应用节点没有公有 IP,所以在该节点上运行的网格服务都无法访问互联网,那么我们就可以通过定义 Egress gateway,将公有 IP 分配给 Egress Gateway 节点 接下来我们就来学习下在 Istio 中如何配置使用 Egress Gateway。 如何再定义一个 VirtualService 对象将流量从 Sidecar 引导至 Egress Gateway,再从 Egress Gateway 引导至外部服务,如下所示: apiVersion: 除此之外还需要创建一个目标规则和一个虚拟服务,用来引导流量通过 Egress Gateway,并通过 Egress Gateway 与外部服务通信。 egress 网关流向外部服务。

    92020编辑于 2023-11-20
  • 来自专栏CNCF

    Antrea Egress用户指南

    什么是Egress? Egress资源是用来管理集群内Pods出口流量的CRD API。它支持为Pod访问外部网络的流量指定出口IP(SNAT IP)和出口节点。 当Egress应用于某个Pod时,它的出口流量将通过隧道传输到配置有对应Egress IP的节点(如果Egress IP所在的节点不同于Pod运行的节点的话),并经过SNAT将数据包源地址转换为Egress 打开Egress特性开关 Egress在v1.0.0版本中作为alpha特性引入,和其他alpha特性一样,需要在antrea-controller和antrea-agent组件的配置文件中打开Egress : true antrea-controller.conf: | featureGates: Egress: true Egress资源 Egress资源示例: apiVersion 注意如果一个Pod匹配了多于一个Egress并且他们的egressIP不同,这个Pod的出口流量会从这些egress IP中随机选择。

    1.2K70发布于 2021-08-26
  • 来自专栏伪架构师

    (译)Egress gateway 性能测试

    在博客使用外部 MongoDB 服务中介绍了为外部 MongoDB 配置 Egress gateway 的具体步骤。 案例 3: Egress gateway 配置 Egress gateway 以及配套的 Destination rule 和 Virtual service,用于访问 MongoDB。 所有进出外部数据库的流量都从 Egress gateway(Envoy)通过。 ? 这里创建了一个 Nginx 代理,在 Egress gateway Pod 中作为 Sidecar 来使用。 ? Egress gateway 的引用没有对性能和 CPU 消耗的显著影响。

    1.3K40发布于 2019-07-23
  • 来自专栏伪架构师

    Istio 大入门 — Egress Gateway

    这里就需要使用刚才说的 Egress Gateway 了。 根据官方示例介绍,这种方式的基本访问流程是: 建立 Service Entry 对象,注册外部服务。 建立 Egress Gateway 注册出口。 如果流量发生在 egress gateway,则把请求转发到外部。 开始之前 跟前文一样,需要部署两个版本的 sleep 服务。源码见后。 - httpbin-gateway # 前面为 “httpbin.org” 注册的 Egress gateway。 如果查看 Egress gateway controller 的日志,也会看到这一访问的踪迹: $ kubetail egress -n istio-system Will tail 1 logs..

    3.8K21发布于 2019-07-23
  • 来自专栏二哥聊云原生

    理解 net device Ingress 和 Egress 双重角色

    也就是说它同时扮演着双重身份:Ingress 和 Egress。 理解了这点也就明白了对于 bridge 的 Port 而言,它是没有所谓的 Ingress 和 Egress 的概念的。 对于 Egress 过程,无论是物理网卡还是虚拟网卡,在它从链路层那里拿到数据后,总是通过网卡驱动程序将数据送离本设备。 Ingress 过程和 Egress 过程在内核中的处理路径完全不同,也更无对称可言。 tc eBPF 强依赖 Ingress 和 Egress,理解了它们也才能更好地理解 bpf_redirect() 。

    3.2K41编辑于 2023-03-09
  • 来自专栏伪架构师

    (译)HTTP Egress 流量的监控和访问策略管理

    配置 Egress Gateway :如何配置 Istio 令其使用独立的 egress gateway 网关服务来发送 Egress 流量。 收集指标和日志:为网格中的服务配置指标和日志。 开始之前 依照 配置 Egress Gateway,使用 Egress Gateway 执行 TLS 访问 任务中的步骤,不要执行清理操作。 配置监控和访问策略 既然要用安全方式来完成任务,就需要通过 egress gateway 来进行 egress 传输,这部分内容在 配置 Egress Gateway 中有详细描述。 instances: - egress-access.logentry --- # Info 级别的 Egress 日志 apiVersion: "config.istio.io/v1alpha2 和 HTTPS egress 控制的比较 这个用例中,应用使用的是 HTTP 和 Istio Egress Gateway 结合提供 TLS 的。

    1.9K20发布于 2019-07-23
  • 来自专栏Godev

    外包精通--Istio Egress Gateway 之外部服务访问

    由于所有来自启用了istio的pod的出站流量在默认情况下都被重定向到它的sidecar代理,所以在集群外部访问url取决于代理的配置。默认情况下,Istio将特使代理配置为传递未知服务请求。尽管这为开始使用Istio提供了一种方便的方法,但是配置更严格的控制通常是可取的。

    1.3K30编辑于 2023-07-28
  • 来自专栏CNCF

    Antrea v1.2.0版本发布:支持Egress高可用

    (#2151,@ramay1) 亮点一:更灵活的Egress IP 配置,支持Egress节点故障转移 添加新的 ExternalIPPool API 以定义可用作出口SNAT IP 的 IP地址范围; 当Egress应用于某个Pod时,它的出口流量将通过隧道传输到配置有对应Egress IP的节点(如果Egress IP所在的节点不同于Pod运行的节点的话),并经过SNAT将数据包源地址转换为Egress Egress metadata: name: egress-prod-web spec: appliedTo: namespaceSelector: matchLabels 列表,看到系统在external-ip-pool指定的IP范围内自动为Egress分配了IP,并且将IP自动配置到了指定的节点“kind-worker2”: # kubectl get egress NAME ( #2317 , @hongliangl ) 修复同时启用AntreaProxy和Egress 时节点内 ClusterIP 服务访问问题。

    89130发布于 2021-08-26
  • 来自专栏七禾页话

    云原生|关于K8s中Ingress和Egress流量的那些事儿

    这部分流量称为Egress流量,POD在发起Egress流量的时候,先封装一个数据包:源地址为POD的IP即192.168.1.1,目的地址是10.10.10.10;然后数据包发给K8s,K8s需要针对目的地址进行路由匹配

    1.7K30编辑于 2023-11-20
  • 来自专栏虚拟化笔记

    OVN架构和原理

    logical switch和logical router翻译成logical flow logical flow有switch和router datapath,每个datapath又分为ingress和egress Table 0: Pre-LB Egress Table 1: to-lport Pre-ACLs Egress Table 2: Pre-stateful Egress Table 3: LB Egress Table 4: to-lport ACLs Egress Table 5: to-lport QoS Marking Egress Table 6: to-lport QoS Meter Egress Table 7: Stateful Egress Table 8: Egress Port Security - IP Egress Table 9: Egress Port Security - L2 Table 0: UNDNAT Egress Table 1: SNAT(Gateway Routers or Distributed Routers) Egress Table 2: Egress

    3.3K20发布于 2021-02-24
  • 来自专栏云原生实验室

    Istio 的高级边缘流量控制(二)

    上一节我演示了如何通过 Egress Gateway 引导 Istio 的出口 HTTP 流量,但到 443 端口的 HTTPS 流量没有通过 Egress Gateway,而是直接转到 edition.cnn.com 本文尝试将这两者结合起来,先将 HTTP 流量路由到 Egress Gateway,然后直接使用 Egress Gateway 发起 TLS 连接。 前提条件与上一篇文章相同。 1. 这里 VirtualService 会分别为网格内的应用和 Egress Gateway 各创建一条路由,以实现通过 Egress Gateway 访问目的地址 edition.cnn.com:443。 注意,这里我们只将到 80 端口的 HTTP 流量重定向到 Egress Gateway,并通过 Egress Gateway 发起 TLS 连接;到 443 端口的 HTTP 流量仍然直接通过应用的 参考 配置 Egress gateway

    1.3K30发布于 2019-08-29
  • 来自专栏喵了个咪的博客空间

    六, 跨语言微服务框架 - Istio Ingress和Egress详解(解决Istio无法外网访问问题)

    传统意义上的网关很难做到出口网络控制,但是对于Istio是一件非常轻松的事情(因为所有的出口流量都会经过Istio),入口网关控制解析路由数据流向,出口网关控制对外访问的限制,在Istio中使用了 Ingress和Egress Egress(出口网关) 入口网关大家都很好理解不就是一个NGINX域名解析路由控制嘛,你这个出口网关有啥用啊?

    5K20发布于 2019-05-26
  • 来自专栏菲宇

    Kubernetes之Network Policy

    本字段可以看作是一个开关,如果其中包含Ingress,则Ingress部分定义的规则生效,如果是EgressEgress部分定义的规则生效,如果都包含则全部生效。 当然此字段也可选,如果没有指定的话,则默认Ingress生效,如果Egress部分有定义的话,Egress才生效。 怎么理解这句话,下文会提到,没有明确定义Ingress、Egress部分,它也是一种规则,默认规则而非没有规则。 .spec.ingress与.spec.egress 前者定义入pod规则,后者定义出pod规则,详细参考这里,这里只讲一下重点。 : name: allow-all spec: podSelector: {} egress: - {} policyTypes: - Egress 与默认允许所有入pod流量(

    1.5K30发布于 2019-06-12
  • 来自专栏Tungsten Fabric中文社区

    TF+K8s部署指南丨利用TF防火墙策略实现Kubernetes网络策略(含映射表)

    例1 - 有条件的egress和ingress流量 以下策略指定了一个网络策略示例,其中包含了一个命名空间中所有 pod 的ingress和egress流量的特定条件。 -0 通过 任何 namespace=default > 任何 4、防火墙策略 创建以下防火墙策略: 名称 规则 default-allow-all-egress default-egress-allow-all-egress-allow-all -0 例5 - 默认拒绝所有egress流量 以下策略明确拒绝来自命名空间中所有pod的所有egress流量。 键 值 命名空间 默认 2、地址组 - 无 3、防火墙规则 - 无 注意:任何具有egress策略类型的网络策略的隐性行为都是拒绝不匹配显性egress允许流的相应流量。 的所有ingress和egress流量。

    1K00发布于 2020-12-19
  • 来自专栏charlieroro

    Istio的流量管理(实操三)

    首先完成中的egress-gateway-for-https-traffic步骤,然后执行如下操作 1.创建test-egress命名空间 $ kubectl create namespace test-egress deployment sleep -n test-egress $ kubectl apply -f samples/sleep/sleep.yaml -n test-egress 11.校验test-egress HTTP流量的egress网关中展示例子展示了如何配置istio来通过一个特定的egress网格服务来转发egress流量。 rules和virtual service来将流量转发到egress网关上,并通过该egress网关转发给外部服务。 1.为*.wikipedia.org,创建一个egress Gateway,destination rule和一个virtual service,将流量导入egress网关,并通过egress网关访问外部服务

    5.2K20发布于 2020-09-01
  • 来自专栏乔边故事

    Kubernetes中网络控制器之NetworkPolicy

    podSelector: matchLabels: role: frontend ports: - protocol: TCP port: 6379 egress policyTypes:定义NetworkPolicy的类型,ingress表示流入请求,egress表示流出请求。 default namespace下标签为project: myproject的的Pod请求; podSelector:限制Pod,上面定义即为允许标签为role: frontend的Pod请求; 而egress (4)、默认允许所有Egress: apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: allow-allspec: podSelector: {} egress: - {} policyTypes: - Egress (5)、拒绝所有Ingress和Egress: apiVersion: networking.k8s.io

    96620发布于 2020-03-22
  • 来自专栏后端开发

    一次 default deny 把 DNS、metrics 统统挡掉的真实故障复盘

    若超时或 no servers could be reached,结合 default deny 推断 egress 被拦。 根因分析命名空间级 default deny 不区分业务与系统流量,prod 内 Pod 的 egress 全被拦截。 : ['Egress'] egress: - to: - namespaceSelector: matchLabels: kubernetes.io/metadata.name namespace: prodspec: podSelector: {} policyTypes: ['Egress'] egress: - to: - ipBlock: namespace: prodspec: podSelector: {} policyTypes: ['Egress'] egress: - to: - namespaceSelector

    38010编辑于 2025-09-30
  • 来自专栏后端开发

    当 NetworkPolicy 默认拒绝 邂逅 egress 遗漏:一次把全集群 DNS 掐断的惨痛事故复盘

    我们的策略只定义了 ingress 放行、未定义 egress 放行,等价于将 egress 完全关死。 namespace: paymentsspec: podSelector: {} policyTypes: [Egress] egress: - to: - ipBlock 理解 egress 的隔离语义:只要某个 Pod 被任何 egress 策略选中,它的出站立刻进入白名单模式。把这句话贴在变更单模板上,能少很多事故。 比如 Calico 还支持 FQDN 域名级 egress 放行(通过 DNS 解析到 IP 后动态放通),这对访问外部 SaaS 非常有用;但这只适用于 egress allow,并且需要信任的 DNS Red Hat 与 CNCF 的 egress 指南与最佳实践,强调 默认拒绝 后按需放行。 Calico 文档:默认拒绝、策略排障、DNS 域名级 egress

    43000编辑于 2025-09-21
  • 来自专栏云原生实验室

    Istio 的高级边缘流量控制(一)

    本文将会通过 Egress Gateway 来引导 Istio 的出口流量,与 Istio 出口流量的 TLS 任务中描述的功能的相同,唯一的区别就是,这里会使用 Egress Gateway 来完成这一任务 Istio 0.8 引入了 ingress 和 Egress gateway 的概念。 Egress Gateway 允许将 Istio 的流量治理功能(例如,监控和路由规则)应用于 Egress 流量。 1. 用例 设想一个具有严格安全要求的组织。 通过定义 Egress Gateway,并将公共 IP 分配给 Egress Gateway 节点,然后通过它引导所有出口流量,就可以控制网格内服务访问外网服务了。 2. 参考 配置 Egress gateway

    1.9K20发布于 2019-08-29
领券