zoukankan      html  css  js  c++  java
  • Kubernetes网络模型概念

    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。

  • 相关阅读:
    成年人的快乐
    90后家庭的宠物
    计算机科学与技术易错知识点需记篇
    微机原理与接口编程技术2020 考试大纲知识点超细总结
    84.手写一个类的继承
    83.对前端路由的理解?前后端路由的区别
    81.$(document).ready()方法和window.onload有什么区别?
    80.浏览器是如何渲染页面的
    77、常用的拖拽事件
    75.json和jsonp的区别?
  • 原文地址:https://www.cnblogs.com/menkeyi/p/7134464.html
Copyright © 2011-2022 走看看