图解 K8s 核心概念和术语( 二 )


图解 K8s 核心概念和术语

文章插图
 
Replica SetReplica Set 目的是为了定义一个期望的场景,比如定义某种 Pod 的副本数量在任意时刻都处于 Peplica Set 期望的值,假设 Replica Set 定义 Pod 的副本数目为:replicas=2,当该 Replica Set 提交给 Master 后,Master 会定期巡检该 Pod 在集群中的数目,如果发现该 Pod 挂掉了一个,Master 就会尝试依据 Replica Set 设置的 Pod 模板创建 Pod,以维持 Pod 的数量与 Replica Set 预期的 Pod 数量相同 。
通过 Replica Set,k8s 集群实现了用户应用的高可用性,而且大大减少了运维工作量 。因此生产环境一般用 Deployment 或者 Replica Set 去控制 Pod 的生命周期和期望值,而不是直接单独创建 Pod 。
图解 K8s 核心概念和术语

文章插图
 
类似 Replica Set 的还有 Deployment,它的内部实现也是通过 Replica Set 实现的,可以说 Deployment 是 Replica Set 的升级版,它们之间的 yaml 配置文件格式大部分都相同 。
ServiceService 是 k8s 能够实现微服务集群的一个非常重要的概念,顾名思义,k8s 的 Service 就是我们平时所提及的微服务架构中的“微服务”,本文上面提及的 Pod、Replica Set 等都是为 Service 服务的资源, 如下图表示 Service、Pod、Replica Set 的关系:
图解 K8s 核心概念和术语

文章插图
 
从上图可看出,Service 定义了一个服务访问的入口,客户端通过这个入口即可访问服务背后的应用集群实例,而 Service 则是通过 Label Selector 实现关联与对接的,Replica Set 保证服务集群资源始终处于期望值 。
以上只是一个微服务,通常来说一个应用项目会由多个不同业务能力而又彼此独立的微服务组成,多个微服务间组成了一个强大而又高可用的应用服务集群 。
图解 K8s 核心概念和术语

文章插图
 
NamespaceNamespace 顾名思义是命名空间的意思,在 k8s 中主要用于实现资源隔离的目的,用户可根据不同项目创建不同的 Namespace,通过 k8s 将资源分配到不同 Namespace 中,即可实现不同项目的资源隔离:
图解 K8s 核心概念和术语

文章插图
 

【图解 K8s 核心概念和术语】


推荐阅读