- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
陕西省信息化工程研究院软件研发部第
陕西省信息化工程研究院软件研发部第 1 页/ 共 19 页
Kubernetes 研究
文件状态:
文件状态:
类别
云计算
【√】草稿
项目名称
Kubernetes研究
【】正式发布
版本
日期
作者
备注说明
【】正在修改中
1.0
2016/03/28
程成
初稿
审核
密级
秘密
应用范围
陕西省信息化工程研究院软件研发部
版权所有
陕西省信息化工程研究院
目录
KUBERNETES 研究 1
KUBERNETES 架构 4
操作对象 4
功能组件 5
KUBERNETES 部署 6
源码安装 6
编译好的安装包 7
获取 pause 镜像 8
KUBERNESTER-UI 部署 8
获取 UI 镜像 8
部署 kubernester-UI 9
FAQ 10
KUBE-DASHBOARD 部署 11
获取 UI 镜像 11
部署 kube-dashboard 11
FAQ 13
DOCKER REGISTRY 私有仓库 13
搭建私有仓库 13
使用私有仓库 14
KUBENETES 中常见问题 15
kubernetes 常用命令 15
kubernetes resfulAPI 16
陕西省信息化工程研究院软件研发部第 2 页/ 共 19 页
参考文献 17
陕西省信息化工程研究院软件研发部第
陕西省信息化工程研究院软件研发部第 PAGE 3 页/ 共 19 页
Kubernetes 架构
Kubernetes 是 Google 开源的容器集群管理系统。它构建于 docker 技术之上, 为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能, 本质上可看作是基于容器技术的 mini-PaaS 平台。本文旨在梳理Kubernetes 的架构、概念及基本工作流,并且通过运行一个简单的示例应用来介绍如何使用Kubernetes。
操作对象
Kubernetes 以 RESTFul 形式开放接口,用户可操作的 REST 对象有三个:
pod:是 Kubernetes 最基本的部署调度单元,可以包含 container,逻辑上表示某种应用的一个实例。比如一个 web 站点应用由前端、后端及数据库构建而成,这三个组件将运行在各自的容器中,那么我们可以创建包含三个 container 的 pod。
service:是 pod 的路由代理抽象,用于解决 pod 之间的服务发现问题。因为
pod 的运行状态可动态变化(比如切换机器了、缩容过程中被终止了等),所以访
问端不能以写死 IP 的方式去访问该 pod 提供的服务。service 的引入旨在保证 pod 的动态变化对访问端透明,访问端只需要知道 service 的地址,由 service 来提供代理。
replicationController:是 pod 的复制抽象,用于解决 pod 的扩容缩容问题。通常,分布式应用为了性能或高可用性的考虑,需要复制多份资源,并且根据负载情况动态伸缩。通过 replicationController,可以指定一个应用需要几份复制, Kubernetes 将为每份复制创建一个 pod,并且保证实际运行 pod 数量总是与该复制数量相等(例如,当前某个 pod 宕机时,自动创建新的 pod 来替换)。
功能组件
master 运行三个组件:
apiserver:作为 kubernetes 系统的入口,封装了核心对象的增删改查操作,以 RESTFul 接口方式提供给外部客户和内部组件调用。它维护的 REST 对象将持久化到 etcd(一个分布式强一致性的 key/value 存储)。
scheduler:负责集群的资源调度,为新建的pod 分配机器。这部分工作分
出来变成一个组件,意味着可以很方便地替换成其他的调度器。
controller-manager:负责执行各种控制器,目前有两类:
endpoint-controller:定期关联 service 和 pod(关联信息由 endpoint 对象维护),
保证 service 到 pod 的映射总是最新的。
replication-controller : 定期关 联 replicationController 和 pod , 保证
replicationController 定义的复制数量与实际运行 pod 的数量总是一致的。slave(称作 minion)运行两个组件:
kubelet:负责管控 docker 容器,如启动/停止、监控运行状态等。它会定
期从 etcd 获取分配到本机的 pod,并根据 pod 信息启动或停止相应的容器。同时,它也
文档评论(0)