k8s 自身原理之 Service

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: k8s 自身原理之 Service

好不容易,终于来到 k8s 自身的原理之 关于 Service 的一部分了

前面我们用 2 个简图展示了 pod 之间和 pod 与 node 之间是如何通信息的,且通信的数据包是不会经过 NAT 网络地址转换

那么 Service 又是如何实现呢?

Service 我们知道是用来对外暴露服务的 ip 和 端口的,好让外部的客户端可以访问到我们内部 pod 提供的服务

另外 Service 管理的 pod ,实际的 ip 和 端口 列表,都是存放在对应的 endpoints 里面的

目前为止,我们也仅仅是停留在会使用 Service 了,那么 Service 自身的原理又是如何呢?我们一起来瞅瞅看

对于 Service 的服务 ip 地址,也是一个虚拟的,同时也是对外暴露了 1 个或者多个端口,既然是虚拟的,咱们肯定是 ping 不通的,例如我的 minikube 环境

当然,我们看了之前的分享之后,发现 k8s 中对于资源的变动,基本上都是使用的监听机制,那么对于 Service 的行为 和 endpoints 的行为,是不是同样是被不同的关键组件所监听呢?

我们可以用一个简图来了解一下:

图中,我们可以看到

  • 一个 Service 管控的是 2 个 pod,具体的 ip 和 端口 列表 都是存放在 endpoints 中
  • kube-proxy 会监控 ApiServer 中 Endpoints 对象的变化,若 endpoints 这中 list 有变化,kube-proxy 监听到之后,就会通知 iptables 去配置新的规则
  • 例如环境中的 一个 pod 3 发请求给到咱们这个 Service,发出来的 目的地址是 Service 的地址和端口
  • 但是通过 iptables 设定的规则进行转换,目的地址和端口就变成了 Service 管控的 pod 自己的 ip 和端口了

就看这个流程,好像也不复杂嘛,那么实际生产环境中也会是这样的吗?我们可以思考一下

今天就到这里,学习所得,若有偏差,还请斧正

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~

更多的可以查看 零声每晚八点直播:https://ke.qq.com/course/417774

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
8天前
|
Kubernetes 监控 调度
K8S中Scheduler原理分析
【6月更文挑战第20天】K8S Scheduler是集群的关键组件,它监听API Server,为新Pod选择合适的Node。
|
1月前
|
Java 数据库连接 Spring
K8S+Docker理论与实践深度集成java面试jvm原理
K8S+Docker理论与实践深度集成java面试jvm原理
|
1月前
|
运维 Kubernetes Linux
Kubernetes详解(七)——Service对象部署和应用
Kubernetes详解(七)——Service对象部署和应用
49 3
|
1月前
|
Kubernetes 测试技术 Docker
K8S中Deployment控制器的概念、原理解读以及使用技巧
K8S中Deployment控制器的概念、原理解读以及使用技巧
|
1月前
|
运维 Kubernetes Cloud Native
探索Kubernetes的大二层网络:原理、优势与挑战🚀
在云原生领域,Kubernetes (K8s) 已经成为容器编排的事实标准☁️📦。为了支撑其灵活的服务发现和负载均衡🔍🔄,K8s采用了大二层网络的设计理念🕸️。本文将深入探讨大二层网络的工作原理、带来的好处✨,以及面临的挑战和解决方案❗🛠️。
探索Kubernetes的大二层网络:原理、优势与挑战🚀
|
1月前
|
Kubernetes 网络协议 应用服务中间件
kubernetes核心技术之Service知识点总结
kubernetes核心技术之Service知识点总结
25 0
|
1月前
|
存储 运维 Kubernetes
容器服务ACK常见问题之修改service的名字失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
1月前
|
Kubernetes 监控 调度
|
1月前
|
Kubernetes 负载均衡 算法
kubernetes—Service详解
kubernetes—Service详解
57 0
|
1月前
|
Kubernetes 负载均衡 网络协议