Kubernetes – 核心概念

Kubernetes中,除了主节点和工作节点,还有一些核心概念需要理解清楚:

Pod

Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace,是Kubernetes调度的基本单位。Pod的设计理念是支持多个容器在一个Pod中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。

ReplicaSet

Replicaset在继承Pod的所有特性的同时, 它可以利用预先创建好的模板定义副本数量并自动控制, 通过改变Pod副本数量实现Pod的扩容和缩容。

Deployment

Deployment在继承Pod和Replicaset的所有特性的同时, 它可以实现对template模板进行实时回滚、升级等特性。

Label/标签

Label是attach到Pod的一对键/值对,用来传递用户定义的属性。比如,你可能创建了一个”tier”和“app”标签,通过Label(tier=frontend, app=myapp)来标记前端Pod容器,使用Label(tier=backend, app=myapp)标记后台Pod。然后可以使用Selectors选择带有特定Label的Pod,让具体某一个Pod或者Deployment去使用某一个Service实现特定的网络配置.

Service/服务

Service是应用服务的抽象。

通过标签为应用提供负载均衡和服务发现。匹配标签的Pod IP和端口列表组成服务端点,由kube-proxy负责将服务IP负载均衡到这些服务端点上。

每个Service都会自动分配一个cluster IP(仅在集群内部可访问的虚拟地址)和DNS名,其他容器可以通过该地址或DNS来访问服务,而不需要了解后端容器的运行。

kubectl

kubectl实用程序可以与Kubernetes集群管理器交互。例如,您可以添加和删除节点,Pod,Deployment和服务。你也可以检查它们的状态,等等。

后面将详细介绍这些概念。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载