范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Kubernetes是什么?

  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是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。
  在正式开始本章的Hello World之旅之前,我们首先要学习Kubernetes的一些基本知识,这样才能理解Kubernetes提供的解决方案。
  在Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征。
  拥有唯一指定的名称(比如mysql-server)。
  拥有一个虚拟IP(Cluster IP、Service IP或VIP)和端口号。
  能够提供某种远程服务能力。
  被映射到提供这种服务能力的一组容器应用上。
  Service的服务进程目前都基于Socket通信方式对外提供服务,比如Redis、Memcache、MySQL、
  Web Server,或者是实现了某个具体业务的特定TCP Server进程。虽然一个Service通常由多个相关的服务进程提供服务,每个服务进程都有一个独立的Endpoint(IP+Port)访问点,但Kubernetes能够让我们通过Service(虚拟Cluster IP +Service Port)连接到指定的Service。有了Kubernetes内建的透明负载均衡和故障恢复机制,不管后端有多少服务进程,也不管某个服务进程是否由于发生故障而被重新部署到其他机器,都不会影响对服务的正常调用。更重要的是,这个Service本身一旦创建就不再变化,这意味着我们再也不用为Kubernetes集群中服务的IP地址变来变去的问题而头疼了。
  容器提供了强大的隔离功能,所以有必要把为Service提供服务的这组进程放入容器中进行隔离。为此,Kubernetes设计了Pod对象,将每个服务进程都包装到相应的Pod中,使其成为在Pod中运行的一个容器(Container)。为了建立Service和Pod间的关联关系,Kubernetes首先给每个Pod都贴上一个标签(Label),给运行MySQL的Pod贴上name=mysql标签,给运行PHP的Pod贴上name=php标签,然后给相应的Service定义标签选择器(Label Selector),比如MySQL Service的标签选择器的选择条件为name=mysql,意为该Service要作用于所有包含name=mysql Label的Pod。这样一来,就巧妙解决了Service与Pod的关联问题。
  这里先简单介绍Pod的概念。首先,Pod运行在一个被称为节点(Node)的环境中,这个节点既可以是物理机,也可以是私有云或者公有云中的一个虚拟机,通常在一个节点上运行几百个Pod;其次,在每个Pod中都运行着一个特殊的被称为Pause的容器,其他容器则为业务容器,这些业务容器共享Pause容器的网络栈和Volume挂载卷,因此它们之间的通信和数据交换更为高效,在设计时我们可以充分利用这一特性将一组密切相关的服务进程放入同一个Pod中;最后,需要注意的是,并不是每个Pod和它里面运行的容器都能被映射到一个Service上,只有提供服务(无论是对内还是对外)的那组Pod才会被映射为一个服务。
  在集群管理方面,Kubernetes将集群中的机器划分为一个Master和一些Node。在Master上运行着集群管理相关的一组进程kube-apiserver 、 kube-controller-manager和kube-scheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理功能,并且都是自动完成的。Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。在Node上运行着Kubernetes的kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁,以及实现软件模式的负载均衡器。
  最后,看看传统的IT系统中服务扩容和服务升级这两个难题,以及Kubernetes所提供的全新解决思路。服务的扩容涉及资源分配(选择哪个节点进行扩容)、实例部署和启动等环节,在一个复杂的业务系统中,这两个难题基本上靠人工一步步操作才得以解决,费时费力又难以保证实施质量。
  在Kubernetes集群中,只需为需要扩容的Service关联的Pod创建一个RC(Replication Controller),服务扩容以至服务升级等令人头疼的问题都迎刃而解。在一个RC定义文件中包括以下3个关键信息。
  目标Pod的定义。
  目标Pod需要运行的副本数量(Replicas)。
  要监控的目标Pod的标签。
  在创建好RC(系统将自动创建好Pod)后,Kubernetes会通过在RC中定义的LabelPod实例并实时监控其状态和数量,如果实例数量少于定义的副本数量,则会根据在RC中定义的Pod模板创建一个新的Pod,然后将此Pod调度到合适的Node上启动运行,直到Pod实例的数量达到预定目标。这个过程完全是自动化的,无须人工干预。有了RC,服务扩容就变成一个纯粹的简单数字游戏了,只需修改RC中的副本数量即可。后续的服务升级也将通过修改RC来自动完成。
  以将在第2章中介绍的PHP+Redis留言板应用为例,只要为PHP留言板程序(frontend)创建一个有3个副本的RC+Service,为Redis读写分离集群创建两个RC:写节点(redis-master)创建一个单副本的RC+Service,读节点(redis-slaver)创建一个有两个副本的RC+Service,就可以快速完成整个集群的搭建过程,是不是很简单?

任正正式表态,海思保住了!华为勇敢背上了这个沉重的包袱前不久,华为的董事长任正非在接受采访时表示,虽然目前华为的芯片产业受到了重创,但是华为不会放弃海思。任正非说现在海思在做的事是爬山,而且不是一般的山,是喜马拉雅山。海思爬山的脚步不华为将重新推出5G手机,华为员工再等等我们再也看不到华为的5G手机了吗?华为P50系列于7月29日正式发布,虽然配置依旧保持旗舰级水准,但最大的遗憾可能是全系都缺少5G功能。至于华为P50系列为什么缺少5G,根本原因是苹果120Hz和安卓的120Hz有什么不同题主的疑问,估计也是大多数用户的疑问iPhone13Promax都上了120Hz自适应刷新率的屏幕,可能大多数的安卓用户会调侃120Hz屏刷新率,不都是各种旗舰玩剩的东西吗?有什么6G最新进展!中国6G专利申请全球第一随着5G的快速商用落地,6G的研究工作也已经启动。早在2019年6月我国在工业和信息化部等部委指导下成立IMT2030(6G)推进组,在日前的2021年6G研讨会6G愿景展望会上,刷屏!华为新天才少年出炉武大94年博士生入选!学霸日程表曝光科研学习练腹肌江山代有才人出!最近,一位武汉大学博士入选华为天才少年。据了解,天才少年计划由华为创始人任正非于2019年发起,旨在吸引顶尖人才。3年来,华为招募的天才少年不足20人。天才少年的工iPhone13卖疯了,首批售罄后忙补货,苹果市值一夜却蒸发3000亿元9月17日晚间,苹果iPhone13系列智能手机开始在苹果官网和各大电商平台开启预售。预售开始后不久,各平台均遭遇秒没状况。据媒体报道,有电商平台开启预售不久后显示抢购太火爆,请您如何正确看待亚马逊封店潮?先说背景,今年6月份,亚马逊以商家刷单刷好评为由总共封禁了5万个头部商家,甚至还冻结了商家上亿的资金,所有的产品链接全部被查封,点进去全部变成dog。其中大部分商家都来自中国深圳,落实反垄断监管要求腾讯称已解除绝大部分音乐版权独家协议8月31日,腾讯音乐娱乐集团(TME)发文,就放弃音乐独家版权的相关情况进行说明。公告指出,截至2021年8月23日,腾讯音乐与上游版权方签署的绝大部分独家协议已按期解约。腾讯音乐苹果13真香,但不好意思我不买今年的苹果秋季发布会发布的苹果13系列,其实没有太大的亮点,整个系列的外形和大小跟苹果12差不多,但各个方面又做了整套的升级,比如芯片电池照相技术等等,但你又没法把某个点圈出来吹捧苹果A15继续挤牙膏,却嘲讽安卓旗舰不如老掉牙的A13苹果正式发布了新款手机iPhone13,不过其搭载的A15处理器性能仅比上一代的A14提升一成多,因此业界人士嘲讽苹果在挤牙膏,而苹果高管则反讽当下安卓旗舰处理器性能还不如两年前的最新的iOS15将在设备端对用户图片进行检测httpswww。apple。comchildsafety这项技术的实现必然表示要牺牲一部分的用户隐私,尽管苹果方声称Apple检测已知CSAM的方法是在考虑到用户隐私时设计的。系
哥伦比亚波哥大银行开始进行加密试点哥伦比亚主要的商业银行BancodeBogot已经开始了加密试点,将允许一部分客户在其银行平台上进行加密交易。试点将于本月开始,将允许客户在其移动和虚拟(基于互联网桌面)银行平台上DeFi项目启动后一天ampampquot亏损ampampquot3100万美元一款DeFi应用推出后一天就损失了3100万美元,其社区内有人称,整个事件是一场薅羊毛的骗局。就在Binance智能链上线一天后,去中心化理财项目MeerkatFinance今日发Binance高管NFT是ampampquot通往加密技术的门户ampampquotBinance的一位高管提出,NFT是进入加密技术的新通道。这一评论是在著名数字艺术家Beeple以6930万美元的价格出售NFT收藏品后的一天。据Binance的一位高管称,NF这个父亲节,小米让我知道了如何和父亲合拍儿不知道在这样一个感谢父亲的节日里,大家都有没有为父亲送上一个真挚的祝福呢?在这样一个必要的节日里,大家一定不要吝啬自己对家人的感情流露,适时地送上一份温暖。如果还没有的话,不妨现在小米手机排名晋升世界第二,雷总革命尚未成功今日,小米高层雷军在微博上发出一张图片,并配文革命尚未成功,同志仍需努力。雷总发的图片是什么呢?哦,原来是小米超过苹果成为全球第二。看到这张图片,相信大家一定会因为雷总的风趣幽默而Bose大鲨甘拜下风,捷波朗85t深度体验目前最强降噪耳机大家都知道,降噪和音质一般是不可兼得的,这个问题就连降噪先驱Bose都无法解决。但北欧有一个百年大品牌,在新一代的旗舰耳机上攻克了这个难题,这个品牌就是捷波朗(Jabra)。不过,XRP价格在疯狂周末冲刺中上涨30至1。30美元Ripple支付平台的原生资产XRP在过去的24小时内上涨了30,从1美元涨到了1。30美元。尽管自12月以来,XRP背后的金融科技公司Ripple面临着来自美国证券交易委员会(STheWeeknd刚在Twitter上放出了一个NFT预告TheWeeknd在Twitter上预告了一首生活在NFT空间的新歌。这到底是什么意思呢?我们都在等着一探究竟。刚刚结束超级碗表演最受欢迎专辑和气球之屋再版,TheWeeknd正在尼日利亚央行官员加密交易并未被禁止一位尼日利亚央行官员重申,没有禁止个人进行加密交易,银行仍然被禁止与加密公司合作。据当地媒体TodayNG报道,尼日利亚中央银行(CBN)的一名高级官员拒绝了该银行曾经禁止加密的说摩根士丹利一直计划向客户提供比特币风险根据周四上午提交给美国证券交易委员会的文件,摩根士丹利将允许某些共同基金通过现金结算的比特币期货和灰度比特币信托间接投资比特币。银行机构基金旗下的12只基金将被允许接触这些比特币相XendFinance将DeFi服务引入非洲市场XendFinance今天推出了一个平台,使整个非洲的信用社和合作社能够为其成员提供DeFi服务。XendFinance首席执行官UgochukwuAronu告诉解密,Xend将其