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: []