此文系【大话云原生】系列第四篇,该系列文章 冀望用最艰深、简略的语言阐明白云原生生态系统内的组成、架构以及利用关系。从这篇开始咱们要开始针对 Kubernetes 进行介绍了,本文内容如下:
一、Kubernetes 的 Pod 概念解析
前文说到老婆过生日了咱们一起进来游览,上了个人服务班车,小娜同学 (老婆) 闲聊到:“这服务还不错哈,2 个跟车向导,1 个司机”。三句不离老本行,我无聊的说到:“他们三个人就是一个 Pod,提供一天的游览服务内容,有主有次不可分割 ”。
小娜同学又上套了:“什么是 Pod 啊?英文单词豌豆荚?”,让老婆减少对老公崇拜感的机会不可多得,那就开讲,反正坐车也是闲着。
- 一般来说一个 Pod 提供一种服务(微服务),“哎?之前说容器的时候你也是这么说的”。是的,容器是提供服务的最小单元,那么 Pod 是什么概念?这是因为咱们当初探讨的是 k8s,Pod 是 k8s 服务调度的最小单元。
- “为什么引入 Pod 的概念?”,因为有的时候你会发现:一个服务通常蕴含辅助它的服务。比方这个车上,一个向导长得丑陋口才好作为主导游提供外围解说服务,还有一个辅助她的向导负责发帽子、统计人数、统计生产等。同理回到架构技术角度,一个 nginx 提供 web 服务容器作为外围服务容器,负责收集 nginx 日志的服务容器作为辅助服务和它部署在一起,这样不便日志收集与连贯。
- 一个 Pod 存在一个根底容器 Infra,根底容器 Infra 提供了网络共享的能力,就像主导游和辅助向导必须在一辆车(根底容器 Infra)上,或者基于这辆车组成了一个组合,否则他们之间无奈对话及资源共享。
- 一个 Pod 下的容器共享网络及数据卷,所以将容器服务间具备相当强的捆绑关系的服务容器放到一个 Pod 外面,通常一个容器提供外围服务,其余的容器提供辅助服务,如:日志收集、监控告警等。
二、Pod 标签与 Service 服务
聊着聊着很快车就到了游览目的地,一下车发现 X 公司的团队还真不少。向导都对立都带上了 深红色的帽子 (游客带上蓝色遮阳帽),浩浩荡荡登程。 深红色的帽子为向导打上了标签,他们面向游客(用户)提供了对立的一种服务叫做:“向导服务”。
对于 K8s 中的服务架构也是一样的:
- 一个 Pod 通常提供一种服务,如 nginx web 拜访服务
- 多个提供同样服务的 Pod 通常打上一样的标签
- 创立 Service:具备同一种标签的 Pod 组成一个 Service,对外提供服务。
三、自动化服务降级 - 灰度公布
咱们明天的我的项目是爬山,提供了两种形式:一是间接爬(即步行),二是坐缆车,当然如果你中途爬不动了也能够在缆车换乘站上缆车。
- 步行到缆车能够了解为一次服务降级(1.0 版本服务降级为 2.0 版本服务)。从技术角度,服务降级等同于新版本服务的部署被称为 Deployment。K8s 同样应用 Deployment 这个术语代表服务降级部署。
- ReplicaSet 代表一个版本的 Pod 服务组合,1.0 步行版本的 Pod 服务组合,2.0 为缆车版本的 Pod 服务组合,这样了解是不是容易多了呢?
- 在服务容器部署 Deployment 的过程中,不心愿服务中断(即:不心愿对步行 1.0 的用户的服务呈现中断状况),所以停掉一个 1.0 的 Pod,再启动一个 2.0 的 Pod2.0,这个过程被称为灰度公布。整个过程高度依赖 Kubernetes 提供的自动化运维能力。
下面的图每个 RS 只有 2 个 Pod,还不能那么直观的了解灰度公布,看上面这张图
- 圆形代表 Pod,分为 v1 版本和 v2 版本,虚线标识的 Pod 示意行将下线的 Pod
- v1 版本的 Pod 减一,v2 版本的 pod 加一
- 逐步 ReplicaSet:v1 的 Pod 全副销毁,ReplicaSet:v2 的 Pod 逐步被创立并启动提供服务
- 整个的灰度公布过程,在 k8s 种通过一个 Deployment 进行定义。
此专栏《大话云原生》的前三篇文章如下
- 《【大话云原生】煮饺子与 docker、kubernetes 之间的关系》
- 《【大话云原生】负载平衡篇 - 小饭馆的流量变大了》
- 《【大话云原生】微服务篇 - 五星级酒店的服务形式》
如果您读完了感觉有播种,期待您能转发分享,您的反对是我不竭的创作能源!
欢送关注我的博客,更多精品常识合集
本文转载注明出处(必须带连贯,不能只转文字):字母哥博客 – zimug.com
感觉对您有帮忙的话,帮我点赞、分享!您的反对是我不竭的创作能源!。另外,笔者最近一段时间输入了如下的精品内容,期待您的关注。
- 《kafka 修炼之道》
- 《手摸手教你学 Spring Boot2.0》
- 《Spring Security-JWT-OAuth2 一本通》
- 《实战前后端拆散 RBAC 权限管理系统》
- 《实战 SpringCloud 微服务从青铜到王者》