首页 > Web开发 > 详细

kubernetes入门学习笔记

时间:2015-04-24 06:42:52      阅读:4867      评论:0      收藏:0      [点我收藏+]

基本完全参考:http://blog.csdn.net/zhangjun2915/article/details/40598151

kubernetes简介

技术分享

基本概念

pod

  • 基本部署单元,可以进行创建,调度,管理,删除等
  • 包含一个或者多个docker container,基于数据卷进行数据共享
  • 用于推动相同功能集合的程序集中部署
  • 示例:web站点三个组件(前端、后端、数据库)运行在各自的容器中,可以创建包含三个container的pod

service

  • pod的集合体(和pod类似于instance和service的概念)
  • 由于pod可能发生变化,或者扩容缩容,所以一般交互时基于service访问

Replication controllers

  • pod生命周期控制器
  • 负责pod的动态扩容,缩容,保证pod的数量符合预期

label

  • key/value 键值对(基于etcd)
  • 用于存储pod的tag标签,用于关联service和pod,replication controller和pod的关系
  • 提供laber selector供外部调用,获取索引对应的value 
    技术分享

集群架构

技术分享

master

apiserver
  • 作为kubernetes系统的入口,封装了核心对象的增删改查操作
  • 以RESTFul接口方式提供给外部客户和内部组件调用
  • 它维护的REST对象将持久化到etcd
scheduler
  • 负责集群的资源调度,为新建的pod分配机器
  • 作为组件形式,可以很方便地替换成其他的调度器
controller-manager
  • endpoint-controller 
    • 定期关联service和pod(关联信息由endpoint对象维护)
    • 保证service到pod的映射总是最新的。
  • replication-controller 
    • 定期关联replicationController和pod
    • 保证replicationController定义的复制数量与实际运行pod的数量总是一致的

slave(minion/host)

kubelet
  • 负责管控docker容器,如启动/停止、监控运行状态等
  • 它会定期从etcd获取分配到本机的pod,并根据pod信息启动或停止相应的容器
  • 接收apiserver的HTTP请求,汇报pod的运行状态。
proxy
  • 负责为pod提供代理
  • 定期从etcd获取所有的service,并根据service信息创建代理
  • 当某个客户pod要访问其他pod时,访问请求会经过本机proxy做转发

详细流程

创建pod

技术分享

变更pod副本数信息

技术分享

变更service信息

技术分享

kubernetes入门学习笔记

原文:http://www.cnblogs.com/SailorXiao/p/4452325.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!