十分钟带你理解Kubernetes核心概念

更新时间:2022-09-28 21:25:10 阅读: 评论:0

十分钟带你理解Kubernetes核心看法
本文将会简单介绍Kubernetes的核心看法。由于这些定义能够在Kubernetes的文档中找
到,所以文章也会防范用大段的无聊的文字介绍。相反,我们会使用一些图表〔此中一些是动
画〕和比方来解说这些看法。我们发现一些看法〔比方Service〕假如没有图表的辅助就很难
全面地理解。在适合的地方我们也会供给Kubernetes文档的链接以便读者深入学****br/>这就开始吧。
什么是Kubernetes?
Kubernetes〔k8s〕是自动化容器操作的开源平台,这些操作包含部署,调换和节点集群间扩
展。假如你以前用过Docker容器技术部署容器,那么能够将Docker看作Kubernetes内部
使用的初级别组件。Kubernetes不不过支持Docker,还支持Rocket,这是另一种容器技
术。
使用Kubernetes能够:
自动化容器的部署和复制
随时扩展或缩短容器规模
将容器组织成组,而且供给容器间的负载均衡
很简单地升级应用程序容器的新版本
供给容器弹性,假如容器无效就替代它,等等...
学****文档仅供参照
实质上,使用Kubernetes只需一个部署文件,使用一条命令便能够部署多层容器〔前端,后
台等〕的完好集群:
kubectl是和KubernetesAPI交互的命令行程序。此刻介绍一些核心看法。
集群
集群是一组节点,这些节点能够是物理服务器也许虚假机,之上安装了Kubernetes平台。下
列图展现这样的集群。注意该图为了重申核心看法有所简化。这里能够看到一个典型的
Kubernetes架构图。
学****文档仅供参照
上图能够看到以下组件,使用特其余图标表示Service和Label:
Pod
Container〔容器〕
?Label( )〔标签〕
?ReplicationController〔复制控制器〕
?Service〔〕〔服务〕
Node〔节点〕
?KubernetesMaster〔Kubernetes主节点〕
Pod
Pod〔上图绿色方框〕安排在节点上,包含一组容器和卷。同一个Pod里的容器共享同一个网
络命名空间,能够使用localhost相互通讯。Pod是短暂的,不是连续性实体。你可能会有这
些问题:
?假如Pod是短暂的,那么我怎么才能长远化容器数据使其能够跨重启而存在呢?是的,
Kubernetes支持卷的看法,所以能够使用长远化的卷种类。
学****文档仅供参照
能否手动创办Pod,假如想要创办同一个容器的多份拷贝,需要一个个分别创办出来么?能够
手动创办单个Pod,但是也能够使用ReplicationController使用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也许ReplicationController
应用到上边。
ReplicationController
能否手动创办Pod,假如想要创办同一个容器的多份拷贝,需要一个个分别创办出来么,能否
将Pods划到逻辑组里?
ReplicationController保证任意时间都有指定数目的Pod“副本”在运转。假如为某个Pod
创办了ReplicationController而且指定3个副本,它会创办3个Pod,而且连续监控它们。
学****文档仅供参照
假如某个Pod不响应,那么ReplicationController会替代它,保持总数为3.以下边的动画所
示:
假如从前不响应的Pod恢复了,此刻就有4个Pod了,那么ReplicationController会将其
中一个停止保持总数为3。假如在运转中将副本总数改为5,ReplicationController会马上启
动2个新Pod,保证总数为5。还可以够依据这样的方式减小Pod,这个特征在执行转动升级时
很实用。
当创办ReplicationController时,需要指定两个东西:
Pod模板:用来创办Pod副本的模板
2.Label:ReplicationController需要监控的Pod的标签。
学****文档仅供参照
此刻已经创办了Pod的一些副本,那么在这些副本上如何均衡负载呢?我们需要的是
Service。
Service
假如Pods是短暂的,那么重启时IP地址可能会改变,怎么才能从前端容器正确靠谱地指向后
台容器呢?
Service是定义一系列Pod以及接见这些Pod的策略的一层抽象。Service经过Label找到
Pod组。由于Service是抽象的,所以在图表里平时看不到它们的存在,这也就让这一看法更
难以理解。
此刻,假定有2个后台Pod,而且定义后台Service的名称为‘backend-rvice’,lable选
择器为〔tier=backend,app=myapp〕。backend-rvice的Service会完成以下两件重要
的事情:
?会为Service创办一个当地集群的DNS进口,所以前端Pod只需要DNS查找主机名为
‘backend-rvice’,便能够分析出前端应用程序可用的IP地址。
?此刻前端已经获取了后台服务的IP地址,但是它应该接见2个后台Pod的哪一个呢?Service
在这2个后台Pod之间供给透明的负载均衡,会将央求发散给此中的任意一个〔以下边的动画
所示〕。经过每个Node上运转的代理〔kube-proxy〕完成。这里有更多技术细节。
学****文档仅供参照
下述动画展现了Service的功能。注意该图作了很多简化。假如不进入网络配置,那么到达透
明的负载均衡目标所涉及的基层网络和路由相对先进。假如有兴趣,这里有更深入的介绍。
有一个特别种类的KubernetesService,称为'LoadBalancer',作为外面负载均衡器使用,在
必定数目的Pod之间均衡流量。比方,对于负载均衡Web流量很实用。
Node
节点〔上图橘色方框〕是物理也许虚假机器,作为Kubernetesworker,平时称为Minion。
每个节点都运转以下Kubernetes要点组件:
Kubelet:是主节点代理。
学****文档仅供参照
?Kube-proxy:Service使用其将链接路由到Pod,如上文所述。
Docker或Rocket:Kubernetes使用的容器技术来创办容器。
KubernetesMaster
集群拥有一个KubernetesMaster〔紫色方框〕。KubernetesMaster供给集群的独到视
角,而且拥有一系列组件,比方KubernetesAPIServer。APIServer供给能够用来和集***
互的REST端点。master节点包含用来创办和复制Pod的ReplicationController。
下一步
此刻我们已经认识了Kubernetes核心看法的基本知识,你能够进一步阅读Kubernetes用户
手册。用户手册供给了快速而且齐备的学****文档。
假如急不行待想要试一试Kubernetes,能够使用GoogleContainerEngine。Google
ContainerEngine是托管的Kubernetes容器环境。简单注册/登录以后便能够在上边试试例
如了。
原文链接:LearntheKubernetesKeyConceptsin10Minutes〔翻译:崔婧雯〕
===========================
译者介绍
崔婧雯,现任职于IBM,高级软件工程师,负责IBMWebSphere业务流程管理软件的系统测
学****文档仅供参照
试工作。曾任职于VMware从事桌面虚假化产品的质量保证工作。对虚假化,中间件技术,业
务流程管理有浓厚的兴趣。
学****文档仅供参照

本文发布于:2022-09-28 21:25:10,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/78/194790.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:十分钟   带你   概念   核心   Kubernetes
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图