Docker和K8S
所属分类 docker
浏览量 1523
2010 dotCloud 公司 ,主要提供基于PaaS的云计算技术服务。和LXC有关的容器技术
dotCloud公司将自己的容器技术进行了简化和标准化,命名为 Docker
2013年3月,dotCloud公司创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。
2014年6月9日,Docker 1.0 版本正式发布。
Docker火了之后,dotCloud公司把公司名字改为 Docker Inc.
容器技术之前,业界网红是虚拟机。虚拟机技术的代表是VMWare和OpenStack。
虚拟化技术
虚拟机占用空间大,启动更慢
Docker轻量级虚拟化
容器不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)
启动时间很快,几秒钟就能完成。
资源利用率很高(一台主机可以同时运行几千个Docker容器)
占用空间很小,虚拟机一般要几GB到几十GB的空间,而容器只需要MB级甚至KB级。
容器和虚拟机对比
特性/虚拟机/容器
隔离级别 操作系统级 进程级
隔离策略 hypervisor cgroups
系统资源 5~15% 0~5%
启动时间 分钟级 秒级
镜像存储 GB-TB KB-MB
集群规模 上百 上万
高可用策略 备份容灾迁移 弹性负载动态
docker的两句口号
Build, Ship and Run
Build once,Run anywhere
Docker技术的三大核心概念
镜像(Image)
容器(Container)
仓库(Repository)
Docker Registry 负责管理 docker 镜像
最常使用的Registry公开服务,是官方的Docker Hub
kubernetes K8S
基于容器的集群管理平台 编排、管理和调度
希腊语 舵手或领航员
Google Borg系统
2014年6月 Google 开源 K8S
2015年7月,Google正式加入OpenStack基金会。Kuberentes v1.0正式发布。
K8S集群(Cluster)
一个Master节点(主节点)
多个Node节点(计算节点)
Master节点主要负责管理和控制
Master节点包括 API Server、Scheduler、Controller manager、etcd。
API Server 系统对外接口,供客户端和其它组件调用,相当于“营业厅”。
Scheduler负责对集群内部的资源进行调度,相当于“调度室”。
Controller manager负责管理控制器,相当于“大总管”。
etcd 分布式键值对数据存储系统,提供共享配置、服务的注册和发现。
Node节点包括Docker kubelet kube-proxy Fluentd Pod kube-dns(可选)
Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,内部封装了一个或多个紧密相关的容器。
Service 可以看作一组提供相同服务的Pod的对外访问接口。
Kubelet 负责监视Node上的Pod,包括创建、修改、监控、删除等。
Kube-proxy 负责为Pod对象提供代理。
Fluentd 负责日志收集、存储与查询。
上一篇
下一篇
unix/linux基本理念和准则
自旋锁要点及简单实例
rocketmq要点
docker安装和使用
docker设置镜像仓库
docker run 与 start的区别