Kubernetes 中的服务(Service)可以理解为对外暴露服务的最小单元对象,这个和 Pod 对象还是有不同的。例如用户通过发布服务对象 Deployment 发布应用,当在容器集群中启动后,ReplicaSet 副本对象会帮我们维持 Pod 实例的副本数。Pod 使用的容器网络默认会选择构建在主机网络上的覆盖网络(Overlay),默认外网是无法直接访问这些 Pod 实例服务的。为了能有效对接容器网络,Kubernetes 创建了另外一层虚拟网络 ClusterIP,即 Service 对象。从实现上来看,它借助 iptables 调用底层 netfilter 实现了虚拟 IP,然后通过相应的规则链把南北向流量准确无误的接入后端 Pod 实例。随着需求的衍生,后来扩展的 Ingress 对象则是借助第三方代理服务如 HAProxy、Nginx 等 7 层引流工具打通外部流量和内部 Service 对象的通路。Ingress 对象的目的就是为了解决容器集群中需要高性能应用网关接入的需求。

Service 的思考

Service 定义的网络基于 iptables 编排 netfilter 规则来支持虚拟 IP。Service 对象被设计为反向代理模式,支持南北向流量的负载均衡,通过 DNAT 把流量转到后端的具体业务的 Pod 中。为了劫持接入流量和 NAT 转换,Kubernetes 创建了两条自定义链规则 PREROUTING 和 OUTPUT。如:

-A PREROUTING -m comment --comment "kubernetes service portals" -j KUBE-SERVICES
...
-A OUTPUT -m comment --comment "kubernetes service portals" -j KUBE-SERVICES
...

PRE

理解对方暴露服务的对象 Ingress 和 Service相关推荐

  1. Kubernetes 系列(三):Kubernetes使用Traefik Ingress暴露服务

    一.Kubernetes 服务暴露介绍 从 kubernetes 1.2 版本开始,kubernetes提供了 Ingress 对象来实现对外暴露服务:到目前为止 kubernetes 总共有三种暴露 ...

  2. k8s-(七)暴露服务的三种方式

    上一篇博客总结的项目怎么部署到k8s上运行,但是运行pod ip是docker网桥的IP地址段进行分配的,通常是一个虚拟的二层网络,外部网络并没有办法访问,并且,pod ip是随时会变的,不是固定的, ...

  3. 如何在Kubernetes中暴露服务访问

    Kubernetes概述 最近的一年,kubernetes的发展如此闪耀,正被越来越多的公司采纳用于生产环境的实践.同时,我们可以在最著名的开发者问答社区StackOverflow上看到k8s的问题数 ...

  4. 你知道K8S暴露服务的方式有哪些吗?

    Kubernetes支持多种将外部流量引入集群的方法.ClusterIP.NodePort和Ingress是三种广泛使用的资源,它们都在路由流量中发挥作用.每一个都允许您使用一组独特的功能和折衷方案来 ...

  5. dubbo源码学习三—暴露服务exporter、invoker

    前面我们知道通过自定义标签,我们可以定位到相关标签的解析,同时梳理出三个重要的bean:ServiceBean.ReferenceBean.ConfigCenterBean. 通过Servicebea ...

  6. 深入理解Java类型信息(Class对象)与反射机制

    关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解Java并发之synchronize ...

  7. CANOpen服务数据对象报文

    SDO是服务数据对象接口(ServiceData Object)的缩写,顾名思义提供服务数据的访问接口,所谓服务数据指一些实时性要求不高的数据,一般是指节点配置参数,因此,SDO一般用来配置和获得节 ...

  8. EJB3.0学习笔记---理解远程调用服务端和本地调用服务端的区别

    项目目的:理解远程调用服务端和本地调用服务端的区别 1.异常:       javax.ejb.EJBException: Local and Remote Interfaces cannot hav ...

  9. 对象tostring后怎么转成对象_和女生相亲后怎么联系对方?和相亲对象该如何聊天...

    马上就要过年了,很多男青年又会被家里催着相亲,无论你正在相亲还是在相亲的路上,许多男生都有这样的困扰,就是相亲之后该怎么和对方联系?需要天天联系对方吗?该怎么跟相亲对象聊天呢? 下面小编就和大家分享和 ...

最新文章

  1. SAP MM Inbound Delivery凭证流里不出现采购订单号?
  2. c# 重写override
  3. [转]C++/CLI与C#常用语法对比
  4. Snmp扫描-snmpwalk、snmpcheck
  5. JavaScript——对象合并解决方案
  6. 练习7.28、7.29、7.30
  7. js中cookie操作
  8. 使用mysql_fetch_array()获取当前行数据
  9. C语言log日志管理-支持文件与终端输出
  10. 力扣530. 二叉搜索树的最小绝对差(JavaScript)
  11. MSSQL-Server On Docker
  12. mysql Sql slow log_mysql 5.5 开启慢日志slow log的方法(log_slow_queries)
  13. h5是什么 www.php.cn,html5是什么?html5有什么用?
  14. dateutils java_JAVA 日期处理工具类 DateUtils
  15. 如何做好客户需求分析
  16. optuna自动调参框架对lgb的超参进行优化
  17. CentOS 7 搭建CA服务器 实现HTTPS取证
  18. 传统语音增强——基于先验信噪比的维纳滤波语音降噪算法
  19. 计算机网络(思科)章节测试总结
  20. 牛顿迭代法-求平方根

热门文章

  1. 思科交换机实现管理口访问设置+远程登录(一)
  2. 放置江湖服务器维护,放置江湖挂机收益如何最高 挂机收益最高时间分析[图]
  3. BG-sentry的安装和配置
  4. FANUC数控系统类有哪些最新发表的毕业论文呢?
  5. [math]判断一个点是否在多边形内的方法
  6. Echarts实现模拟航线
  7. EXSI+VSPHERE的安装配置+三种虚拟磁盘模式
  8. 流动电影放映服务器维修,流动数字电影放映机的日常操作与维护
  9. mysql8.0安装详解
  10. No mapping for GET xxx 错误