1、Pod
Pod
是kubernetes
最重要的基本概念,每个Pod
都有一个特殊的被称为“根容器”的Pause
容器。Pause
容器对应的镜像属于kubernetes
平台的一部分,除了Puase
容器,每个Pod
还包含一个或多个精密相关的用户业务容器。在默认情况下,当Pod
里的某个容器停止时,kubernetes
会自动监测到这个问题并且重新启动这个Pod
(重启Pod
里所有容器),如果Pod
所在的Node
宕机,就会将这个Node
上的所有Pod
重新调度到其它节点上。
Pod类型:
普通
Pod
,一旦被创建,就会被放入etcd
中存储,随后会被kubernetes Master
调度到某个具体的Node
上并进行绑定(Binding
),随后该Pod
会被对应的Node
上的kubelet
进程实例化成一组相关的Docker
容器并启动。
静态Pod
,比较特殊,并没有被存放在kubernetes
的etcd
存储里,而是被存放在某个具体的Node
上的一个具体文件中,并且只在此Node
上启动、运行。
限制Pod的CPU和Memory
Requests
:该资源的最小申请量,系统必须满足要求。
Limits
:该资源最大允许使用的量,如果超过,可能会被kubernetes
杀掉并重启。
2、Label
Label
(标签)是kubernetes
系统中另外一个核心概念。一个Label
是一个key=value
的键值对,其中key
和value
由用户自己指定。Label
可以被附加到各种资源对象上,如:Node
、Pod
、Service
、RC
等,一个资源对象可以定义任意数量的Label
,同一个Label
可以被添加到任意数量的资源对象上。
给某个资源对象定义一个Label
,就相当于给它打了一个标签,随后可以通过Label Selector
(标签选择器)查询和筛选拥有某些Label
的资源对象,kubernetes
通过这种方式实现了类似SQL
的简单又通过多对象查询的机制。
3、Replication Controller
RC
是定义一个期望的场景,声明某种Pod
的副本数量在任意时刻都符合某个预期值,所以RC
的定义包括如下几个部分:
Pod
期待的副本数量。
用于筛选目标Pod
的Label Selector
。
当Pod
的副本数量小于预期数量时,用于创建新Pod
的Pod
模板(templete
)。
网友评论