在Kubernetes(k8s)中,Deployment、Service和Pod是三个核心概念,它们在应用部署、服务发现和负载均衡方面扮演着不同的角色。以下是它们的定义、作用及它们之间的关系与区别: 1. Pod 定义:Pod是Kubernetes中最小的可部署单元,它是一组紧密关联的容器的集合。Pod内的容器共享相同的网络命名空间和存储卷。 作用: 容器化...
k8s的Service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,来自外部的访问请求被负载均衡到后端的各个容器应用上。Service与其后端Pod副本集群之间则是通过Label Selector实现关联。 简单来说前端请求不是直接发送给Pod,而是发送到Service,Service再将请求转发给pod。
4、Deployment 提供了一种对 Pod 和 ReplicaSet 的管理方式,RS 的使用都是结合 Deployment 来完成的。 5、一般使用 Deployment 来滚动升级一个服务,滚动升级一个服务,实际是创建一个新的 RS,然后逐渐将新 RS 中副本数增加到理想状态,将旧 RS 中的副本数减小到 0 的复合操作;这样一个复合操作用一个 RS 是不...
Services在kubenetes中,是帮助Pod提供网络服务的。比如你要访问Pod里的应用,需要通过端口来访问,而Service可以通过端口代理转发,让你通过Node节点上的端口能够访问到你的Pod应用。 一、Pod与Service的关系 通过lable-selector相关联 通过Service实现Pod的负载均衡(TCP/UDP 4层) Yaml配置文件例子: [root@k8s-master-12...
Deployment 是控制器的一种 在同一时刻运行的 Pod 集合可能与稍后运行该应用程序的 Pod 集合不同 这导致了一个问题: 如果一组 Pod(比如: “后端”)即有3个pod提供同一个微服务 这是微服务的多实例,也是 K8s 的核心作用 后端为群集内的其他 Pod(比如: “前端”)提供功能 ...
2.Deployment 作用于一组Pod的创建和运行,控制pod应用的升级、回滚,当然也能控制pod的数量。 3.Service 在K8S中,一方面Pod有伸缩与重新部署的需求,Pod的IP大多数情况是不固定的,另一方面,同一组Pod之间也有负载均衡的需要。因此,一组Pod被抽象成一个Service统一向外暴露。Service与其后端Pod副本集群之间则是通过Label...
所以service 和deployment的区别,就是一个是从网络角度的抽象概念service,类型nginx做负载均衡提供的统一网络入口。而pod是最终的应用部署实体。 deoplyment 负责创建和保持pod运行状态 service 可以独立于deployment工作,但是需要一个个去创建pod,而不是像deployment那样一次性创建。
KubernetesPods是有生命周期的。他们可以被创建,而且销毁不会再启动。如果您使用Deployment来运行您的应用程序,则它可以动态创建和销毁 Pod。 一个Kubernetes的Service是一种抽象,它定义了一组Pods的逻辑集合和一个用于访问它们的策略 - 有的时候被称之为微服务。一个Service的目标Pod集合通常是由Label Selector来决定的...
三、Service Service 做服务发现 指定 Deployment 或者特定集合 Pod 的网络层抽象 spec.selector: 指定如何选择 Pod spec.ports: 指定如何暴露端口 创建NodePort service时,用户可以指定范围为30000-32767的端口,对该端口的访问就能通过 kube-proxy 代理到service后端的pod中 ...