kubernets 架构设计 第1章 pod
2016-06-13 17:50
471 查看
kubernets 是google 开源的容器集群管理系统,它构建于Docker 技术之上,是为容器化应用提供资源调度、部署运行、服务发现、扩容/缩容等一些列功能,本质上可以看作容器的mini-PaaS 平台。
在kubernets 环境中,创建、部署、调度的最小单位是是pod,而不是单个容器!!
pod 跟容器一样不是一直存在的,在pod 的生命周期中,一个pod会被分配到一个节点上运行知道运行结束或者被stop(正常或者异常退出);当集群的一个节点(处理机,实际上就是一台物理服务器)消失时,这个pod 也会消失;kubernet的replication-controller 会重新分配节点运行这个pod
容器怎么算是紧密联系:搜索引擎的index:分行、分列;一个应用application ?
统一pod 下所有的容器使用相同的网络命名空间、IP地址和端口地址,相互之间可以用localhost 来发现和通信; 每一个pod 都有一个唯一的ip地址跟其他的物理机器、或者容器、其他的pod 进行网络通信,pod 的名字就作为容器通信时的主机名!!kubernets 未来的开发计划是使Pod共享IPC命名空间,CPU和内存
数据共享
在同一个pod 下的容器还共享一个存储卷空间,数据不会因为容器的重启而丢失,同一pod下面所有的容器都可以共享这个pod的数据;当pod 整体stop或者删除时数据会丢失
管理
相比原生态的容器API,pod通过提供更高层次的抽象,简化了应用的部署和管理。pod 就像是一个管理横向部署的单元,主机管理、资源共享、协调复制和依赖管理都可以自动控制(怎么理解? 简单的容器不可以实现?是代码层使用简单吗?)
透明性:让pod里面的容器向基础设施可见,底层操作系统就可以向容器提供比如进程管理、资源监控等基础服务,这样可以给用户带来极大的方便 【用户不用自己写这些服务】
解绑软件的依赖:如果多个程序跑在一个容器中,那这个容器只要升级所有的程序都需要stop
高效性:因为底层的系统提供了更多的管理和服务,让pod 更加的高效(怎么理解???)
1.1 什么是pod
pod 对应于由若干容器组成的容器组,同一容器组内的容器共享一个”存储卷“ 。pod 主要是在容器化的环境中建立了一个面向应用的”逻辑主机“模型,它包括一个或者多个逻辑关系紧密的容器。【理解:在没有容器化的环境中,同一pod里面的”容器“都运行在同一台物理机器或者虚拟机上】在kubernets 环境中,创建、部署、调度的最小单位是是pod,而不是单个容器!!
pod 跟容器一样不是一直存在的,在pod 的生命周期中,一个pod会被分配到一个节点上运行知道运行结束或者被stop(正常或者异常退出);当集群的一个节点(处理机,实际上就是一台物理服务器)消失时,这个pod 也会消失;kubernet的replication-controller 会重新分配节点运行这个pod
容器怎么算是紧密联系:搜索引擎的index:分行、分列;一个应用application ?
1.2 发明pod 的原因(pod 的优势)
资源通信和共享 【根据网络的隔离和共享进一步理解】统一pod 下所有的容器使用相同的网络命名空间、IP地址和端口地址,相互之间可以用localhost 来发现和通信; 每一个pod 都有一个唯一的ip地址跟其他的物理机器、或者容器、其他的pod 进行网络通信,pod 的名字就作为容器通信时的主机名!!kubernets 未来的开发计划是使Pod共享IPC命名空间,CPU和内存
数据共享
在同一个pod 下的容器还共享一个存储卷空间,数据不会因为容器的重启而丢失,同一pod下面所有的容器都可以共享这个pod的数据;当pod 整体stop或者删除时数据会丢失
管理
相比原生态的容器API,pod通过提供更高层次的抽象,简化了应用的部署和管理。pod 就像是一个管理横向部署的单元,主机管理、资源共享、协调复制和依赖管理都可以自动控制(怎么理解? 简单的容器不可以实现?是代码层使用简单吗?)
1.3 为什么不直接在一个容器下启动多个程序
透明性:让pod里面的容器向基础设施可见,底层操作系统就可以向容器提供比如进程管理、资源监控等基础服务,这样可以给用户带来极大的方便 【用户不用自己写这些服务】解绑软件的依赖:如果多个程序跑在一个容器中,那这个容器只要升级所有的程序都需要stop
高效性:因为底层的系统提供了更多的管理和服务,让pod 更加的高效(怎么理解???)
相关文章推荐
- 用图片打造的网站,原来并不是不能优化的
- 框架模式VS设计模式
- 途牛原创|途牛无线权限系统的架构设计与实践
- 对话架构师:亿级短视频社交「美拍」架构实战
- 『九个月实现破亿用户的可扩展架构』学习笔记
- c#使用WebClient登录网站抓取登录后的网页
- 几个设计相关的网站
- 坑系列 --- 高可用架构的银弹
- rk3188--5.android input 系统架构分析
- 网站构建 初级教程
- 一些优秀的学习网站(Android)
- javaweb动态网站-----如何在javaweb项目中使用bootstrap框架
- 第22课:Spark Streaming架构源码图解
- 微服务实战(一):微服务架构的优势与不足
- Openfire 系统架构
- 你的项目框架是否被过度设计了?
- 大型网站使用的服务器
- RESTful架构详解
- 接触到的前端网站(仅个人收藏用)
- 有用的IT网站