Kubernetes网络模型

Kubernetes网络模型设计的一个基础原则是:每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的、扁平的网络空间中。所以不管它们是否运行在同一个Node(宿主机)中,都要求它们可以直接通过对方的IP进行访问。设计这个原则的原因是,用户不需额外考虑如何建立Pod之间的连接,也不需要考虑将容器端口映射到主机端口等问题。 
实际在Kubernetes的世界里,IP是以Pod为单位进行分配的。

按照这个网络抽象原则,Kubernetes对网络有什么前提和要求呢?

  • 所有容器都可以在不用NAT的方式下同别的容器通信;

  • 所有节点都可以在不用NAT的方式下同所有容器通信,反之亦然;

  • 容器的地址和别人看到的地址是同一个地址;

网络通信的场景

  1. 容器到容器的通信。 
    同一个Pod内的容器(Pod内的容器是不会跨宿主机的)共享同一个网络命名空间,共享同一个Linux协议栈。可以直接通过localhost互相访问。

  2. Pod之间的通信:同一个Node内。 
    通过Veth连接在同一个docker0网桥上,它们的IP地址都是从docker0的网桥上动态获取的,它们和网桥本身的IP3是同一个网络段的。

  3. 不同Node上的Pod之间的通信。 
    对docker0的IP地址做统一的规划;对Pod的IP地址做统一的规划;

  4. Pod到Service之间的通信。 
    Service的虚拟IP通过每个Node上的kube-proxy映射到不同的Pod上,暂时只支持轮询。

  5. 外部到内部的访问 
    NodePort、LoadBalancer。

转载于:https://www.cnblogs.com/menkeyi/p/7134464.html

Kubernetes网络模型概念相关推荐

  1. 课时 25:Kubernetes 网络模型进阶(叶磊)

    本文将主要分享以下五个方面的内容: Kubernetes 网络模型来龙去脉 Pod 究竟如何上网? Service 究竟怎么工作? 啥?负载均衡还分内部外部? 思考时间 Kubernetes 网络模型 ...

  2. 从零开始入门 K8s | Kubernetes 网络模型进阶

    作者 |  叶磊(稻农)阿里巴巴高级技术专家 本文整理自<CNCF x Alibaba 云原生技术公开课>第 25 讲,点击直达课程页面. 关注"阿里巴巴云原生"公众号 ...

  3. 深入浅出 Kubernetes 网络模型基础指南

    Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行.监控和排查应用程序 ...

  4. [k8s] 第一章 十分钟带你理解Kubernetes核心概念

    本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念.组件和工作原理. 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

  5. Kubernetes基本概念之Name和NameSpace

    在Kubernetes中,所有对象都会被指定一个唯一的Name和UID. 用户还可以指定一些不要求唯一性的数据附加到对象上,例如Label和Annotation. 1. Name Name是创建一个K ...

  6. Kubernetes——基本概念与理论

    这里写目录标题 一.Kubernetes是什么? 二.Kubernetes特性 三.Kubernetes集群架构与组件 1.Master组件 2.Node组件 四.Kubernetes核心概念 五.官 ...

  7. 十分钟带你理解Kubernetes核心概念

    原文地址:http://www.dockone.io/article/932 十分钟带你理解Kubernetes核心概念 本文将会简单介绍Kubernetes的核心概念.因为这些定义可以在Kubern ...

  8. 通过插画理解kubernetes基本概念

    ========== 第一篇 ========== 转自:https://www.cnblogs.com/kouryoushine/articles/8007648.html 插画版Kubernete ...

  9. Kubernetes 核心概念介绍

    云计算.容器化以及容器编排是 DevOps 中最重要的发展趋势,无论你是数据科学家.软件开发者还是产品经理,了解 Docker 和 Kubernetes 的基本概念总是有好处的,二者可以帮助你与他人协 ...

最新文章

  1. html自动移动滚动条,css隐藏移动端滚动条并平滑滚动
  2. 面试题:聊聊Unix与Java的IO模型?
  3. java安全编码指南之:字符串和编码
  4. javascript 打造城市选择控件,兼容IE6以及以上,谷歌,Firefox
  5. linux是不是显示不了中文版,Linux为什么OpenOffice下不能显示中文
  6. 学习C++项目—— 搭建多进程网络服务框架,增加业务和日志,心跳机制
  7. 地籍测绘成图软件南方cass9.0支持AutoCad2010【安装文件和视频教程】
  8. Linux 软件 缺少库查询
  9. python猜数字统计游戏次数_详解用Python语言写的一个猜数字游戏
  10. python和unity3d_请教:28岁女自学转行unity3d或python,能否给些选择建议?
  11. 记录今天用ETL工具KETTLE遇到打不开job问题
  12. 数据库之十二星座 水瓶座
  13. Openpose2d转换3d姿态识别
  14. 【VRP系统你了解多少呢?】
  15. 第六节 电路搭建 我们何尝不是基建狂魔
  16. Halcon几何定位
  17. 新冠插值法matlab_如何用MATLAB 编写interpl插值函数
  18. 机器学习算法工程师面试知识点汇总
  19. 树莓派驱动28byj步进电机
  20. 外星人入侵(使用python编写)

热门文章

  1. python爬取豆瓣代码_python爬取豆瓣视频信息代码
  2. mysql批量插入跟更新_Mysql批量插入和更新的性能-问答-阿里云开发者社区-阿里云...
  3. mac解压错误22无效的参数_看看PHP 7.3新版本中的JSON错误处理
  4. AcWing 1987. 粉刷栅栏(离散化+差分)
  5. linux 查看libevent 安装目录,Linux系统centos6.7上安装libevent
  6. mysql中mapping标签的作用_3种高效的Tags标签系统数据库设计方案分享
  7. 生存分析——泊松回归(LightGBM)实现生存分析(四)
  8. Linux安装后无法进入图形界面(GNOME,KDE等)的解决方法
  9. [tensorflow]tensorflw2.1.0张量和变量介绍
  10. CentOS7.3上部署安装Oracle12c