什么是Kubernetes?
Kubernetes 是自动化容器操作平台,包括部署,调度和节点集群间扩展,可以将Docker看成Kubernetes内部使用的低级别组件。
使用Kubernetes可以:
- 自动化容器部署和复制
- 随时扩展或收缩容器规模
- 将容器组织成组,并且提供容器间的负载均衡
- 很容易地升级应用程序容器的新版本
- 提供容器弹性,如果容器失效就替换它
集群
集群是一组节点,可以是物理服务器或者虚拟机。

Pod
Pod包含一组容器和卷。同一个Pod里的容器共享同一个网络命名空间,可以使用localhost互相通信。Pod是短暂的,不是持续性实体。
Lable
一些Pod有Label,一个Label是attach到Pod的一对键/值对,用来传递用户定义的属性。
Replication Controller
Replication Controller确保任意时间都有指定数量的Pod副本在运行。如果为某个Pod创建了Replication Controller并且指定3个副本,它会创建3个Pod,并且持续监控它们。如果某个Pod不响应,那么Replication Controller会替换它,保持总数为3。

当创建Replication Controller时,需要指定:
- Pod模板:用来创建Pod副本的模板
- Label:Replication Controller需要监控的Pod的标签。
Service
Service是定义一系列Pod以及访问这些Pod的策略的一层抽象。Service通过Label找到Pod组。因为Service是抽象的,所以在图表里通常看不到它们的存在,这也就让这一概念更难以理解。

Node
节点是物理或者虚拟机器,作为Kubernetes worker,通常称为Minion。每个节点都运行如下Kubernetes关键组件:
- Kubelet:是主节点代理。
- Kube-proxy:Service使用其将链接路由到Pod,如上文所述。
- Docker或Rocket:Kubernetes使用的容器技术来创建容器。
Kubernetes Master
集群拥有一个Kubernetes Maste。
Kubernetes Master提供集群的独特视角,并且拥有一系列组件,比如Kubernetes API Server。
API Server提供可以用来和集群交互的REST端点。master节点包括用来创建和复制Pod的Replication Controller。
Reference :