sigs.k8s.io/cluster-api/bootstrap/kubeadm@v0.0.0-20191016155141-23a891785b60/config-capi/crd/bases/cluster.x-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.x-k8s.io 8 spec: 9 group: cluster.x-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 status: {} 22 validation: 23 openAPIV3Schema: 24 description: / [MachineSet] MachineSet is the Schema for the machinesets API 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. Object references 112 to custom resources resources are treated as templates. 113 properties: 114 metadata: 115 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata' 116 properties: 117 annotations: 118 additionalProperties: 119 type: string 120 description: 'Annotations is an unstructured key value map stored 121 with a resource that may be set by external tools to store 122 and retrieve arbitrary metadata. They are not queryable and 123 should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 124 type: object 125 generateName: 126 description: "GenerateName is an optional prefix, used by the 127 server, to generate a unique name ONLY IF the Name field has 128 not been provided. If this field is used, the name returned 129 to the client will be different than the name passed. This 130 value will also be combined with a unique suffix. The provided 131 value has the same validation rules as the Name field, and 132 may be truncated by the length of the suffix required to make 133 the value unique on the server. \n If this field is specified 134 and the generated name exists, the server will NOT return 135 a 409 - instead, it will either return 201 Created or 500 136 with Reason ServerTimeout indicating a unique name could not 137 be found in the time allotted, and the client should retry 138 (optionally after the time indicated in the Retry-After header). 139 \n Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency" 140 type: string 141 labels: 142 additionalProperties: 143 type: string 144 description: 'Map of string keys and values that can be used 145 to organize and categorize (scope and select) objects. May 146 match selectors of replication controllers and services. More 147 info: http://kubernetes.io/docs/user-guide/labels' 148 type: object 149 name: 150 description: 'Name must be unique within a namespace. Is required 151 when creating resources, although some resources may allow 152 a client to request the generation of an appropriate name 153 automatically. Name is primarily intended for creation idempotence 154 and configuration definition. Cannot be updated. More info: 155 http://kubernetes.io/docs/user-guide/identifiers#names' 156 type: string 157 namespace: 158 description: "Namespace defines the space within each name must 159 be unique. An empty namespace is equivalent to the \"default\" 160 namespace, but \"default\" is the canonical representation. 161 Not all objects are required to be scoped to a namespace - 162 the value of this field for those objects will be empty. \n 163 Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces" 164 type: string 165 ownerReferences: 166 description: List of objects depended by this object. If ALL 167 objects in the list have been deleted, this object will be 168 garbage collected. If this object is managed by a controller, 169 then an entry in this list will point to this controller, 170 with the controller field set to true. There cannot be more 171 than one managing controller. 172 items: 173 description: OwnerReference contains enough information to 174 let you identify an owning object. An owning object must 175 be in the same namespace as the dependent, or be cluster-scoped, 176 so there is no namespace field. 177 properties: 178 apiVersion: 179 description: API version of the referent. 180 type: string 181 blockOwnerDeletion: 182 description: If true, AND if the owner has the "foregroundDeletion" 183 finalizer, then the owner cannot be deleted from the 184 key-value store until this reference is removed. Defaults 185 to false. To set this field, a user needs "delete" permission 186 of the owner, otherwise 422 (Unprocessable Entity) will 187 be returned. 188 type: boolean 189 controller: 190 description: If true, this reference points to the managing 191 controller. 192 type: boolean 193 kind: 194 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' 195 type: string 196 name: 197 description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 198 type: string 199 uid: 200 description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' 201 type: string 202 required: 203 - apiVersion 204 - kind 205 - name 206 - uid 207 type: object 208 type: array 209 type: object 210 spec: 211 description: 'Specification of the desired behavior of the machine. 212 More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' 213 properties: 214 bootstrap: 215 description: Bootstrap is a reference to a local struct which 216 encapsulates fields to configure the Machine’s bootstrapping 217 mechanism. 218 properties: 219 configRef: 220 description: ConfigRef is a reference to a bootstrap provider-specific 221 resource that holds configuration details. The reference 222 is optional to allow users/operators to specify Bootstrap.Data 223 without the need of a controller. 224 properties: 225 apiVersion: 226 description: API version of the referent. 227 type: string 228 fieldPath: 229 description: 'If referring to a piece of an object instead 230 of an entire object, this string should contain a 231 valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 232 For example, if the object reference is to a container 233 within a pod, this would take on a value like: "spec.containers{name}" 234 (where "name" refers to the name of the container 235 that triggered the event) or if no container name 236 is specified "spec.containers[2]" (container with 237 index 2 in this pod). This syntax is chosen only to 238 have some well-defined way of referencing a part of 239 an object. TODO: this design is not final and this 240 field is subject to change in the future.' 241 type: string 242 kind: 243 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' 244 type: string 245 name: 246 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 247 type: string 248 namespace: 249 description: 'Namespace of the referent. More info: 250 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 251 type: string 252 resourceVersion: 253 description: 'Specific resourceVersion to which this 254 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' 255 type: string 256 uid: 257 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 258 type: string 259 type: object 260 data: 261 description: Data contains the bootstrap data, such as cloud-init 262 details scripts. If nil, the Machine should remain in 263 the Pending state. 264 type: string 265 type: object 266 infrastructureRef: 267 description: InfrastructureRef is a required reference to a 268 custom resource offered by an infrastructure provider. 269 properties: 270 apiVersion: 271 description: API version of the referent. 272 type: string 273 fieldPath: 274 description: 'If referring to a piece of an object instead 275 of an entire object, this string should contain a valid 276 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 277 For example, if the object reference is to a container 278 within a pod, this would take on a value like: "spec.containers{name}" 279 (where "name" refers to the name of the container that 280 triggered the event) or if no container name is specified 281 "spec.containers[2]" (container with index 2 in this pod). 282 This syntax is chosen only to have some well-defined way 283 of referencing a part of an object. TODO: this design 284 is not final and this field is subject to change in the 285 future.' 286 type: string 287 kind: 288 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' 289 type: string 290 name: 291 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 292 type: string 293 namespace: 294 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 295 type: string 296 resourceVersion: 297 description: 'Specific resourceVersion to which this reference 298 is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' 299 type: string 300 uid: 301 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 302 type: string 303 type: object 304 metadata: 305 description: ObjectMeta will autopopulate the Node created. 306 Use this to indicate what labels, annotations, name prefix, 307 etc., should be used when creating the Node. 308 properties: 309 annotations: 310 additionalProperties: 311 type: string 312 description: 'Annotations is an unstructured key value map 313 stored with a resource that may be set by external tools 314 to store and retrieve arbitrary metadata. They are not 315 queryable and should be preserved when modifying objects. 316 More info: http://kubernetes.io/docs/user-guide/annotations' 317 type: object 318 generateName: 319 description: "GenerateName is an optional prefix, used by 320 the server, to generate a unique name ONLY IF the Name 321 field has not been provided. If this field is used, the 322 name returned to the client will be different than the 323 name passed. This value will also be combined with a unique 324 suffix. The provided value has the same validation rules 325 as the Name field, and may be truncated by the length 326 of the suffix required to make the value unique on the 327 server. \n If this field is specified and the generated 328 name exists, the server will NOT return a 409 - instead, 329 it will either return 201 Created or 500 with Reason ServerTimeout 330 indicating a unique name could not be found in the time 331 allotted, and the client should retry (optionally after 332 the time indicated in the Retry-After header). \n Applied 333 only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency" 334 type: string 335 labels: 336 additionalProperties: 337 type: string 338 description: 'Map of string keys and values that can be 339 used to organize and categorize (scope and select) objects. 340 May match selectors of replication controllers and services. 341 More info: http://kubernetes.io/docs/user-guide/labels' 342 type: object 343 name: 344 description: 'Name must be unique within a namespace. Is 345 required when creating resources, although some resources 346 may allow a client to request the generation of an appropriate 347 name automatically. Name is primarily intended for creation 348 idempotence and configuration definition. Cannot be updated. 349 More info: http://kubernetes.io/docs/user-guide/identifiers#names' 350 type: string 351 namespace: 352 description: "Namespace defines the space within each name 353 must be unique. An empty namespace is equivalent to the 354 \"default\" namespace, but \"default\" is the canonical 355 representation. Not all objects are required to be scoped 356 to a namespace - the value of this field for those objects 357 will be empty. \n Must be a DNS_LABEL. Cannot be updated. 358 More info: http://kubernetes.io/docs/user-guide/namespaces" 359 type: string 360 ownerReferences: 361 description: List of objects depended by this object. If 362 ALL objects in the list have been deleted, this object 363 will be garbage collected. If this object is managed by 364 a controller, then an entry in this list will point to 365 this controller, with the controller field set to true. 366 There cannot be more than one managing controller. 367 items: 368 description: OwnerReference contains enough information 369 to let you identify an owning object. An owning object 370 must be in the same namespace as the dependent, or be 371 cluster-scoped, so there is no namespace field. 372 properties: 373 apiVersion: 374 description: API version of the referent. 375 type: string 376 blockOwnerDeletion: 377 description: If true, AND if the owner has the "foregroundDeletion" 378 finalizer, then the owner cannot be deleted from 379 the key-value store until this reference is removed. 380 Defaults to false. To set this field, a user needs 381 "delete" permission of the owner, otherwise 422 382 (Unprocessable Entity) will be returned. 383 type: boolean 384 controller: 385 description: If true, this reference points to the 386 managing controller. 387 type: boolean 388 kind: 389 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' 390 type: string 391 name: 392 description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 393 type: string 394 uid: 395 description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' 396 type: string 397 required: 398 - apiVersion 399 - kind 400 - name 401 - uid 402 type: object 403 type: array 404 type: object 405 providerID: 406 description: ProviderID is the identification ID of the machine 407 provided by the provider. This field must match the provider 408 ID as seen on the node object corresponding to this machine. 409 This field is required by higher level consumers of cluster-api. 410 Example use case is cluster autoscaler with cluster-api as 411 provider. Clean-up logic in the autoscaler compares machines 412 to nodes to find out machines at provider which could not 413 get registered as Kubernetes nodes. With cluster-api as a 414 generic out-of-tree provider for autoscaler, this field is 415 required by autoscaler to be able to have a provider view 416 of the list of machines. Another list of nodes is queried 417 from the k8s apiserver and then a comparison is done to find 418 out unregistered machines and are marked for delete. This 419 field will be set by the actuators and consumed by higher 420 level entities like autoscaler that will be interfacing with 421 cluster-api as generic provider. 422 type: string 423 version: 424 description: Version defines the desired Kubernetes version. 425 This field is meant to be optionally used by bootstrap providers. 426 type: string 427 required: 428 - bootstrap 429 - infrastructureRef 430 type: object 431 type: object 432 required: 433 - selector 434 type: object 435 status: 436 description: / [MachineSetStatus] MachineSetStatus defines the observed 437 state of MachineSet 438 properties: 439 availableReplicas: 440 description: The number of available replicas (ready for at least minReadySeconds) 441 for this MachineSet. 442 format: int32 443 type: integer 444 errorMessage: 445 type: string 446 errorReason: 447 description: "In the event that there is a terminal problem reconciling 448 the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason 449 will be populated with a succinct value suitable for machine interpretation, 450 while ErrorMessage will contain a more verbose string suitable for 451 logging and human consumption. \n These fields should not be set for 452 transitive errors that a controller faces that are expected to be 453 fixed automatically over time (like service outages), but instead 454 indicate that something is fundamentally wrong with the MachineTemplate's 455 spec or the configuration of the machine controller, and that manual 456 intervention is required. Examples of terminal errors would be invalid 457 combinations of settings in the spec, values that are unsupported 458 by the machine controller, or the responsible machine controller itself 459 being critically misconfigured. \n Any transient errors that occur 460 during the reconciliation of Machines can be added as events to the 461 MachineSet object and/or logged in the controller's output." 462 type: string 463 fullyLabeledReplicas: 464 description: The number of replicas that have labels matching the labels 465 of the machine template of the MachineSet. 466 format: int32 467 type: integer 468 observedGeneration: 469 description: ObservedGeneration reflects the generation of the most 470 recently observed MachineSet. 471 format: int64 472 type: integer 473 readyReplicas: 474 description: The number of ready replicas for this MachineSet. A machine 475 is considered ready when the node has been created and is "Ready". 476 format: int32 477 type: integer 478 replicas: 479 description: Replicas is the most recently observed number of replicas. 480 format: int32 481 type: integer 482 required: 483 - replicas 484 type: object 485 type: object 486 version: v1alpha2 487 versions: 488 - name: v1alpha2 489 served: true 490 storage: true 491 status: 492 acceptedNames: 493 kind: "" 494 plural: "" 495 conditions: [] 496 storedVersions: []