《Kubernetes的引导加载代码摘要》.pdf

《Kubernetes的引导加载代码摘要》.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Kubernetes的引导加载代码摘要》.pdf

Kubernetes的引导加载代码摘要  main函数, hyperkube结构, Server抽象结构, APIServer, CMServer,  SchedulerServer, ProxyServer, KubeletServer实现  1. 在Docker容器里运行Kubernetes v1.0  运行kubernetes大致包括:  ● 第一个容器启动etcd服务, etcd是集群配置管理器  ● 第二个容器启动kubelet, kubelet是管理POD的核心程序  ● 第三个容器启动一个POD, 该POD是kubernetes的master  ● 第四个容器启动controller, 是master的核心组件 ­ 平台控制器  ● 第五个容器启动scheduler, 是master的核心组件 ­ 平台调度器  ● 第六个容器启动api­server, 是master的REST api服务接口  ● 第七个容器启动proxy,是提供通过外部网络访问平台内应用的网络服务,简单类比,就 是为www服务器配置一个Internet地址供用户访问。  在Docker里运行Kubernetes可以降低分布式系统设备的投入. 如果有足够的虚拟机, 可以实验真实 的分布式系统.  详细的指南, 可参考​kubernetes.io上的文档 ­ ​Running Kubernetes locally via Docker​. 该文档也 可以在上的kubernetes仓库( ​.../docs/getting­started­guides/docker.md ​)上找到.    从第二个容器到第六个容器, 是由文档中所述的Step Two: Run the master完成:  docker run --net=host --privileged -d -v /sys:/sys:ro -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v1.0.1 /hyperkube kubelet --api-servers=http://localhost:8080 --v=2 --address= --enable-server --hostname-override= --config=/etc/kubernetes/manifests 这是一个​docker run命令:   ● ­­net参数为容器使用host模式 (相对于bridge模式)  ● ­­privileged参数为容器解除Linux的AppArmor (Debian系列) 或SELinux  (Redhat系列)的访问 限制  ● ­d参数为容器运行在后台模式, 即无控制台,  ● ­v参数为容器挂在一个卷设备, 这里将docker服务的unix socket挂载到容器里, 目的是使容器运 行的kubernetes可以通过socket连接调用Docker的remote api  ● gcr.io/google_containers/hyperkube:v0.21.2是容器使用的镜像, 不在docker hub上,而在 google cloud platform上 (gcr.io)  ● /hyperkube kubelet … 一直到结束,是容器创建成功后,自动执行的程序hyperkube,在容器 的/目录下,即是启动kubernetes的master  有关docker run命令可参考​Docker的文档 ­ Docker run reference​, 编程参考​create api​和​start api​.  2. hyperkube程序  Kyperkube程序由main.go, hyperkube.go, server.go...等作为引导加载代码,在​仓库的 cmd/hyperkube目录​下.  2.1. main函数  (main.go)  程序入口:  ● 创建hyperkube结构:   hk ​:=​ HyperKube{...}  ● 调用hyperkube的AddServer方法:  hk.​AddServer​(​NewKubeAPIServer​()) // 创建kuber api ser

文档评论(0)

qspd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档