『中级篇』Kubenetes简介(60)
原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『中级篇』Kubenetes简介(60)
Kubernetes单词起源于希腊语, 是「舵手」或者「领航员」的意思,是“管理者”和“控制论”的根源。 K8s是把用8代替8个字符“ubernete”而成的缩写。
Docker Swarm 和 k8s的前世今生
可以很明确的说 先有的k8s,后有的docker swarm。
-
容器编排工具Kubernetes诞生,并迅速得到Google和RedHat的支持。2014年7月,Docker收购Orchard Labs,由此Docker公司开始涉足容器编排领域,Orchard Labs这家2013年由两位牛逼的年轻人创建的公司,有一个当时非常著名的容器编排工具fig,而这个fig就是docker-compose的前身。Docker Compose虽然能编排多容器的APP,但是却不能实现在多个机器上进行容器的创建和管理。所以此时Docker公司和Kubernetes并未开始正面竞争和冲突。
-
10月17日,Docker公司在其丹麦哥本哈根举行的 DockerCon 大会上宣布,将扩大其Docker平台并拥抱支持Kubernetes。显然,在容器编排领域的战火已然分出结果,尘埃落定,Kubernetes得到了包括Google、Huawei、Microsoft、IBM、AWS、Rancher、Redhat、CoreOS等容器玩家的一致认可。
-
Docker容器不关心用户使用哪种编排框架,它的工作是让用户轻松地选择最喜欢的编排框架,无论Kubernetes、Mesos、Docker Swarm还是其他。这个选择在价值上无关紧要,真正的价值在于平台,那才是钱。因此,将Kubernetes与Docker容器进行比较是没有意义的,Docker的真正的竞争对手是VMWare、CloudFoundry等平台。
没有对比没有伤害
docker swarm 和 k8s 都是容器的排版工具但是他们的热度看看google的热度如何告诉我们的。
回顾下docker Swarm
docker Swarm分为Manager节点和Worker节点,Manager具备管理功能,维持这个cls的状态,提供对外的接口,可以通过manager部署我们的application,部署service,部署stack。
Kubennetes介绍
相比docker Swarm来说Manage等于master,worker等于node节点
- k8s的master节点
master节点主要是k8s的一个大脑,k8s集群的管理节点,负责管理集群,提供集群的资源数据访问入口。拥有Etcd存储服务(可选),运行Api Server进程,Controller Manager服务进程及Scheduler服务进程,关联工作节点Node。Kubernetes API server提供HTTP Rest接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口。也是集群控制的入口进程;Kubernetes Controller Manager是Kubernetes所有资源对象的自动化控制中心;Kubernetes Schedule是负责资源调度(Pod调度)的进程
- k8s的node节点
Node是Kubernetes集群架构中运行Pod的服务节点(亦叫agent或minion)。Node是Kubernetes集群操作的单元,用来承载被分配Pod的运行,是Pod运行的宿主机。关联Master管理节点,拥有名称和IP、系统资源信息。运行docker eninge服务,守护进程kunelet及负载均衡器kube-proxy.
每个Node节点都运行着以下一组关键进程
kubelet:负责对Pod对于的容器的创建、启停等任务
kube-proxy:实现Kubernetes Service的通信与负载均衡机制的重要组件
Docker Engine(Docker):Docker引擎,负责本机容器的创建和管理工作
Node节点可以在运行期间动态增加到Kubernetes集群中,默认情况下,kubelet会想master注册自己,这也是Kubernetes推荐的Node管理方式,kubelet进程会定时向Master汇报自身情报,如操作系统、Docker版本、CPU和内存,以及有哪些Pod在运行等等,这样Master可以获知每个Node节点的资源使用情况,冰实现高效均衡的资源调度策略。
-
全局
PS:了解我的老铁都知道,概念讲的少,更多重在实践,通过实践更好的理解概念,从下次开始怼k8s的环境和集群。如果跟我一起学的老铁,应该可以感受的到,在学习docker的时候下载应用的时候都比较费劲各种问题,在一起学习k8s的时候更要注意,k8s是google的产品,google在国内的情况我就不详细说了,一起好好怼,不懂就百度搜:「科学上网」。
往期精彩
- docker导学(一)
- 容器的技术概述(二)
- docker的魅力初体验-5分钟安装wordpress不走弯路(三)
- docker官网介绍(四)
- 如何在mac上安装docker(五)
- 如何在window上安装docker(六)
- 如何在mac上通过vagrant安装虚拟机(七)
- 如何在window上通过vagrant安装虚拟机(八)
- docker-Machine的本地使用(九)
- docker-Machine的本地使用(十)
- 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
- docker架构和底层技术(12)
- docker Image概述(13)
- 手动建立一个base Image(14)
- 什么是Container(15)
- 构建自己的Docker镜像(16)
- Dockerfile详解(17)
- 镜像的发布(18)
- Dockerfile实战(19)
- 容器的操作(20)
- Dockerfile实战CMD和ENTRTYPOINT的配合(21)
- 容器的资源限制(22)
- docker网络(23)
- docker学习必会网络基础(24)
- Linux网络命名空间(25)
- Docker Bridge详解(26)
- 容器之间的Link(27)
- 容器的端口映射(28)
- 容器网络之host和none(29)
- 多容器复杂应用的部署(30)
- overlay网络和etcd实现多机的容器通信(31)
- docker的数据持久化存储和数据共享(32)
- windows下vagrant 通过SecureCRT连接centos7(33)
- 数据持久化之Data Volume(34)
- 数据持久化之bind Mounting(35)
- docker 使用bind Mounting实战(36)
- docker容器安装wordpress(37)
- docker Compose到底是什么(38)
- Docker Compose的安装和基本使用(39)
- Docker 水平扩展和负载均衡(40)
- Docker compose 部署一个复杂的应用(41)
- 容器编排Docker Swarm介绍(42)
- docker-swarm创建一个多节点集群(43)
- play with docker 的使用(44)
- docker-swarm中的Service创建维护和水平扩展(45)
- 在docker-swarm集群里通过serivce部署wordpress(46)
- 集群服务间通信之RoutingMesh(47)
- RoutingMesh之Ingress负载均衡(48)
- Docker-Stack部署wordpress(49)
- Docker-Stack部署投票应用(50)
- Docker-Secret管理和使用(51)
- Docker service更新(52)
- Docker的收费模式(53)
- Docker-cloud介绍(54)
- Docker Cloud自动构建 Docker image(55)
- Docker企业版的在线免费体验(56)
- docker企业版本地安装之UCP(57)
- docker体验阿里云的容器服务(58)
- 阿里云安装Docker企业版UCP和DTR(59)