每天5分钟玩转Kubernetes | Kubernetes网络模型
书籍来源:cloudman《每天5分钟玩转Kubernetes》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:每天5分钟玩转Kubernetes | 汇总_COCOgsta的博客-CSDN博客
Kubernetes采用的是基于扁平地址空间的网络模型,集群中的每个Pod都有自己的IP地址,Pod之间不需要配置NAT就能直接通信。另外,同一个Pod中的容器共享Pod的IP,能够通过localhost通信。
这种网络模型对应用开发者和管理员相当友好,应用可以非常方便地从传统网络迁移到Kubernetes。每个Pod可被看作是一个个独立的系统,而Pod中的容器则可被看作同一系统中的不同进程。
下面讨论在这个网络模型下集群中的各种实体如何通信。知识点前面都已经涉及,这里可当作复习和总结。
- Pod内容器之间的通信
当Pod被调度到某个节点,Pod中的所有容器都在这个节点上运行,这些容器共享相同的本地文件系统、IPC和网络命名空间。
不同Pod之间不存在端口冲突的问题,因为每个Pod都有自己的IP地址。当某个容器使用localhost时,意味着使用的是容器所属Pod的地址空间。
比如Pod A有两个容器container-A1和container-A2,container-A1在端口1234上监听,当container-A2连接到localhost:1234时,实际上就是在访问container-A1。这不会与同一个节点上的Pod B冲突,即使Pod B中的容器container-B1也在监听1234端口。
- Pod之间的通信
Pod的IP是集群可见的,即集群中的任何其他Pod和节点都可以通过IP直接与Pod通信,这种通信不需要借助任何网络地址转换、隧道或代理技术。Pod内部和外部使用的是同一个IP,这也意味着标准的 命名服务和发现机制,比如DNS可以直接使用。
- Pod与Service的通信
Pod间可以直接通过IP地址通信,但前提是Pod知道对方的IP。在Kubernetes集群中,Pod可能会频繁地销毁和创建,也就是说Pod的IP不是固定的。为了解决这个问题,Service提供了访问Pod的抽象层。无论后端的Pod如何变化,Service都作为稳定的前端对外提供服务。同时,Service还提供了高可用和负载均衡功能,Service负责将请求转发给正确的Pod。
- 外部访问
无论是Pod的IP还是Service的Cluster IP,它们只能在Kubernetes集群中可见,对集群之外的世界,这些IP都是私有的。
Kubernetes提供了两种方式让外界能够与Pod通信:
- NodePort。Service通过Cluster节点的静态端口对外提供服务。 外部可以通过<NodeIP>:<NodePort>访问Service。
- LoadBalancer。Service利用cloud provider提供的load balancer对外提供服务,cloud provider负责将load balancer的流量导向Service。目前支持的cloud provider有GCP、AWS、 Azure等。
每天5分钟玩转Kubernetes | Kubernetes网络模型相关推荐
- 每天5分钟玩转Kubernetes | 汇总
书籍来源:cloudman<每天5分钟玩转Kubernetes> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 1. 每天5分钟玩转Kubernetes | ...
- 每天5分钟玩转Kubernetes | 各种网络方案
书籍来源:cloudman<每天5分钟玩转Kubernetes> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:每天5分钟玩转Kubernete ...
- Kubernetes Dashboard - 每天5分钟玩转 Docker 容器技术(173)
前面章节 Kubernetes 所有的操作我们都是通过命令行工具 kubectl 完成的.为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web 的 Dashboard,用户可以用 ...
- Kubernetes 架构(上)- 每天5分钟玩转 Docker 容器技术(120)
Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务. Master 节点 Master 是 Kubernetes Cluster ...
- 每天5分钟玩转Kubernetes | Cluster IP底层实现
书籍来源:cloudman<每天5分钟玩转Kubernetes> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! Cluster IP是一个虚拟IP,是由Ku ...
- 学习 Kubernetes 的 Why 和 How - 每天5分钟玩转 Docker 容器技术(114)
这是一个系统学习 Kubernetes 的教程,有下面两个特点: 系统讲解当前最流行的容器编排引擎 Kubernetes 包括了安装部署.应用管理.网络.存储.监控.日志管理等多各个方面. 重实践并兼 ...
- 每天5分钟玩转Kubernetes | Weave Scope
书籍来源:cloudman<每天5分钟玩转Kubernetes> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:每天5分钟玩转Kubernete ...
- 每天5分钟玩转Kubernetes | 先把Kubernetes跑起来
书籍来源:cloudman<每天5分钟玩转Kubernetes> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:每天5分钟玩转Kubernete ...
- Kubernetes 集群日志管理 - 每天5分钟玩转 Docker 容器技术(180)
Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elasticsearch ...
最新文章
- 重磅!如何高效学习单目深度估计
- mysql性能优化学习笔记-存储引擎
- [转] MMO即时战斗:地图角色同步管理和防作弊实现
- [导入]使用tomcat5.0自带的连接池
- 模态对话框和非模态对话框区别
- 技术分享 | jaeger链路日志实现
- 【转】ABP源码分析二十九:ABP.MongoDb
- python实现录音小程序 界面_小程序如何实现录音 播放功能
- php 项目中引用对方接口_关于PHP中为什么要写接口的问题说明
- 《Tensorflow 实战google深度学习框架》第二版源代码
- 打印机后台程序没有启动
- sql server2016数据库学习必备(保姆级教程)
- deepin系统引导_Deepin系统安装教程
- 手机如何取消安全模式
- JS 流行库(五):Swiper
- html中repeat的作用,深入探究CSS repeat()函数知识及用法
- 下一个20年全球开发者将过亿?Tesra超算网络与开发者一起迎接AI时代的到来!
- 同步脑电图-功能磁共振融合推断宏观脑动力学
- innerHTML与innerText与outHTML与outText 的区别。
- 循环 — 你必须要会的十五道编程题