美文网首页Kubernetes
Kubernetes-Extend the Kubernetes

Kubernetes-Extend the Kubernetes

作者: 小刘要学习 | 来源:发表于2019-06-29 14:54 被阅读5次

    原文:Extend the Kubernetes API with CustomResourceDefinitions

    结构化范式

    • 特性状态:Kubernetes v1.15 beta
    • 传统Custom Resources可存储任意JSON(除了会被API server隐式校验的apiVersion,kind,metadata字段)。使用OpenAPI v3.0 validation,我们可以使用指定一种范式,在创建和更新时会被进行validate,详述如下。
      使用apiextensions.k8s.io/v1,在CRD中,结构化范式的定义将会是强制性的,但是在v1beta1版本中,他还是可选的。
    • 在OpenAPI v3.0 validation schema中,一个结构化范式有如下特点:
      1. 在根目录下、在每一个对象node(via properties or additionalProperties in OpenAPI)的field下和每一个数组node(via items in OpenAPI)下,指明一个非空的type类型(通过在openAPI中的type字段),除了以下两种场景
      • 带有x-kubernetes-int-or-string: true的node
      • 带有x-kubernetes-preserve-unknown-fields: true的node
    1. 为被allof, anyoff, oneof或者not修饰的对象下的每一个field和被allof, anyoff, oneof或者not修饰的数组中的每一个item,在allof, anyoff, oneof或者not外部,范式也需要再指明一次这些item和field
    2. 禁止在allof, anyof,oneof或者not中设置description, type, default, additionProperties, nullable,例外情况:和x-kubernetes-int-or-string: true相关的两种模式可以除外。
    3. 如果metadata被指定了,那么metadata下的约束只能有name和generationName两个字段

    // To be continued...

    相关文章

      网友评论

        本文标题:Kubernetes-Extend the Kubernetes

        本文链接:https://www.haomeiwen.com/subject/pelpcctx.html