后端技术杂谈11:十分钟理解Kubernetes核心概念

  • 时间:
  • 浏览:2

可能性日后不响应的Pod恢复了,现在不到 一一另另四个Pod了,没办法 Replication Controller会将其中一一另另四个终止保持总数为3。可能性在运行中将副本总数改为5,Replication Controller会立刻启动一一另另四个新Pod,保证总数为5。还可不还可否 按照另一一另另一个的最好的方式缩小Pod,这名底部形态在执行滚动

一一另另四个有点儿类型的Kubernetes Service,称为'

  1. Pod模板:用来创建Pod副本的模板
  2. Label:Replication Controller不到监控的Pod的标签。
现在可能性创建了Pod的或多或少副本,没办法 在哪此副本上怎么均衡负载呢?或多或少人不到的是Service。

【Kubernetes培训通知】DockOne可能性于2018年8月17日在深圳举办Kubernetes技术培训,培训内容包括:Docker介绍、Docker镜像、网络、存储、容器安全;Kubernetes架构、设计理念、常用对象、网络、存储、网络隔离、服务发现与负载均衡;Kubernetes核心组件、Pod、插件、微服务、云原生、Kubernetes Operator、集群灾备、Helm等

原文链接:Learn the Kubernetes Key Concepts in 10 Minutes(翻译:崔婧雯) 

时很有用。

可不还可否 看一遍一一另另四个典型的Kubernetes架构图。

  • Kubelet:是主节点代理。
  • Kube-proxy:Service使用其将链接路由到Pod,如上文所述。
  • Docker或Rocket:Kubernetes使用的容器技术来创建容器。

Kubernetes Master

集群拥一一另另四个Kubernetes Master(紫色方框)。Kubernetes Master提供集群的独特视角,日后拥有一系列组件,比如Kubernetes API Server。API Server提供可不还可否 用来和集群交互的REST端点。master节点包括用来创建和复制Pod的Replication Controller。

崔婧雯,现就职于IBM,高级软件工程师,负责IBM WebSphere业务流程管理软件的系统测试工作。曾就职于VMware从事桌面虚拟化产品的质量保证工作。对虚拟化,里面件技术,业务流程管理有浓厚的兴趣。

Replication Controller确保任意时间不到 指定数量的Pod“副本”在运行。可能性为某个Pod创建了Replication Controller日后指定5个副本,它会创建5个Pod,日后持续监控它们。可能性某个Pod不响应,没办法 Replication Controller会替换它,保持总数为3.如下面的动画所示:

微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容富足,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java应用程序员面试指南等干货资源)

的核心概念。可能性哪此定义可不还可否 在Kubernetes的文档中找到,好多好多 有文章也会外理用大段的枯燥的文字介绍。相反,或多或少人会使用或多或少图表(其中或多或少是动画)和示例来解释哪此概念。或多或少人发现或多或少概念(比如Service)可能性没办法 图表的辅助就很难全面地理解。在要花费的地方或多或少人也会提供Kubernetes文档的链接以便读者深入学习。

译者介绍

集群是一组节点,哪此节点可不还可否 是物理服务器可能性虚拟机,之上安装了Kubernetes平台。下图展示另一一另另一个的集群。注意该图为了强调核心概念有所复杂。

现在,假定有一一另另四个后台Pod,日后定义后台Service的名称为‘backend-service’,lable选择器为(tier=backend, app=myapp)。backend-service 的Service会完成如下两件重要的事情:

  • 会为Service创建一一另另四个本地集群的DNS入口,日后前端Pod只不到DNS查找主机名为 ‘backend-service’,就可不还可否解易挥发前端应用应用程序可用的IP地址。
  • 现在前端可能性得到了后台服务的IP地址,日后它应该访问一一另另四个后台Pod的哪一一另另四个呢?Service在这名一另另四个后台Pod之间提供透明的负载均衡,会将请求分派给其中的任意一一另另四个(如下面的动画所示)。通过每个Node上运行的代理(kube-proxy)完成。这里有更多技术细节。
下述动画展示了Service的功能。注意该图作了好多好多 有复杂。可能性不进入网络配置,没办法 达到透明的负载均衡目标所涉及的底层网络和路由相对先进。可能性有兴趣,这里有更深入的介绍。

  • 可能性Pod是短暂的,没办法 我为何会 可不还可否持久化容器数据使其可不还可否跨重启而位于呢? 是的,Kubernetes支持卷的概念,日后可不还可否 使用持久化的卷类型。
  • 是与否手动创建Pod,可能性你会 创建同一一另另四个容器的多份拷贝,不到一一另另四个个分别创建出来么?可不还可否 手动创建单个Pod,日后可不还里可否 使用Replication Controller使用Pod模板创建出多份拷贝,下文会全版介绍。
  • 可能性Pod是短暂的,没办法 重启时IP地址可能性会改变,没办法 为何会 可不还可否另一一另另一个端容器正确可靠地指向后台容器呢?这时可不还可否 使用Service,下文会全版介绍。

Lable

正如图所示,或多或少Pod有Label()。一一另另四个Label是attach到Pod的一对键/值对,用来传递用户定义的属性。比如,你可能性创建了一一另另四个"tier"和“app”标签,通过Label(tier=frontend, app=myapp)来标记前端Pod容器,使用Label(tier=backend, app=myapp)标记后台Pod。日后可不还可否 使用Selectors选择带有特定Label的Pod,日后将Service可能性Replication Controller应用到里面。

当创建Replication Controller时,不到指定一一另另四个东西:

这就现在开始吧。

Service是定义一系列Pod以及访问哪此Pod的策略的一层抽象。Service通过Label找到Pod组。可能性Service是抽象的,好多好多 有在图表里通常看不到它们的位于,这也就你会 是什么概念更难以理解。

  • 自动化容器的部署和复制
  • 随时扩展或收缩容器规模
  • 将容器组织成组,日后提供容器间的负载均衡
  • 很容易地升级应用应用程序容器的新版本
  • 提供容器弹性,可能性容器失效就替换它,等等...
实际上,使用Kubernetes只需一一另另四个部署文件,使用二根命令就可不还可否 部署多层容器(前端,后台等)的全版集群:

可能性迫不及待你会 试试Kubernetes,可不还可否 使用

Pod

Pod(上图绿色方框)安排在节点上,带有一组容器和卷。同一一另另四个Pod里的容器共享同一一另另四个网络命名空间,可不还可否 使用localhost互相通信。Pod是短暂的,不到 持续性实体。你可能性会有哪此问題:

Kubernetes(k8s)是自动化容器操作的开源平台,哪此操作包括部署,调度和节点集群间扩展。可能性你另一一另另一个用过Docker容器技术部署容器,没办法 可不还可否 将Docker看成Kubernetes结构使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另这名容器技术。

。Google Container Engine是托管的Kubernetes容器环境。简单注册/登录日后就可不还可否 在里面尝试示例了。

本文可能性简单介绍

节点(上图橘色方框)是物理可能性虚拟机器,作为Kubernetes worker,通常称为Minion。每个节点都运行如下Kubernetes关键组件:

现在或多或少人可能性了解了Kubernetes核心概念的基本知识,你会 进一步阅读Kubernetes 

上图可不还可否 看一遍如下组件,使用有点儿的图标表示Service和Label:

kubectl是和Kubernetes API交互的命令行应用程序。现在介绍或多或少核心概念。

。用户手册提供了快速日后完备的学习文档。

使用Kubernetes可不还可否 :

',作为结构负载均衡器使用,在一定数量的Pod之间均衡流量。比如,对于负载均衡Web流量很有用。

===========================