
Forked kustomization from 0.3.3 release Change-Id: Ib84914f8e00d4e35c3670095b56e2c4dd33d1650
467 lines
28 KiB
YAML
467 lines
28 KiB
YAML
|
||
---
|
||
apiVersion: apiextensions.k8s.io/v1
|
||
kind: CustomResourceDefinition
|
||
metadata:
|
||
annotations:
|
||
controller-gen.kubebuilder.io/version: v0.2.8
|
||
creationTimestamp: null
|
||
name: machinepools.exp.cluster.x-k8s.io
|
||
spec:
|
||
group: exp.cluster.x-k8s.io
|
||
names:
|
||
categories:
|
||
- cluster-api
|
||
kind: MachinePool
|
||
listKind: MachinePoolList
|
||
plural: machinepools
|
||
shortNames:
|
||
- mp
|
||
singular: machinepool
|
||
scope: Namespaced
|
||
versions:
|
||
- additionalPrinterColumns:
|
||
- description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed
|
||
etc
|
||
jsonPath: .status.phase
|
||
name: Phase
|
||
type: string
|
||
name: v1alpha3
|
||
schema:
|
||
openAPIV3Schema:
|
||
description: MachinePool is the Schema for the machinepools API
|
||
properties:
|
||
apiVersion:
|
||
description: 'APIVersion defines the versioned schema of this representation
|
||
of an object. Servers should convert recognized schemas to the latest
|
||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||
type: string
|
||
kind:
|
||
description: 'Kind is a string value representing the REST resource this
|
||
object represents. Servers may infer this from the endpoint the client
|
||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||
type: string
|
||
metadata:
|
||
type: object
|
||
spec:
|
||
description: MachinePoolSpec defines the desired state of MachinePool
|
||
properties:
|
||
clusterName:
|
||
description: ClusterName is the name of the Cluster this object belongs
|
||
to.
|
||
minLength: 1
|
||
type: string
|
||
minReadySeconds:
|
||
description: Minimum number of seconds for which a newly created machine
|
||
instances should be ready. Defaults to 0 (machine instance will
|
||
be considered available as soon as it is ready)
|
||
format: int32
|
||
type: integer
|
||
providerIDList:
|
||
description: ProviderIDList are the identification IDs of machine
|
||
instances provided by the provider. This field must match the provider
|
||
IDs as seen on the node objects corresponding to a machine pool's
|
||
machine instances.
|
||
items:
|
||
type: string
|
||
type: array
|
||
replicas:
|
||
description: Number of desired machines. Defaults to 1. This is a
|
||
pointer to distinguish between explicit zero and not specified.
|
||
format: int32
|
||
type: integer
|
||
strategy:
|
||
description: The deployment strategy to use to replace existing machine
|
||
instances with new ones.
|
||
properties:
|
||
rollingUpdate:
|
||
description: Rolling update config params. Present only if MachineDeploymentStrategyType
|
||
= RollingUpdate.
|
||
properties:
|
||
maxSurge:
|
||
anyOf:
|
||
- type: integer
|
||
- type: string
|
||
description: 'The maximum number of machines that can be scheduled
|
||
above the desired number of machines. Value can be an absolute
|
||
number (ex: 5) or a percentage of desired machines (ex:
|
||
10%). This can not be 0 if MaxUnavailable is 0. Absolute
|
||
number is calculated from percentage by rounding up. Defaults
|
||
to 1. Example: when this is set to 30%, the new MachineSet
|
||
can be scaled up immediately when the rolling update starts,
|
||
such that the total number of old and new machines do not
|
||
exceed 130% of desired machines. Once old machines have
|
||
been killed, new MachineSet can be scaled up further, ensuring
|
||
that total number of machines running at any time during
|
||
the update is at most 130% of desired machines.'
|
||
x-kubernetes-int-or-string: true
|
||
maxUnavailable:
|
||
anyOf:
|
||
- type: integer
|
||
- type: string
|
||
description: 'The maximum number of machines that can be unavailable
|
||
during the update. Value can be an absolute number (ex:
|
||
5) or a percentage of desired machines (ex: 10%). Absolute
|
||
number is calculated from percentage by rounding down. This
|
||
can not be 0 if MaxSurge is 0. Defaults to 0. Example: when
|
||
this is set to 30%, the old MachineSet can be scaled down
|
||
to 70% of desired machines immediately when the rolling
|
||
update starts. Once new machines are ready, old MachineSet
|
||
can be scaled down further, followed by scaling up the new
|
||
MachineSet, ensuring that the total number of machines available
|
||
at all times during the update is at least 70% of desired
|
||
machines.'
|
||
x-kubernetes-int-or-string: true
|
||
type: object
|
||
type:
|
||
description: Type of deployment. Currently the only supported
|
||
strategy is "RollingUpdate". Default is RollingUpdate.
|
||
type: string
|
||
type: object
|
||
template:
|
||
description: Template describes the machines that will be created.
|
||
properties:
|
||
metadata:
|
||
description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
|
||
properties:
|
||
annotations:
|
||
additionalProperties:
|
||
type: string
|
||
description: 'Annotations is an unstructured key value map
|
||
stored with a resource that may be set by external tools
|
||
to store and retrieve arbitrary metadata. They are not queryable
|
||
and should be preserved when modifying objects. More info:
|
||
http://kubernetes.io/docs/user-guide/annotations'
|
||
type: object
|
||
generateName:
|
||
description: "GenerateName is an optional prefix, used by
|
||
the server, to generate a unique name ONLY IF the Name field
|
||
has not been provided. If this field is used, the name returned
|
||
to the client will be different than the name passed. This
|
||
value will also be combined with a unique suffix. The provided
|
||
value has the same validation rules as the Name field, and
|
||
may be truncated by the length of the suffix required to
|
||
make the value unique on the server. \n If this field is
|
||
specified and the generated name exists, the server will
|
||
NOT return a 409 - instead, it will either return 201 Created
|
||
or 500 with Reason ServerTimeout indicating a unique name
|
||
could not be found in the time allotted, and the client
|
||
should retry (optionally after the time indicated in the
|
||
Retry-After header). \n Applied only if Name is not specified.
|
||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"
|
||
type: string
|
||
labels:
|
||
additionalProperties:
|
||
type: string
|
||
description: 'Map of string keys and values that can be used
|
||
to organize and categorize (scope and select) objects. May
|
||
match selectors of replication controllers and services.
|
||
More info: http://kubernetes.io/docs/user-guide/labels'
|
||
type: object
|
||
name:
|
||
description: 'Name must be unique within a namespace. Is required
|
||
when creating resources, although some resources may allow
|
||
a client to request the generation of an appropriate name
|
||
automatically. Name is primarily intended for creation idempotence
|
||
and configuration definition. Cannot be updated. More info:
|
||
http://kubernetes.io/docs/user-guide/identifiers#names'
|
||
type: string
|
||
namespace:
|
||
description: "Namespace defines the space within each name
|
||
must be unique. An empty namespace is equivalent to the
|
||
\"default\" namespace, but \"default\" is the canonical
|
||
representation. Not all objects are required to be scoped
|
||
to a namespace - the value of this field for those objects
|
||
will be empty. \n Must be a DNS_LABEL. Cannot be updated.
|
||
More info: http://kubernetes.io/docs/user-guide/namespaces"
|
||
type: string
|
||
ownerReferences:
|
||
description: List of objects depended by this object. If ALL
|
||
objects in the list have been deleted, this object will
|
||
be garbage collected. If this object is managed by a controller,
|
||
then an entry in this list will point to this controller,
|
||
with the controller field set to true. There cannot be more
|
||
than one managing controller.
|
||
items:
|
||
description: OwnerReference contains enough information
|
||
to let you identify an owning object. An owning object
|
||
must be in the same namespace as the dependent, or be
|
||
cluster-scoped, so there is no namespace field.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
blockOwnerDeletion:
|
||
description: If true, AND if the owner has the "foregroundDeletion"
|
||
finalizer, then the owner cannot be deleted from the
|
||
key-value store until this reference is removed. Defaults
|
||
to false. To set this field, a user needs "delete"
|
||
permission of the owner, otherwise 422 (Unprocessable
|
||
Entity) will be returned.
|
||
type: boolean
|
||
controller:
|
||
description: If true, this reference points to the managing
|
||
controller.
|
||
type: boolean
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
|
||
type: string
|
||
required:
|
||
- apiVersion
|
||
- kind
|
||
- name
|
||
- uid
|
||
type: object
|
||
type: array
|
||
type: object
|
||
spec:
|
||
description: 'Specification of the desired behavior of the machine.
|
||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
|
||
properties:
|
||
bootstrap:
|
||
description: Bootstrap is a reference to a local struct which
|
||
encapsulates fields to configure the Machine’s bootstrapping
|
||
mechanism.
|
||
properties:
|
||
configRef:
|
||
description: ConfigRef is a reference to a bootstrap provider-specific
|
||
resource that holds configuration details. The reference
|
||
is optional to allow users/operators to specify Bootstrap.Data
|
||
without the need of a controller.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
fieldPath:
|
||
description: 'If referring to a piece of an object
|
||
instead of an entire object, this string should
|
||
contain a valid JSON/Go field access statement,
|
||
such as desiredState.manifest.containers[2]. For
|
||
example, if the object reference is to a container
|
||
within a pod, this would take on a value like: "spec.containers{name}"
|
||
(where "name" refers to the name of the container
|
||
that triggered the event) or if no container name
|
||
is specified "spec.containers[2]" (container with
|
||
index 2 in this pod). This syntax is chosen only
|
||
to have some well-defined way of referencing a part
|
||
of an object. TODO: this design is not final and
|
||
this field is subject to change in the future.'
|
||
type: string
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||
type: string
|
||
namespace:
|
||
description: 'Namespace of the referent. More info:
|
||
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||
type: string
|
||
resourceVersion:
|
||
description: 'Specific resourceVersion to which this
|
||
reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||
type: string
|
||
type: object
|
||
data:
|
||
description: "Data contains the bootstrap data, such as
|
||
cloud-init details scripts. If nil, the Machine should
|
||
remain in the Pending state. \n Deprecated: This field
|
||
has been deprecated in v1alpha3 and will be removed
|
||
in a future version. Switch to DataSecretName."
|
||
type: string
|
||
dataSecretName:
|
||
description: DataSecretName is the name of the secret
|
||
that stores the bootstrap data script. If nil, the Machine
|
||
should remain in the Pending state.
|
||
type: string
|
||
type: object
|
||
clusterName:
|
||
description: ClusterName is the name of the Cluster this object
|
||
belongs to.
|
||
minLength: 1
|
||
type: string
|
||
failureDomain:
|
||
description: FailureDomain is the failure domain the machine
|
||
will be created in. Must match a key in the FailureDomains
|
||
map stored on the cluster object.
|
||
type: string
|
||
infrastructureRef:
|
||
description: InfrastructureRef is a required reference to
|
||
a custom resource offered by an infrastructure provider.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
fieldPath:
|
||
description: 'If referring to a piece of an object instead
|
||
of an entire object, this string should contain a valid
|
||
JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
||
For example, if the object reference is to a container
|
||
within a pod, this would take on a value like: "spec.containers{name}"
|
||
(where "name" refers to the name of the container that
|
||
triggered the event) or if no container name is specified
|
||
"spec.containers[2]" (container with index 2 in this
|
||
pod). This syntax is chosen only to have some well-defined
|
||
way of referencing a part of an object. TODO: this design
|
||
is not final and this field is subject to change in
|
||
the future.'
|
||
type: string
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||
type: string
|
||
namespace:
|
||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||
type: string
|
||
resourceVersion:
|
||
description: 'Specific resourceVersion to which this reference
|
||
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||
type: string
|
||
type: object
|
||
providerID:
|
||
description: ProviderID is the identification ID of the machine
|
||
provided by the provider. This field must match the provider
|
||
ID as seen on the node object corresponding to this machine.
|
||
This field is required by higher level consumers of cluster-api.
|
||
Example use case is cluster autoscaler with cluster-api
|
||
as provider. Clean-up logic in the autoscaler compares machines
|
||
to nodes to find out machines at provider which could not
|
||
get registered as Kubernetes nodes. With cluster-api as
|
||
a generic out-of-tree provider for autoscaler, this field
|
||
is required by autoscaler to be able to have a provider
|
||
view of the list of machines. Another list of nodes is queried
|
||
from the k8s apiserver and then a comparison is done to
|
||
find out unregistered machines and are marked for delete.
|
||
This field will be set by the actuators and consumed by
|
||
higher level entities like autoscaler that will be interfacing
|
||
with cluster-api as generic provider.
|
||
type: string
|
||
version:
|
||
description: Version defines the desired Kubernetes version.
|
||
This field is meant to be optionally used by bootstrap providers.
|
||
type: string
|
||
required:
|
||
- bootstrap
|
||
- clusterName
|
||
- infrastructureRef
|
||
type: object
|
||
type: object
|
||
required:
|
||
- clusterName
|
||
- template
|
||
type: object
|
||
status:
|
||
description: MachinePoolStatus defines the observed state of MachinePool
|
||
properties:
|
||
availableReplicas:
|
||
description: The number of available replicas (ready for at least
|
||
minReadySeconds) for this MachinePool.
|
||
format: int32
|
||
type: integer
|
||
bootstrapReady:
|
||
description: BootstrapReady is the state of the bootstrap provider.
|
||
type: boolean
|
||
failureMessage:
|
||
description: FailureMessage indicates that there is a problem reconciling
|
||
the state, and will be set to a descriptive error message.
|
||
type: string
|
||
failureReason:
|
||
description: FailureReason indicates that there is a problem reconciling
|
||
the state, and will be set to a token value suitable for programmatic
|
||
interpretation.
|
||
type: string
|
||
infrastructureReady:
|
||
description: InfrastructureReady is the state of the infrastructure
|
||
provider.
|
||
type: boolean
|
||
nodeRefs:
|
||
description: NodeRefs will point to the corresponding Nodes if it
|
||
they exist.
|
||
items:
|
||
description: ObjectReference contains enough information to let
|
||
you inspect or modify the referred object.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
fieldPath:
|
||
description: 'If referring to a piece of an object instead of
|
||
an entire object, this string should contain a valid JSON/Go
|
||
field access statement, such as desiredState.manifest.containers[2].
|
||
For example, if the object reference is to a container within
|
||
a pod, this would take on a value like: "spec.containers{name}"
|
||
(where "name" refers to the name of the container that triggered
|
||
the event) or if no container name is specified "spec.containers[2]"
|
||
(container with index 2 in this pod). This syntax is chosen
|
||
only to have some well-defined way of referencing a part of
|
||
an object. TODO: this design is not final and this field is
|
||
subject to change in the future.'
|
||
type: string
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||
type: string
|
||
namespace:
|
||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||
type: string
|
||
resourceVersion:
|
||
description: 'Specific resourceVersion to which this reference
|
||
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||
type: string
|
||
type: object
|
||
type: array
|
||
phase:
|
||
description: Phase represents the current phase of cluster actuation.
|
||
E.g. Pending, Running, Terminating, Failed etc.
|
||
type: string
|
||
readyReplicas:
|
||
description: The number of ready replicas for this MachinePool. A
|
||
machine is considered ready when the node has been created and is
|
||
"Ready".
|
||
format: int32
|
||
type: integer
|
||
replicas:
|
||
description: Replicas is the most recently observed number of replicas.
|
||
format: int32
|
||
type: integer
|
||
unavailableReplicas:
|
||
description: Total number of unavailable machine instances targeted
|
||
by this machine pool. This is the total number of machine instances
|
||
that are still required for the machine pool to have 100% available
|
||
capacity. They may either be machine instances that are running
|
||
but not yet available or machine instances that still have not been
|
||
created.
|
||
format: int32
|
||
type: integer
|
||
type: object
|
||
type: object
|
||
served: true
|
||
storage: true
|
||
subresources:
|
||
status: {}
|
||
status:
|
||
acceptedNames:
|
||
kind: ""
|
||
plural: ""
|
||
conditions: []
|
||
storedVersions: []
|