Kubernetes由抽象对象构成,每个抽象对象对应一个声明式API,每个抽象对象由元数据(metadata)、规范(spec)、状态(status)组成,可以通过外部文件yaml或json来定义。
Kubernetes.png
- 容器组(Pod):k8s中的最小资源单位,由位于同一节点上的若干容器组成,彼此共享网络命名空间和存储卷,Pod的短暂的,随时可变的,一般每个Pod除了一个应用容器外,还包括一个初始的pause容器,完成网络和存储空间的初始化
- 服务(Service):对外提供某个特定功能的一组Pod和所关联的访问配置
- 存储卷(Volume):提供数据的持久化功能,支持多种本地和云存储
- 命名空间(Namespace):通过命名空间将同一组物理资源虚拟为不同的抽象集群,避免不同租户的资源发生命名冲突,另外可以进行资源限额
- 副本集(ReplicaSet):维持某个Pod的指定副本数
- 部署(Deployment):管理Pod和副本集,并且支持升级操作
- 状态集(StatefulSet):管理带有状态的应用
- Job:适用于短期场景,任务创建若干Pod,并确保给定数目的Pod最终正常退出
- 横向Pod扩展器(HPA):根据Pod的使用率自动调整一个部署里面的Pod个数
- 入口控制器(Ingress Controller):定义外部访问集群中资源的一组规则,用来提供七层代理和负载均衡服务
- 标签(Label):键值对,用来标记在资源对象上,用来对资源做区分和筛选
- 选择器(Selector):基于标签概念的一个正则表达式,可对标签筛选出一组资源
- 名字(Name):用户提供给资源的别名,同类资源不能重名
网友评论