【一起来学kubernetes】5、kubernetes基本概念梳理

引言

在使用kubernetes前,有几个非常重要的概念需要我们提前做深入的了解,这样对我们今后学习和理解kubernetes有非常大的帮助。首先我们会经常用到的两个kubernetes的集群管理角色:Master和Node;其次是服务创建与治理的主要载体:Pod;还有系统中的资源描述关键元素:Label;用于保存服务期望与自动化调度的重要组成部分:Replication Controller;进行Pod编排的重要工具:Deployment;用于Pod横向自动扩容的HPA:Horizontal Pod Autoscaler;有状态服务治理工具:StatefulSet;最核心的资源对象,微服务架构中的微服务:Service;Pod中被能够被多个容器访问的共享目录:Volume;独立于Node和Pod之外的网络存储空间:Persistent Volume;用于实现多租户的资源隔离的概念:Namespace;标注资源附加信息的工具:Annotation;以上的所有这些重要概念组成了kubernetes系统,通过灵活组合我们就可以快速方便地对容器进行配置、创建、管理和监听,下面我们就分别来简单的梳理一下上面的这些概念和组件的用途。

Master

Master节点是集群中的控制节点,每个集群中要有一个Master节点来进行整个kubernetes集群的控制和管理,在我们的主要集群管理命令都是从该节点发出的。
首先我们来看一下Master节点上关键服务的相互关系:
【一起来学kubernetes】5、kubernetes基本概念梳理

  • kube-apiserver:集群中所有资源的增删改查等操作的唯一入口,也是集群控制的入口进程。
  • kube-controller-manager:所有资源的自动化控制中心,是kubernetes进行自动化的资源配置的中心进程。
  • kube-scheduler:集群中的资源调度进程。
  • etcd:kubernetes中所有资源信息和配置信息的存储数据库。

Node

Kubernetes集群中,除了Master节点,其他节点统一称之为Node节点,Node节点主要用来做工作负载的,每个Node节点都会被Master节点分配一些工作负载在上面,如果Node节点宕机了,该节点上的所有工作负载都会被转移到其他的有空闲资源的Node节点上
【一起来学kubernetes】5、kubernetes基本概念梳理

  • kubelet:该进程主要负责Pod对应的容器的创建和启动等任务,同时与Master节点密切协作,实现集群管理功能。
  • kube-proxy:该进程主要用来实现Service的通信和负载均衡机制。
  • Container:服务容器,是Pod的重要组成部分,也是服务的基本组成部分。

在集群运行的过程中也可以动态的增删Node节点,运行中的kubelet进程会向配置好的Master节点注册当前增加的Node节点,一旦Node节点进入Master集群的管理范围以后,kubelet进程会定时向Master节点上报自身运行情况,这样Master就可以确认每个Node的使用情况,并实现自动化的资源调度。当某个Node超过指定的上报时间不上报信息的话,会被Master判定为失联,Node的状态被标记为不可用,随后Master节点会讲当前不可用的Node节点上面的Pod转移到其它可用Node节点上。

Pod

更新中。。。

Label

更新中。。。

Replication Controller

更新中。。。

Deployment

更新中。。。

Horizontal Pod Autoscaler

更新中。。。

StatefulSet

更新中。。。

Service

更新中。。。

Volume

更新中。。。

Persistent Volume

更新中。。。

Namespace

更新中。。。

Annotation

更新中。。。