sigs.k8s.io/cluster-api/bootstrap/kubeadm@v0.0.0-20191016155141-23a891785b60/config-capi/crds/cluster.k8s.io_machinesets.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1beta1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    creationTimestamp: null
     7    name: machinesets.cluster.k8s.io
     8  spec:
     9    group: cluster.k8s.io
    10    names:
    11      kind: MachineSet
    12      plural: machinesets
    13      shortNames:
    14      - ms
    15    scope: Namespaced
    16    subresources:
    17      scale:
    18        labelSelectorPath: .status.labelSelector
    19        specReplicasPath: .spec.replicas
    20        statusReplicasPath: .status.replicas
    21    validation:
    22      openAPIV3Schema:
    23        description: / [MachineSet] MachineSet ensures that a specified number of machines
    24          replicas are running at any given time.
    25        properties:
    26          apiVersion:
    27            description: 'APIVersion defines the versioned schema of this representation
    28              of an object. Servers should convert recognized schemas to the latest
    29              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
    30            type: string
    31          kind:
    32            description: 'Kind is a string value representing the REST resource this
    33              object represents. Servers may infer this from the endpoint the client
    34              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
    35            type: string
    36          metadata:
    37            type: object
    38          spec:
    39            description: / [MachineSetSpec] MachineSetSpec defines the desired state
    40              of MachineSet
    41            properties:
    42              deletePolicy:
    43                description: DeletePolicy defines the policy used to identify nodes
    44                  to delete when downscaling. Defaults to "Random".  Valid values are
    45                  "Random, "Newest", "Oldest"
    46                enum:
    47                - Random
    48                - Newest
    49                - Oldest
    50                type: string
    51              minReadySeconds:
    52                description: MinReadySeconds is the minimum number of seconds for which
    53                  a newly created machine should be ready. Defaults to 0 (machine will
    54                  be considered available as soon as it is ready)
    55                format: int32
    56                type: integer
    57              replicas:
    58                description: Replicas is the number of desired replicas. This is a pointer
    59                  to distinguish between explicit zero and unspecified. Defaults to
    60                  1.
    61                format: int32
    62                type: integer
    63              selector:
    64                description: 'Selector is a label query over machines that should match
    65                  the replica count. Label keys and values that must match in order
    66                  to be controlled by this MachineSet. It must match the machine template''s
    67                  labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
    68                properties:
    69                  matchExpressions:
    70                    description: matchExpressions is a list of label selector requirements.
    71                      The requirements are ANDed.
    72                    items:
    73                      description: A label selector requirement is a selector that contains
    74                        values, a key, and an operator that relates the key and values.
    75                      properties:
    76                        key:
    77                          description: key is the label key that the selector applies
    78                            to.
    79                          type: string
    80                        operator:
    81                          description: operator represents a key's relationship to a
    82                            set of values. Valid operators are In, NotIn, Exists and
    83                            DoesNotExist.
    84                          type: string
    85                        values:
    86                          description: values is an array of string values. If the operator
    87                            is In or NotIn, the values array must be non-empty. If the
    88                            operator is Exists or DoesNotExist, the values array must
    89                            be empty. This array is replaced during a strategic merge
    90                            patch.
    91                          items:
    92                            type: string
    93                          type: array
    94                      required:
    95                      - key
    96                      - operator
    97                      type: object
    98                    type: array
    99                  matchLabels:
   100                    additionalProperties:
   101                      type: string
   102                    description: matchLabels is a map of {key,value} pairs. A single
   103                      {key,value} in the matchLabels map is equivalent to an element
   104                      of matchExpressions, whose key field is "key", the operator is
   105                      "In", and the values array contains only "value". The requirements
   106                      are ANDed.
   107                    type: object
   108                type: object
   109              template:
   110                description: Template is the object that describes the machine that
   111                  will be created if insufficient replicas are detected.
   112                properties:
   113                  metadata:
   114                    description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
   115                    properties:
   116                      annotations:
   117                        additionalProperties:
   118                          type: string
   119                        description: 'Annotations is an unstructured key value map stored
   120                          with a resource that may be set by external tools to store
   121                          and retrieve arbitrary metadata. They are not queryable and
   122                          should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
   123                        type: object
   124                      generateName:
   125                        description: "GenerateName is an optional prefix, used by the
   126                          server, to generate a unique name ONLY IF the Name field has
   127                          not been provided. If this field is used, the name returned
   128                          to the client will be different than the name passed. This
   129                          value will also be combined with a unique suffix. The provided
   130                          value has the same validation rules as the Name field, and
   131                          may be truncated by the length of the suffix required to make
   132                          the value unique on the server. \n If this field is specified
   133                          and the generated name exists, the server will NOT return
   134                          a 409 - instead, it will either return 201 Created or 500
   135                          with Reason ServerTimeout indicating a unique name could not
   136                          be found in the time allotted, and the client should retry
   137                          (optionally after the time indicated in the Retry-After header).
   138                          \n Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency"
   139                        type: string
   140                      labels:
   141                        additionalProperties:
   142                          type: string
   143                        description: 'Map of string keys and values that can be used
   144                          to organize and categorize (scope and select) objects. May
   145                          match selectors of replication controllers and services. More
   146                          info: http://kubernetes.io/docs/user-guide/labels'
   147                        type: object
   148                      name:
   149                        description: 'Name must be unique within a namespace. Is required
   150                          when creating resources, although some resources may allow
   151                          a client to request the generation of an appropriate name
   152                          automatically. Name is primarily intended for creation idempotence
   153                          and configuration definition. Cannot be updated. More info:
   154                          http://kubernetes.io/docs/user-guide/identifiers#names'
   155                        type: string
   156                      namespace:
   157                        description: "Namespace defines the space within each name must
   158                          be unique. An empty namespace is equivalent to the \"default\"
   159                          namespace, but \"default\" is the canonical representation.
   160                          Not all objects are required to be scoped to a namespace -
   161                          the value of this field for those objects will be empty. \n
   162                          Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"
   163                        type: string
   164                      ownerReferences:
   165                        description: List of objects depended by this object. If ALL
   166                          objects in the list have been deleted, this object will be
   167                          garbage collected. If this object is managed by a controller,
   168                          then an entry in this list will point to this controller,
   169                          with the controller field set to true. There cannot be more
   170                          than one managing controller.
   171                        items:
   172                          description: OwnerReference contains enough information to
   173                            let you identify an owning object. An owning object must
   174                            be in the same namespace as the dependent, or be cluster-scoped,
   175                            so there is no namespace field.
   176                          properties:
   177                            apiVersion:
   178                              description: API version of the referent.
   179                              type: string
   180                            blockOwnerDeletion:
   181                              description: If true, AND if the owner has the "foregroundDeletion"
   182                                finalizer, then the owner cannot be deleted from the
   183                                key-value store until this reference is removed. Defaults
   184                                to false. To set this field, a user needs "delete" permission
   185                                of the owner, otherwise 422 (Unprocessable Entity) will
   186                                be returned.
   187                              type: boolean
   188                            controller:
   189                              description: If true, this reference points to the managing
   190                                controller.
   191                              type: boolean
   192                            kind:
   193                              description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   194                              type: string
   195                            name:
   196                              description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
   197                              type: string
   198                            uid:
   199                              description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
   200                              type: string
   201                          required:
   202                          - apiVersion
   203                          - kind
   204                          - name
   205                          - uid
   206                          type: object
   207                        type: array
   208                    type: object
   209                  spec:
   210                    description: 'Specification of the desired behavior of the machine.
   211                      More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
   212                    properties:
   213                      configSource:
   214                        description: ConfigSource is used to populate in the associated
   215                          Node for dynamic kubelet config. This field already exists
   216                          in Node, so any updates to it in the Machine spec will be
   217                          automatically copied to the linked NodeRef from the status.
   218                          The rest of dynamic kubelet config support should then work
   219                          as-is.
   220                        properties:
   221                          configMap:
   222                            description: ConfigMap is a reference to a Node's ConfigMap
   223                            properties:
   224                              kubeletConfigKey:
   225                                description: KubeletConfigKey declares which key of
   226                                  the referenced ConfigMap corresponds to the KubeletConfiguration
   227                                  structure This field is required in all cases.
   228                                type: string
   229                              name:
   230                                description: Name is the metadata.name of the referenced
   231                                  ConfigMap. This field is required in all cases.
   232                                type: string
   233                              namespace:
   234                                description: Namespace is the metadata.namespace of
   235                                  the referenced ConfigMap. This field is required in
   236                                  all cases.
   237                                type: string
   238                              resourceVersion:
   239                                description: ResourceVersion is the metadata.ResourceVersion
   240                                  of the referenced ConfigMap. This field is forbidden
   241                                  in Node.Spec, and required in Node.Status.
   242                                type: string
   243                              uid:
   244                                description: UID is the metadata.UID of the referenced
   245                                  ConfigMap. This field is forbidden in Node.Spec, and
   246                                  required in Node.Status.
   247                                type: string
   248                            required:
   249                            - kubeletConfigKey
   250                            - name
   251                            - namespace
   252                            type: object
   253                        type: object
   254                      metadata:
   255                        description: ObjectMeta will autopopulate the Node created.
   256                          Use this to indicate what labels, annotations, name prefix,
   257                          etc., should be used when creating the Node.
   258                        properties:
   259                          annotations:
   260                            additionalProperties:
   261                              type: string
   262                            description: 'Annotations is an unstructured key value map
   263                              stored with a resource that may be set by external tools
   264                              to store and retrieve arbitrary metadata. They are not
   265                              queryable and should be preserved when modifying objects.
   266                              More info: http://kubernetes.io/docs/user-guide/annotations'
   267                            type: object
   268                          generateName:
   269                            description: "GenerateName is an optional prefix, used by
   270                              the server, to generate a unique name ONLY IF the Name
   271                              field has not been provided. If this field is used, the
   272                              name returned to the client will be different than the
   273                              name passed. This value will also be combined with a unique
   274                              suffix. The provided value has the same validation rules
   275                              as the Name field, and may be truncated by the length
   276                              of the suffix required to make the value unique on the
   277                              server. \n If this field is specified and the generated
   278                              name exists, the server will NOT return a 409 - instead,
   279                              it will either return 201 Created or 500 with Reason ServerTimeout
   280                              indicating a unique name could not be found in the time
   281                              allotted, and the client should retry (optionally after
   282                              the time indicated in the Retry-After header). \n Applied
   283                              only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency"
   284                            type: string
   285                          labels:
   286                            additionalProperties:
   287                              type: string
   288                            description: 'Map of string keys and values that can be
   289                              used to organize and categorize (scope and select) objects.
   290                              May match selectors of replication controllers and services.
   291                              More info: http://kubernetes.io/docs/user-guide/labels'
   292                            type: object
   293                          name:
   294                            description: 'Name must be unique within a namespace. Is
   295                              required when creating resources, although some resources
   296                              may allow a client to request the generation of an appropriate
   297                              name automatically. Name is primarily intended for creation
   298                              idempotence and configuration definition. Cannot be updated.
   299                              More info: http://kubernetes.io/docs/user-guide/identifiers#names'
   300                            type: string
   301                          namespace:
   302                            description: "Namespace defines the space within each name
   303                              must be unique. An empty namespace is equivalent to the
   304                              \"default\" namespace, but \"default\" is the canonical
   305                              representation. Not all objects are required to be scoped
   306                              to a namespace - the value of this field for those objects
   307                              will be empty. \n Must be a DNS_LABEL. Cannot be updated.
   308                              More info: http://kubernetes.io/docs/user-guide/namespaces"
   309                            type: string
   310                          ownerReferences:
   311                            description: List of objects depended by this object. If
   312                              ALL objects in the list have been deleted, this object
   313                              will be garbage collected. If this object is managed by
   314                              a controller, then an entry in this list will point to
   315                              this controller, with the controller field set to true.
   316                              There cannot be more than one managing controller.
   317                            items:
   318                              description: OwnerReference contains enough information
   319                                to let you identify an owning object. An owning object
   320                                must be in the same namespace as the dependent, or be
   321                                cluster-scoped, so there is no namespace field.
   322                              properties:
   323                                apiVersion:
   324                                  description: API version of the referent.
   325                                  type: string
   326                                blockOwnerDeletion:
   327                                  description: If true, AND if the owner has the "foregroundDeletion"
   328                                    finalizer, then the owner cannot be deleted from
   329                                    the key-value store until this reference is removed.
   330                                    Defaults to false. To set this field, a user needs
   331                                    "delete" permission of the owner, otherwise 422
   332                                    (Unprocessable Entity) will be returned.
   333                                  type: boolean
   334                                controller:
   335                                  description: If true, this reference points to the
   336                                    managing controller.
   337                                  type: boolean
   338                                kind:
   339                                  description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   340                                  type: string
   341                                name:
   342                                  description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
   343                                  type: string
   344                                uid:
   345                                  description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
   346                                  type: string
   347                              required:
   348                              - apiVersion
   349                              - kind
   350                              - name
   351                              - uid
   352                              type: object
   353                            type: array
   354                        type: object
   355                      providerID:
   356                        description: ProviderID is the identification ID of the machine
   357                          provided by the provider. This field must match the provider
   358                          ID as seen on the node object corresponding to this machine.
   359                          This field is required by higher level consumers of cluster-api.
   360                          Example use case is cluster autoscaler with cluster-api as
   361                          provider. Clean-up logic in the autoscaler compares machines
   362                          to nodes to find out machines at provider which could not
   363                          get registered as Kubernetes nodes. With cluster-api as a
   364                          generic out-of-tree provider for autoscaler, this field is
   365                          required by autoscaler to be able to have a provider view
   366                          of the list of machines. Another list of nodes is queried
   367                          from the k8s apiserver and then a comparison is done to find
   368                          out unregistered machines and are marked for delete. This
   369                          field will be set by the actuators and consumed by higher
   370                          level entities like autoscaler that will be interfacing with
   371                          cluster-api as generic provider.
   372                        type: string
   373                      providerSpec:
   374                        description: ProviderSpec details Provider-specific configuration
   375                          to use during node creation.
   376                        properties:
   377                          value:
   378                            description: Value is an inlined, serialized representation
   379                              of the resource configuration. It is recommended that
   380                              providers maintain their own versioned API types that
   381                              should be serialized/deserialized from this field, akin
   382                              to component config.
   383                            type: object
   384                          valueFrom:
   385                            description: Source for the provider configuration. Cannot
   386                              be used if value is not empty.
   387                            properties:
   388                              machineClass:
   389                                description: The machine class from which the provider
   390                                  config should be sourced.
   391                                properties:
   392                                  apiVersion:
   393                                    description: API version of the referent.
   394                                    type: string
   395                                  fieldPath:
   396                                    description: 'If referring to a piece of an object
   397                                      instead of an entire object, this string should
   398                                      contain a valid JSON/Go field access statement,
   399                                      such as desiredState.manifest.containers[2]. For
   400                                      example, if the object reference is to a container
   401                                      within a pod, this would take on a value like:
   402                                      "spec.containers{name}" (where "name" refers to
   403                                      the name of the container that triggered the event)
   404                                      or if no container name is specified "spec.containers[2]"
   405                                      (container with index 2 in this pod). This syntax
   406                                      is chosen only to have some well-defined way of
   407                                      referencing a part of an object. TODO: this design
   408                                      is not final and this field is subject to change
   409                                      in the future.'
   410                                    type: string
   411                                  kind:
   412                                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
   413                                    type: string
   414                                  name:
   415                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   416                                    type: string
   417                                  namespace:
   418                                    description: 'Namespace of the referent. More info:
   419                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   420                                    type: string
   421                                  provider:
   422                                    description: Provider is the name of the cloud-provider
   423                                      which MachineClass is intended for.
   424                                    type: string
   425                                  resourceVersion:
   426                                    description: 'Specific resourceVersion to which
   427                                      this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
   428                                    type: string
   429                                  uid:
   430                                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   431                                    type: string
   432                                type: object
   433                            type: object
   434                        type: object
   435                      taints:
   436                        description: The list of the taints to be applied to the corresponding
   437                          Node in additive manner. This list will not overwrite any
   438                          other taints added to the Node on an ongoing basis by other
   439                          entities. These taints should be actively reconciled e.g.
   440                          if you ask the machine controller to apply a taint and then
   441                          manually remove the taint the machine controller will put
   442                          it back) but not have the machine controller remove any taints
   443                        items:
   444                          description: The node this Taint is attached to has the "effect"
   445                            on any pod that does not tolerate the Taint.
   446                          properties:
   447                            effect:
   448                              description: Required. The effect of the taint on pods
   449                                that do not tolerate the taint. Valid effects are NoSchedule,
   450                                PreferNoSchedule and NoExecute.
   451                              type: string
   452                            key:
   453                              description: Required. The taint key to be applied to
   454                                a node.
   455                              type: string
   456                            timeAdded:
   457                              description: TimeAdded represents the time at which the
   458                                taint was added. It is only written for NoExecute taints.
   459                              format: date-time
   460                              type: string
   461                            value:
   462                              description: Required. The taint value corresponding to
   463                                the taint key.
   464                              type: string
   465                          required:
   466                          - effect
   467                          - key
   468                          type: object
   469                        type: array
   470                      versions:
   471                        description: Versions of key software to use. This field is
   472                          optional at cluster creation time, and omitting the field
   473                          indicates that the cluster installation tool should select
   474                          defaults for the user. These defaults may differ based on
   475                          the cluster installer, but the tool should populate the values
   476                          it uses when persisting Machine objects. A Machine spec missing
   477                          this field at runtime is invalid.
   478                        properties:
   479                          controlPlane:
   480                            description: ControlPlane is the semantic version of the
   481                              Kubernetes control plane to run. This should only be populated
   482                              when the machine is a control plane.
   483                            type: string
   484                          kubelet:
   485                            description: Kubelet is the semantic version of kubelet
   486                              to run
   487                            type: string
   488                        required:
   489                        - kubelet
   490                        type: object
   491                    type: object
   492                type: object
   493            required:
   494            - selector
   495            type: object
   496          status:
   497            description: / [MachineSetStatus] MachineSetStatus defines the observed
   498              state of MachineSet
   499            properties:
   500              availableReplicas:
   501                description: The number of available replicas (ready for at least minReadySeconds)
   502                  for this MachineSet.
   503                format: int32
   504                type: integer
   505              errorMessage:
   506                type: string
   507              errorReason:
   508                description: "In the event that there is a terminal problem reconciling
   509                  the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason
   510                  will be populated with a succinct value suitable for machine interpretation,
   511                  while ErrorMessage will contain a more verbose string suitable for
   512                  logging and human consumption. \n These fields should not be set for
   513                  transitive errors that a controller faces that are expected to be
   514                  fixed automatically over time (like service outages), but instead
   515                  indicate that something is fundamentally wrong with the MachineTemplate's
   516                  spec or the configuration of the machine controller, and that manual
   517                  intervention is required. Examples of terminal errors would be invalid
   518                  combinations of settings in the spec, values that are unsupported
   519                  by the machine controller, or the responsible machine controller itself
   520                  being critically misconfigured. \n Any transient errors that occur
   521                  during the reconciliation of Machines can be added as events to the
   522                  MachineSet object and/or logged in the controller's output."
   523                type: string
   524              fullyLabeledReplicas:
   525                description: The number of replicas that have labels matching the labels
   526                  of the machine template of the MachineSet.
   527                format: int32
   528                type: integer
   529              observedGeneration:
   530                description: ObservedGeneration reflects the generation of the most
   531                  recently observed MachineSet.
   532                format: int64
   533                type: integer
   534              readyReplicas:
   535                description: The number of ready replicas for this MachineSet. A machine
   536                  is considered ready when the node has been created and is "Ready".
   537                format: int32
   538                type: integer
   539              replicas:
   540                description: Replicas is the most recently observed number of replicas.
   541                format: int32
   542                type: integer
   543            required:
   544            - replicas
   545            type: object
   546        type: object
   547    version: v1alpha1
   548    versions:
   549    - name: v1alpha1
   550      served: true
   551      storage: true
   552  status:
   553    acceptedNames:
   554      kind: ""
   555      plural: ""
   556    conditions: []
   557    storedVersions: []