K8S开发指南
API接口详细定义查询官网:http://kubernetes.io/third_party/swagger-ui
一个API的顶层(Top Level)元素由kind、apiVersion、metadata、spec和status几部分组成。
kind表明对象有三大类别:
-
对象(objects):代表在系统中的一个永久资源(实体),例如Pod、RC、Service、Namespace及Node等。
-
列表(list):一个或多个资源类别,有一个通用元数据的有限的集合。所有列表(lists)通过"items"域获得对象数组,例如PodLists、ServiceLists、NodeLists等。
-
简单类别(simple)
-
apiVersion
-
Metadata:资源对象的元数据定义,是集合类的元素类型,包含一组由不同名称定义的属性。在K8S中,每个资源对象都必须包含三种Metadata:
- namespace
- name:对象的名字,在一个命名空间应具备唯一性。
- uid
此外,每种对象还应该包含以下几个重要元数据
- lables:通常用于Lable Selector来批评目标对象
- annotations:键和值都为字符串的map,用于存储和获取关于该对象的特定元数据
- resourceVersion
- creationTimestamp
- deletationTimestamp
- selfLink:通过API访问资源自身的URL
spec:是集合累的元素类型,用户对需要管理的对象进行详细描述的主题部分都在spec里给出,将会被保存到etcd中,系统通过spec的描述来创建或更新对象,以达到用户期望的对象运行状态。如果spec被删除,那么该对象将会从系统中删除。
status:略。