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