【问题标题】:what is the network structure like in a cluster?集群中的网络结构是什么样的?
【发布时间】:2021-03-05 11:49:36
【问题描述】:

我很难理解 Kubernetes 网络架构到底是什么样的。

作为一个基本的理解,“每个 IP 后面都有一台机器”,但是在托管在某个地方的集群内的节点内的 Pod 内有这些容器。

添加服务、部署和其他 kubernetes 对象,使其更加混乱。文档对此并不十分清楚。我只是迷路了,双手举在空中

我能否要求简要说明什么网络位于哪个网络中,以及哪些元素具有 IP 和/或端口?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    “每个IP后面都有一台机器”

    我不确定你说的是哪个IP

    如果我们关注main,Kubernetes中有多个组件

    • POD(运行 docker 容器)
    • 部署
    • 服务
    • 入口

    现在,如果谈论管理流量,它的工作原理就像

    入口 > 入口控制器 > 服务 > 部署 > POD > 容器

    为每个 POD(工作负载)分配了 IP

    但是在正常情况下它没有用,它由 K8s 自动管理,与它无关。

    它将是内部 IP,因此您无法从 Kubernetes 外部连接 POD 的工作负载。

    现在我们有了服务类型

    • 集群IP
    • 负载平衡器
    • 节点端口

    集群 IP 与 Kubernetes 管理的内部 IP 相同。

    负载平衡器暴露在互联网上,就像您将 LB 附加到您的工作负载或应用程序一样,因此它将暴露在互联网上。

    在这种情况下,您将获得对互联网开放的外部 IP。

    这就像实习生拱门。

    如果我们谈论简单的集群架构

    主节点工作节点

    工作节点具有基于您的私有 Kubernetes 集群或公共 Kubernetes 集群的内部和外部 IP。

    每个容器或 POD 在工作节点上运行,并且在理想情况下具有内部 IP。

    多个工作负载或容器可以在单个机器或单个 VM 节点上运行。

    端口的使用方式与我们通常使用的方式相同。

    例如这是我的测试服务:

    apiVersion: v1
    kind: Service
    metadata:
      name: test
      labels:
        app: test
    spec:
      ports:
      - name: http
        port: 80
        targetPort: 9595
      - name: https
        port: 9595
        targetPort: 9595
      selector:
        app: test
        tier: frontend
    

    它暴露了两个端口 80 和 9595。如果你仔细观察targetPort: 9595,在这两种情况下都有一个目标端口,它将流量转移到我的容器或工作负载所在的 9595 端口正在运行。

    【讨论】:

    • 关于有 IP 的节点和 Pod,K8s 网络模型(kubernetes.io/docs/concepts/cluster-administration/networking) 规定“一个节点上的 Pod 可以与所有节点上的所有 Pod 通信,无需 NAT”。但是我想一个节点有一个内部网络,其中每个 pod 都在其中,那么如果我想从节点 N1 中的 pod P1 到达节点 N2 中的 pod P2 怎么办?很迷惑,是不是每个节点都有专用网络之类的?
    • 为此您可以使用服务层。您可以使用服务名称作为主机名,以便它自动管理节点和 pod 级别的路由。
    • 这取决于场景节点内部 IP 可能很重要,但在非常一般的场景中,它并不经常使用。
    • 您在同一个 Kubernetes 集群上运行您的应用程序和数据库。您也可以在后台通过mysql-database 等服务调用您的数据库,它将自动解析IP。您的 app2 想要调用 app1 只需使用服务名称即可。
    • 如果您仍有任何疑问,请随时与我联系。
    猜你喜欢
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2012-04-21
    相关资源
    最近更新 更多