当前位置: 首页 > java >正文

Kubernetes网络服务全解析

 1.  Kubernetes如何在集群的Pod之间提供网络服务?

答:每个 Pod 分配独立 IP,由 Calico 插件配置,确保 Pod 跨节点可直接通信。用Service 为一组 Pod 提供固定访问点,通过标签选择器关联 Pod,自动负载均衡请求。kube-proxy 在节点上维护转发规则(iptables/IPVS),将 Service IP 的请求转发到后端 Pod。

 2. 解释iptables和IPVS代理模式Service的区别。

答:iptables:基于防火墙规则转发,规则多了性能下降,仅支持轮询和会话亲和,适合小规模集群。

IPVS:基于内核负载均衡模块,哈希表存储规则,性能稳定,支持轮询、最小连接等多种算法,适合大规模集群。

iptables 代理模式的 Service:

kube-proxy 会监视 Kubernetes 控制节点对 Service 对象和 Endpoints 对象的添加和移除。对每个Service,它会配置 iptables 规则,从而捕获到达该 Service 的 clusterIP 和端口的请求,进而将请求重 定向到 Service 的一组后端中的某个 Pod 上面。对于每个 Endpoints 对象,它也会配置 iptables 规则, 这个规则会选择一个后端组合。

使用 iptables 处理流量具有较低的系统开销,因为流量由 Linux netfilter 处理,因此无需在用户空间 和内核空间之间进行切换。

IPVS 代理模式的 Service:

在 IPVS (IP Virtual Server)模式下,kube-proxy 监视 Kubernetes 服务和端点,调用 netlink 接口相应地 创建 IPVS 规则,并定期将 IPVS 规则与 Kubernetes 服务和端点同步。该控制循环可确保 IPVS 状态与 所需状态匹配。访问服务时,IPVS 将流量定向到后端 Pod 之一。

IPVS 代理模式基于类似于 iptables 模式的 netfilter 挂钩函数,但是使用哈希表作为基础数据结构,并 且在内核空间中工作, 这意味着,与 iptables 模式下的 kube-proxy 相比,IPVS 模式下的 kube-proxy 重定向通信的延迟要短,并且在同步代理规则时具有更好的性能。与其他代理模式相比,IPVS 模式还支持更高的网络流量吞吐量。

3.举例说明ClusterIP类型Service的用法。

 答:ClusterIP 是默认的 Service 类型,通过集群内部的虚拟 IP暴露服务,仅集群内 Pod 可访问,适用于内部服务通信。Pod IP访问。

4. 举例说明NodePort类型Service的用法。

答:NodePort 类型 Service 通过在每个节点上开放静态端口(NodePort)暴露服务,外部可通过节点IP:NodePort访问,适用于需要外部临时访问集群服务的场景。

5.举例说明Headless类型Service的用法。

答:Headless Service是不分配 ClusterIP 的 Service,DNS 解析时直接返回所有关联 Pod 的 IP,适用于客户端需要知道所有 Pod 实例的场景,获取的地址每一个都可以进行后端访问。

6. 详细说明Ingress的实现原理和它所实现的功能。

答:Ingress 是 Kubernetes 中用于管理 HTTP/HTTPS 流量路由的 API 对象,通过 Ingress Controller 将外部流量转发到集群内的 Service,用户定义的路由规则(YAML),包含域名、路径、后端 Service 等配置。外部流量(如用户请求)首先到达集群边缘的 Ingress Controller。Ingress Controller 根据 Ingress 资源规则,将流量按域名(或路径转发到对应的后端 Service。Service 再将流量转发到关联的 Pod,完成请求处理。

实现的功能:

HTTP/HTTPS 路由;HTTPS 终止;负载均衡;

7.简述LoadBalancer类型的service。

LoadBalancer 是使用外部负载均衡器对外暴露服务,此时 Kubernetes 并不直接提供负载均衡组件, 需要自行将 Kubernetes 集群与负载均衡器组件进行集成。
MetalLB 是一个用于在 Kubernetes 集群中提供外部 IP 地址的负载均衡器实现。MetalLB 支持两种
操作模式:Layer 2 模式和 BGP 模式。Layer 2 模式是最简单的配置方式,在大多数情况下,不需
要任何特定协议的配置,只需要 IP 地址即可。
http://www.xdnf.cn/news/18600.html

相关文章:

  • Linux netfilter工作原理详解
  • Mac简单测试硬盘读写速度
  • 暴雨环境漏检率下降78%!陌讯动态融合算法在道路积水识别的工程突破
  • LeetCode 面试经典 150_数组/字符串_找出字符串中第一个匹配项的下标(23_28_C++_简单)(KMP 算法)
  • PyTorch 面试题及详细答案120题(71-85)-- 高级特性与工具
  • Base64 编码优化 Web 图片加载:异步响应式架构(Java 后端 + 前端全流程实现)
  • vue实现小程序oss分片上传
  • 合合信息acge模型获C-MTEB第一,文本向量化迎来新突破
  • 微前端架构核心要点对比
  • C++ 使用最新 MySQL Connector/C++(X DevAPI)+ CMake 完整教程
  • 力扣 30 天 JavaScript 挑战 第38天 (第九题)学习了 语句表达式的区别 高级函数 promise async await 节流
  • 《P3623 [APIO2008] 免费道路》
  • Redis Set 类型详解:从基础命令到实战应用
  • git实战(8)git高阶命令分析【结合使用场景】
  • 本地Docker部署开源Web相册图库Piwigo与在线远程访问实战方案
  • 如何优雅解决 OpenCV 分段错误(Segfault):子进程隔离实战
  • pig框架导入总结
  • 动手学深度学习(pytorch版):第六章节—卷积神经网络(1)从全连接层到卷积
  • 新能源汽车热管理仿真:蒙特卡洛助力神经网络训练
  • Text2SQL、ChatBI简介
  • [Vid-LLM] 功能分类体系 | 视频如何被“观看“ | LLM的主要作用
  • Flink2.0学习笔记:使用HikariCP 自定义sink实现数据库连接池化
  • 一键部署开源 Coze Studio
  • 第三阶段数据库-9:循环,编号,游标,分页
  • 字节跳动开源Seed-OSS:36B参数模型以512K上下文与可控思考预算重新定义AI实用主义
  • [激光原理与应用-320]:结构设计 - Solidworks - 软件工具UI组织的核心概念
  • 解决散点图绘制算法单一导致的数据异常问题
  • STM32窗口看门狗(WWDG)深度解析:精准守护嵌入式系统的实时性
  • python学习DAY49打卡
  • SHAP分析+KOA-RIME开普勒结合霜冰算法双重优化BP神经网络+9种映射方法+新数据预测!机器学习可解释分析!