【问题标题】:Helm Deployment vs ServiceHelm 部署与服务
【发布时间】:2019-01-12 08:59:46
【问题描述】:

我正在尝试了解 k8s 和 helm。

当我创建 helm chart 时,有 2 个文件:service.yamldeployment.yaml。它们都有一个 name 字段。

如果我理解正确,部署将负责管理 pod、副本集等,从而管理服务。

基本上,为什么允许我为服务和部署使用单独的名称?在什么情况下,我们希望这两个名称不同?一个部署可以有多个服务吗?

【问题讨论】:

    标签: service deployment kubernetes kubernetes-helm


    【解决方案1】:

    “服务”会在您的集群中创建一个永久 IP 地址,这是其他一切连接它的方式。 Deployment 创建了一个 ReplicaSet,它创建了一个 Pod,这个 Pod 是那个服务的后端。可以有超过 1 个 pod,在这种情况下服务负载平衡,这些 pod 会随着时间而改变,改变 IP,但您的服务保持不变。

    将服务视为指向您的 pod 的负载平衡器。它类似于接口和实现。服务就像一个接口,由 pods 和 impementations 支持。

    映射是 m:n。您可以让多个服务由一个 pod 支持,也可以由多个 pod 支持一个服务。

    【讨论】:

    • 啊,所以服务和部署是不同的实体。部署并不完全“包含”服务,反之亦然。所以 Kubernetes 使用“服务”来暴露“部署”提供的服务。我现在的理解是否正确?
    • 是的,你明白了。
    • 如果服务是负载均衡器,那么入口是?
    • @user960567 更像是:Pod 是单个或一组容器 | Deployment 是 Pods 的部署管理器 | Service 是 Kubernetes 的 Internet 接口(允许进出 Kubernetes 集群的通信 - 与 kube-proxy 高度耦合) | Ingress 是一个负载均衡器(它允许使用单个入口点创建多个目标组)
    猜你喜欢
    • 2020-12-07
    • 2019-11-03
    • 1970-01-01
    • 2022-12-29
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多