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

Kubernetes-03:Service

1.ClusterIP类型

        ClusterIP 是 Kubernetes 默认的 Service 类型,在集群内部创建一个虚拟 IP(VIP)作为统一访问入口,仅允许集群内 Pod 互相访问。

  1. 通过 kube-proxy 监听 API Server 的 Service 变化

  2. 配置 iptables/IPVS 规则,将发往 ClusterIP 的请求负载均衡到后端 Pod

  3. 基于 Endpoints 对象动态关联健康 Pod

有以下作用:

·服务发现:Pod 可通过 Service 名称(如 my-svc.default.svc.cluster.local)访问后端。

·负载均衡:自动将流量分发到多个 Pod。

·解耦:前端应用无需感知后端 Pod IP 变化。

2.NodePort类型

        在 ClusterIP 基础上,在每个节点上开放一个静态端口(默认范围 30000-32767),使外部流量可通过 节点IP:端口 访问服务。

3.Headless类型

        通过设置 clusterIP: None 创建无虚拟 IP 的 Service,直接返回后端 Pod IP 列表而非代理流量。

  1. DNS 查询返回所有 Pod 的 A 记录(如 pod-ip1, pod-ip2)

  2. 客户端自行选择 Pod 直连

  3. StatefulSet 的 Pod 会获得唯一 DNS 名称(如 web-0.nginx)

适用于以下情况:

·有状态服务:配合 StatefulSet 实现 Pod 级服务发现(如数据库主从)。

·自定义负载均衡:客户端直接控制流量分发。

·批处理系统:任务调度器直接通信 Worker Pod

4.LoadBalancer类型

        云厂商集成的外部负载均衡器,自动创建云平台的 LB(如 AWS ELB、GCP Cloud LB)并分配公网 IP。原理如下:

·向云平台API发起LB创建请求

·将节点配置为LB后端

·外部流量经 LB 分配到节点,再通过 NodePort 到 Pod

5.Ingress控制器

        HTTP/HTTPS 流量的七层网关,通过规则实现域名、路径路由到不同 Service(需配合 Ingress Controller 使用)。

  1. Ingress 资源:定义路由规则(如 host: example.com, path: /api)

  2. Ingress Controller(如 Nginx/ Traefik):监听规则变化并动态配置代理服务器

  3. 外部流量先到达 Controller,再按规则转发到后端 Service

核心功能对比表

Service类型访问范围网络层级典型场景
ClusterIP集群内部L4微服务间通信
NodePort节点IP+端口L4开发测试环境暴露服务
Headless集群内部DNS直连数据库集群/Pod 直连
LoadBalancer公网L4云环境生产服务暴露
Ingress公网/域名L7HTTP 路由管理和 TLS 终止

http://www.dtcms.com/a/329202.html

相关文章:

  • LeetCode——456. 132 模式
  • 6 .循环-for
  • 高级项目——基于FPGA的串行FIR滤波器
  • Rust面试题及详细答案120道(01-10)-- 基础语法与数据类型
  • 日志数据链路的 “搬运工”:Flume 分布式采集的组件分工与原理
  • React常见的Hooks
  • 低成本扩展方案:S7-200SMART作为S7-1500分布式IO从站的上位机配置指南
  • 第三天-在DBC中创建一个Signal Group信号组
  • MySQL新增字段与Java实体不同步:常见问题排查与高效解决方案
  • 流处理 or 批处理?大数据架构还需要流批一体吗?
  • wangeditor v4修改缩进并清除粘贴文档带入的格式
  • MySQL极简安装挑战:从依赖管理到高效部署
  • MySQL数据线上扩容方案
  • npm安装时一直卡住的解决方法
  • Grayscale® 推出 Walrus 和 DeepBook 信托产品
  • 图像分类-动手学计算机视觉10
  • 解决:[64000][257] ORA-00257: 归档程序错误。只有在解析完成后才以 AS SYSDBA 方式连接问题
  • 面试实战 问题二十七 java 使用1.8新特性,判断空
  • 深入理解 uni-app 的 uni.createSelectorQuery()
  • SAP Valuation Category在制造业成本核算中的使用场景与配置方案
  • Easysearch 数据迁移之 INFINI Gateway
  • 云计算-OpenStack 运维开发实战:从 Restful API 到 Python SDK 全场景实现镜像上传、用户创建、云主机部署全流程
  • OpenBMC 中命令模式的深度解析:从原理到实现
  • Flink中的窗口
  • HTML5 Canvas实现数组时钟代码,适用于wordpress侧边栏显示
  • 用 mock 把 ES 单元测试@elastic/elasticsearch-mock 上手
  • PyTorch基础(使用TensorFlow架构)
  • Nginx的SSL通配符证书自动续期
  • Python(二):MacBook安装 Python并运行第一个 Python 程序
  • docker搭建java运行环境(java或者springboot)