安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

Kubernetes是什么?

8月12日 温柔冢投稿
  Kubernetes是什么?
  首先,它是一个全新的基于容器技术的分布式架构领先方案。这个方案虽然还很新,但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的重要成果。确切地说,Kubernetes是谷歌严格保密十几年的秘密武器Borg的一个开源版本。Borg是谷歌的一个久负盛名的内部使用的大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。十几年以来,谷歌一直通过Borg系统管理着数量庞大的应用程序集群。由于谷歌员工都签署了保密协议,即便离职也不能泄露Borg的内部设计,所以外界一直无法了解关于它的更多信息。直到2015年4月,传闻许久的Borg论文伴随Kubernetes的高调宣传被谷歌首次公开,大家才得以了解它的更多内幕。正是由于站在Borg这个前辈的肩膀上,汲取了Borg过去十年间的经验与教训,所以Kubernetes一经开源就一鸣惊人,并迅速称霸容器领域。其次,如果我们的系统设计遵循了Kubernetes的设计思想,那么传统系统架构中那些和业务没有多大关系的底层代码或功能模块,都可以立刻从我们的视线中消失,我们不必再费心于负载均衡器的选型和部署实施问题,不必再考虑引入或自己开发一个复杂的服务治理框架,不必再头疼于服务监控和故障处理模块的开发。总之,使用Kubernetes提供的解决方案,我们不仅节省了不少于30的开发成本,还可以将精力更加集中于业务本身,而且由于Kubernetes提供了强大的自动化机制,所以系统后期的运维难度和运维成本大幅度降低。
  然后,Kubernetes是一个开放的开发平台。与J2EE不同,它不局限于任何一种语言,没有限定任何编程接口,所以不论是用Java、Go、C还是用Python编写的服务,都可以被映射为Kubernetes的Service(服务),并通过标准的TCP通信协议进行交互。此外,Kubernetes平台对现有的编程语言、编程框架、中间件没有任何侵入性,因此现有的系统也很容易改造升级并迁移到Kubernetes平台上。
  最后,Kubernetes是一个完备的分布式系统支撑平台。Kubernetes具有完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建的智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制,以及多粒度的资源配额管理能力。同时,Kubernetes提供了完善的管理工具,这些工具涵盖了包括开发、部署测试、运维监控在内的各个环节。因此,Kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。
  在正式开始本章的HelloWorld之旅之前,我们首先要学习Kubernetes的一些基本知识,这样才能理解Kubernetes提供的解决方案。
  在Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征。
  拥有唯一指定的名称(比如mysqlserver)。
  拥有一个虚拟IP(ClusterIP、ServiceIP或VIP)和端口号。
  能够提供某种远程服务能力。
  被映射到提供这种服务能力的一组容器应用上。
  Service的服务进程目前都基于Socket通信方式对外提供服务,比如Redis、Memcache、MySQL、
  WebServer,或者是实现了某个具体业务的特定TCPServer进程。虽然一个Service通常由多个相关的服务进程提供服务,每个服务进程都有一个独立的Endpoint(IPPort)访问点,但Kubernetes能够让我们通过Service(虚拟ClusterIPServicePort)连接到指定的Service。有了Kubernetes内建的透明负载均衡和故障恢复机制,不管后端有多少服务进程,也不管某个服务进程是否由于发生故障而被重新部署到其他机器,都不会影响对服务的正常调用。更重要的是,这个Service本身一旦创建就不再变化,这意味着我们再也不用为Kubernetes集群中服务的IP地址变来变去的问题而头疼了。
  容器提供了强大的隔离功能,所以有必要把为Service提供服务的这组进程放入容器中进行隔离。为此,Kubernetes设计了Pod对象,将每个服务进程都包装到相应的Pod中,使其成为在Pod中运行的一个容器(Container)。为了建立Service和Pod间的关联关系,Kubernetes首先给每个Pod都贴上一个标签(Label),给运行MySQL的Pod贴上namemysql标签,给运行PHP的Pod贴上namephp标签,然后给相应的Service定义标签选择器(LabelSelector),比如MySQLService的标签选择器的选择条件为namemysql,意为该Service要作用于所有包含namemysqlLabel的Pod。这样一来,就巧妙解决了Service与Pod的关联问题。
  这里先简单介绍Pod的概念。首先,Pod运行在一个被称为节点(Node)的环境中,这个节点既可以是物理机,也可以是私有云或者公有云中的一个虚拟机,通常在一个节点上运行几百个P其次,在每个Pod中都运行着一个特殊的被称为Pause的容器,其他容器则为业务容器,这些业务容器共享Pause容器的网络栈和Volume挂载卷,因此它们之间的通信和数据交换更为高效,在设计时我们可以充分利用这一特性将一组密切相关的服务进程放入同一个Pod中;最后,需要注意的是,并不是每个Pod和它里面运行的容器都能被映射到一个Service上,只有提供服务(无论是对内还是对外)的那组Pod才会被映射为一个服务。
  在集群管理方面,Kubernetes将集群中的机器划分为一个Master和一些Node。在Master上运行着集群管理相关的一组进程kubeapiserver、kubecontrollermanager和kubescheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理功能,并且都是自动完成的。Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。在Node上运行着Kubernetes的kubelet、kubeproxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁,以及实现软件模式的负载均衡器。
  最后,看看传统的IT系统中服务扩容和服务升级这两个难题,以及Kubernetes所提供的全新解决思路。服务的扩容涉及资源分配(选择哪个节点进行扩容)、实例部署和启动等环节,在一个复杂的业务系统中,这两个难题基本上靠人工一步步操作才得以解决,费时费力又难以保证实施质量。
  在Kubernetes集群中,只需为需要扩容的Service关联的Pod创建一个RC(ReplicationController),服务扩容以至服务升级等令人头疼的问题都迎刃而解。在一个RC定义文件中包括以下3个关键信息。
  目标Pod的定义。
  目标Pod需要运行的副本数量(Replicas)。
  要监控的目标Pod的标签。
  在创建好RC(系统将自动创建好Pod)后,Kubernetes会通过在RC中定义的LabelPod实例并实时监控其状态和数量,如果实例数量少于定义的副本数量,则会根据在RC中定义的Pod模板创建一个新的Pod,然后将此Pod调度到合适的Node上启动运行,直到Pod实例的数量达到预定目标。这个过程完全是自动化的,无须人工干预。有了RC,服务扩容就变成一个纯粹的简单数字游戏了,只需修改RC中的副本数量即可。后续的服务升级也将通过修改RC来自动完成。
  以将在第2章中介绍的PHPRedis留言板应用为例,只要为PHP留言板程序(frontend)创建一个有3个副本的RCService,为Redis读写分离集群创建两个RC:写节点(redismaster)创建一个单副本的RCService,读节点(redisslaver)创建一个有两个副本的RCService,就可以快速完成整个集群的搭建过程,是不是很简单?
投诉 评论 转载

市面上的编程书籍去书店买吗?根本不需要!实测PDF电子书下载记得有位知友说过,不更新的高赞文章不是好的高赞文章,所以这里我默默地爆肝、整理了一批新的干货出来,添加到原文里。本文干货满满,建议各位同学看到最后哦,相信一定能有所收获的!……7。7折特惠七夕心动指南,浪漫气氛拉满七夕限量秒杀8月14日00:008月15日23:59qdc耳机天猫旗舰店七夕特惠变色龙V3(一代)7。7折限时抢购限量50套,抢完截止原价:……买恒大的期房,会不会有很大风险?我姐是去年6月买的恒大的期房,已经开始还贷款,据说还有人在干活,期待不要烂尾。话说恒大现在没钱特别严重,能收房估计都是万幸,前几天有说跟小米谈合作的事情,各大银行又在约谈,许老……Kubernetes是什么?Kubernetes是什么?首先,它是一个全新的基于容器技术的分布式架构领先方案。这个方案虽然还很新,但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的重要成果。确……互联网教父搜狐张朝阳,在车上对美女主持人说年轻人不要太拼近日,一则美女主持人张梓桐采访搜狐总裁张朝阳的视频火爆网络,该视频以张朝阳工作一天的为主题,他一天只睡4个小时。看完整段视频后,对张朝阳感到由衷的敬佩感,其中有很多话值得……四款iPhone13配置售价曝光,最低64G版5999元,最根据外媒9to5mac的新一轮爆料,大家朝思暮想的iPhone13系列将于9月14日凌晨1点举行新品发布会,9月17日开启预订,最终所有机型将于9月24日正式发售。依旧会有5。……复盘阿里女士被性侵事件,对照自述与通告,反差太大究竟该信哪个近期,一位阿里女销售不知道出于什么原因,突然在公众场合大声控告上司性侵,而公司高层不理彻底让她失控。事件一经在网上爆发,一时舆情汹涌,打得阿里管理层措手不及,为平息众怒,在没得……内容创作者的高效秘诀,当然是更专业的PA279CV啦哈喽各位亲耐滴小可爱们短视频、Vlog等富有创意的视觉化呈现已经逐渐成为我们重要的娱乐消遣方式啦而制作这类视频、图片也需要一款得心应手的创作工具哦……伊利股份三季报超预期前三季度净利近80亿超去年全年日前,伊利股份发布三季报,公告显示前三季度,伊利实现营收846。74亿元,同比增长15。19。归属于上市公司股东的净利润为79。44亿元,同比增长31。87。不仅营收、净利双双……36氪首发Brandgogo获近千万元天使轮融资,在TikT文潘潇雨、袁晓乐编辑彭孝秋36氪获悉,跨境营销品牌Brandgogo已于近日获近千万元天使轮融资,本轮投资方主要为个人投资者。本轮融资资金将主要用于团队扩张、海外红……雷军距离全球第一还有多远?小米11被全网投诉,小米汽车成救星中国极具人格魅力的企业家有很多,但雷军,却是独一份的。这份魅力,很大程度上来源于他一手打造的小米集团,也来源于他一路走来的漫天风雨,还有这一路上与他同行,或是败于他手的竞……轻薄笔记本的i5和i7差别大吗?轻薄本使用的CPU有很多种,而且i5和i7本身也分很多种类型,最典型的就是低电压版和标准电压版,低电压版本的i5和i7处理器由于电压和功耗限制较大,所以频率相对也会低很多,因为……
带摄像头边看边冲素诺智能可视冲牙器C3Pro评测怎么判断苹果x是否换过屏幕?跨境独立站未来的必走之路iPhone13发布会定档9月14日,iPhone13ProPHP中CURL方法curlsetopt()函数的参数详解KS10高保真扩音器体积小,声音大李雪琴自爆去Redmi发布会,不是因为自己,竟是为了她爸爸?几个点告诉你,为什么要做小程序关于RS485协议串口CAN协议总线modbus,七层模型中人民时评充分激发数字医疗的优势致力推动磁悬浮技术应用,他主导建成国内首个百万焦耳磁能的托卡电动汽车现在还不是真正意义上的清洁能源汽车

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利