系统内的组成、架构、应用关系。从这篇文章开始,我们就开始介绍Kubernetes。本文内容如下:1.Kubernetes的Pod概念解析To:“这个服务还不错,有2个导车,1个司机”。三句老话不多说了,无聊的说:“他们三个是一个Pod,提供一天的旅行服务内容,有一个主人和一个形影不离的时间。”小娜又中计了:“什么是Pod?英文单词peapod?”难得有机会让老婆增加对老公的敬佩感,先说吧,反正车闲着。一般来说,一个Pod提供一个服务(微服务),“咦?你之前讲容器的时候也是这么说的”。没错,容器就是提供服务的最小单位,那么Pod是什么概念呢?这是因为我们现在讲的是k8s,而Pod是k8s服务调度的最小单位。“为什么要引入Pod的概念?”,因为有时候你会发现一个服务通常包含辅助它的服务。比如在这辆车里,有一位漂亮能说会道的导游作为主要导游提供核心讲解服务,还有一位导游协助她分发帽子、清点人数、清点消费等。同理,回到架构技术的角度,一个nginx提供了一个web服务容器作为核心服务容器,负责收集nginx日志的服务容器作为辅助服务与其一起部署,方便日志收集和连接.一个Pod存在于一个基础容器Infra中,它提供了网络共享的能力,就像主导游和副导游必须在一辆车上(基础容器Infra),或者基于这辆车组成一个组合,否则他们有他们之间没有对话和资源共享。一个Pod下的容器共享网络和数据量,因此容器服务之间具有强绑定关系的服务容器被放置在一个Pod中。通常,一个容器提供核心服务,其他容器提供辅助服务,比如:日志采集,监控告警等。2.聊聊Pod标签和Service服务,车子很快就到了旅游目的地。下了车,发现X公司的队伍还蛮多的,导游们都戴上了深红色的帽子(游客戴的是蓝色的遮阳帽),浩浩荡荡地出发了。深红色的帽子标志着导游,他们为游客(用户)提供的统一服务称为:“导游服务”。K8s中的服务架构也是如此:通常一个Pod提供一个服务,比如nginxweb访问服务。提供相同服务的多个Pod通常会打上相同的标签来创建一个Service:具有相同标签的Pod组成一个Service,对外提供。服务。3、服务自动升级-灰度发布我们今天的项目是爬山,提供两种方式:一种是直接爬山(也就是步行),一种是坐缆车。当然,如果中途爬不上去,也可以在缆车处换乘上缆车。步行到缆车可以理解为服务升级(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表示将下线的Podv1版本v2版本的Pod减一,v2版本的pod加一。ReplicaSet:v1Pod全部销毁,逐渐创建ReplicaSet:v2Pod并开始提供服务。整个灰度发布流程在k8s中通过一个Deployment来定义。本专栏的前三篇《大话云原生》如下《【大话云原生】煮饺子与docker、kubernetes之间的关系》《【大话云原生】负载均衡篇-小饭馆的流量变大了》《【大话云原生】微服务篇-五星级酒店的服务方式》如果你看完后觉得有所收获,期待你的转发分享。您的支持是我创作不竭的动力!欢迎关注我的博客,本文转载更多优质知识合集,注明出处(一定要有链接,不能只是文字):字母哥博客-zimug.com如果觉得对你有帮助,请点赞分享!您的支持是我创作不竭的动力!.另外,作者近期输出了以下优质内容,期待大家的关注。《kafka修炼之道》《手摸手教你学Spring Boot2.0》《Spring Security-JWT-OAuth2一本通》《实战前后端分离RBAC权限管理系统》《实战SpringCloud微服务从青铜到王者》
