预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

IntroductionKubernetes技术入门介绍8Introduction目录Introduction1.1Kubernetes简介1.2Kubernetes基本概念1.3Kubernetes1011.4Kubernetes2011.5Kubernetes集群1.69IntroductionKubernetes指南Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,也是CNCF最重要的项目之一,主要功能包括:基于容器的应用部署、维护和滚动升级负载均衡和服务发现跨机器和跨地区的集群调度自动伸缩无状态服务和有状态服务广泛的Volume支持插件机制保证扩展性Kubernetes发展非常迅速,已经成为容器编排领域的领导者。Kubernetes的中文资料也非常丰富,但系统化和紧跟社区更新的则就比较少见了。《Kubernetes指南》开源电子书旨在整理平时在开发和使用Kubernetes时的参考指南和实践总结,形成一个系统化的参考指南以方便查阅。欢迎大家关注和添加完善内容。在线阅读中文:Gitbook:https://kubernetes.feisky.xyz/(或者这里)GithubInfoQEnglishPDF电子书:点击这里下载项目源码项目源码存放于Github上,https://github.com/feiskyer/kubernetes-handbook。本书版本更新记录如无特殊说明,本指南所有文档仅适用于Kubernetesv1.6及以上版本。详细更新记录见CHANGELOG。10Kubernetes简介Kubernetes简介Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括:基于容器的应用部署、维护和滚动升级负载均衡和服务发现跨机器和跨地区的集群调度自动伸缩无状态服务和有状态服务广泛的Volume支持插件机制保证扩展性Kubernetes发展非常迅速,已经成为容器编排领域的领导者。Kubernetes是一个平台Kubernetes提供了很多的功能,它可以简化应用程序的工作流,加快开发速度。通常,一个成功的应用编排系统需要有较强的自动化能力,这也是为什么Kubernetes被设计作为构建组件和工具的生态系统平台,以便更轻松地部署、扩展和管理应用程序。用户可以使用Label以自己的方式组织管理资源,还可以使用Annotation来自定义资源的描述信息,比如为管理工具提供状态检查等。此外,Kubernetes控制器也是构建在跟开发人员和用户使用的相同的API之上。用户还可以编写自己的控制器和调度器,也可以通过各种插件机制扩展系统的功能。这种设计使得可以方便地在Kubernetes之上构建各种应用系统。Kubernetes不是什么Kubernetes不是一个传统意义上,包罗万象的PaaS(平台即服务)系统。它给用户预留了选择的自由。不限制支持的应用程序类型,它不插手应用程序框架,也不限制支持的语言(如Java,Python,Ruby等),只要应用符合12因素即可。Kubernetes旨在支持极其多样化的工作负载,包括无状态、有状态和数据处理工作负载。只要应用可以在容器中运行,那么它就可以很好的在Kubernetes上运行。10Kubernetes简介不提供内置的中间件(如消息中间件)、数据处理框架(如Spark)、数据库(如mysql)或集群存储系统(如Ceph)等。这些应用直接运行在Kubernetes之上。不提供点击即部署的服务市场。不直接部署代码,也不会构建您的应用程序,但您可以在Kubernetes之上构建需要的持续集成(CI)工作流。允许用户选择自己的日志、监控和告警系统。不提供应用程序配置语言或系统(如jsonnet)。不提供机器配置、维护、管理或自愈系统。另外,已经有很多PaaS系统运行在Kubernetes之上,如Openshift,Deis和Eldarion等。您也可以构建自己的PaaS系统,或者只使用Kubernetes管理您的容器应用。当然了,Kubernetes不仅仅是一个“编排系统”,它消除了编排的需要。Kubernetes通过声明式的API和一系列独立、可组合的控制器保证了应用总是在期望的状态,而用户并不需要关心中间状态是如何转换的。这使得整个系统更容易使用,而且更强大、更可靠、更具弹性和可扩展性。核心组件Kubernetes主要由以下几个核心组件组成:etcd保存了整个集群的状态;apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;controllermanager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;sched