Kubernetes对象

基本对象

Pod

pod是最小部署单元,一个pod有一个或多个容器组成,pod中容器共享存储和网络,在同一个Docker主机上运行。

Service

Service一个应用服务抽象,定义了pod逻辑集合和访问这个pod集合的策略。
Service代理pod集合对外表现为一个访问入口,分配一个集群ip地址,来自这个ip的请求将负载转发后端pod中的容器。
Service通过Lable Selector选择一组pod提供服务。

Volume

数据卷,共享pod中容器使用的数据。

Namespace

命名空间将对象逻辑上分配到不通namespace,可以是不同项目,用户等区分管理,并设定控制策略,从而实现多租户,命名空间也称为虚拟集群。

Lable

标签用于区分对象,键/值对存在,每个对象可以有多个标签,通过标签关联对象。

基于基本对象更高层次抽象

ReplicaSet

下一代Replication Controller 确保任何给定时间指定的pod副本数量,并提供声明式更新等功能,RC与RS唯一区别就是lable selector支持不同,RS支持新的基于集合的标签,RC仅支持基于等式的标签。

Deployment(无状态控制器)

Deployment是一个更高层次API对象,它管理RS和pod,并提供声明式更新等功能。

StatefulSet(有状态控制器)

StatefulSet适合持久性的应用,有唯一的网络标识符(IP),持久存储,有序的部署、扩展、删除和滚动更新。

DaemonSet

DaemonSet确保所有或一些节点运行同一个pod,当节点加入kubernetes集群中,pod会被调度到该节点运行,当节点从集群中移除时,DaemonSet的pod会自动被删除,删除DaemonSet会清理所有pod

Job

一次性任务,运行完成后pod销毁,不再重新启动新容器,还可以定时运行任务

CronJob

Cronjob管理基于时间的job
在给定时间只运行一次
周期性地在给定时间点运行
使用前提条件:当时有kubernetes集群,版本>=1.8,对于先前版本的集群,版本<1.8 启动api server时 通过传递选项--runtime-config=batch/v2a1pha1=true可以开启batch/v2alpha1 api

Horizontal Pod Autoscaling(自动扩展)

应用的资源使用率通常都有高峰和低估的时候,即何削峰填谷,提高集群的整体资源利用率,让service中的pod个数自动调整,这就要依赖于Horizontal Pod Autoscaling了 顾名思义,使pod水平自动缩放

你可能感兴趣的:(Kubernetes对象)