gpt4 book ai didi

kubernetes - 集群中的网络结构是什么样的?

转载 作者:行者123 更新时间:2023-12-04 08:00:40 27 4
gpt4 key购买 nike

我很难理解 Kubernetes 网络架构到底是什么样的。
作为一个基本的理解,“每个 IP 后面都有一台机器”,但是在托管在某个地方的集群内的节点内的 Pod 内有这些容器。
添加服务、部署和其他 kubernetes 对象,使其更加困惑。文档对此并不十分清楚。我只是迷路了,双手举在空中
我能否要求简要说明什么网络位于哪个网络中,以及哪些元素具有 IP 和/或端口?

最佳答案

“每个 IP 后面都有一台机器”
我不确定你说的是哪个 IP
如果我们关注 main,Kubernetes 中有多个组件

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

  • 现在,如果谈论管理流量,它的工作就像
    入口 > 入口 Controller > 服务 > 部署 > POD > 容器
    每个 都分配有 IP POD (工作量)
    但它在正常情况下没有用,它由 K8s 自动管理,与它无关。
    它将是内部 IP,因此您无法从 Kubernetes 外部连接 POD 的工作负载。
    现在我们有 的类型服务
  • 集群IP
  • 负载均衡器
  • 节点端口

  • 集群 IP 与 Kubernetes 管理的内部 IP 相同。
    负载均衡器暴露在互联网上,就像您将 LB 附加到工作负载或应用程序一样,因此它将暴露在互联网上。
    在这种情况下,您将获得对互联网开放的外部 IP。
    这就像实习生拱门。
    如果我们谈论简单的集群架构
    主节点 工作节点
    工作节点具有基于您的私有(private) Kubernetes 集群或公共(public) 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 我的容器或工作负载将在其上运行的端口。

    关于kubernetes - 集群中的网络结构是什么样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66492070/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com