k8s中一些常见概念
k8s是kubernetes的缩写,名字源自古希腊,是舵手的意思。如果把docker比如成滴滴网约车,那么k8s就是滴滴平台的调度系统。
这个调度系统由哪些部分组成呢?
一,Master
k8s里的master指的是集群控制节点。相当于团长,发号施令的。基本上k8s所有的控制命令都是发给他,然后负责具体的执行过程。Master节点上运行着一组关键进程:
- Kubernetes API Server(kube-apiserver),提供了HTTP Rest接口的关键服务进程,是k8s里所有资源的增删改查等操作的唯一入口,也是集群控制的入口进程。
- Kubernetes Controller Manager(kube-controller-manager), K8s里所有资源对象的自动化控制中心,可以理解为资源对象的“大总管”
- Kubernetes Scheduler(kube-scheduler), 负责资源调度(Pod调度)的进程,相当于公交公司的“调度室”
- 其实Master节点上往往还有etcd Server 进程,因为k8s里所有的资源对象的数据全部保存在etcd中
二,Node
除了Master,k8s集群中的其他机器被称为node节点,是k8s集群中的工作负载节点
三,Pod
在node上运行的一组容器
四,Label(标签)
一个Label是一个key=value的键值对。label可以附加到各种对象上,例如Node,Pod,Service,Rc等,
五,Replication Controller(RC)
类似于监理,就是监控k8s集群里pod的数量和rc要求的是否一致,少了自动创建pod补齐,多了就停掉一些pod.
六,Deployment
可以看作是Rc的一次升级,两者相似度超过90%,最大升级时可以随时知道pod“部署”的进度。
七,Service(服务)
service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问背后由pod组成的集群实例。service与其后端pod副本集群之间则是通过label selector来实现对接,而RC的作用实际时保证service的服务能力和服务质量始终处于预期的标准。
八,Volume(存储卷)
Volume是Pod中能够被多个容器访问的共享目录。将volume中目录挂载到pod上,pod可以访问磁盘,增删改查磁盘数据。
九,Namespace(命令空间)
namespace通过将集群内部的资源对象分配到不同的namespace中,形成逻辑上分组的不同项目,便于不同的分组在分享使用整个集群的资源的同时还能被分别管理。