forked from openshift/machine-api-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
0000_30_machine-api-operator_03_machineset.crd.yaml
203 lines (203 loc) · 9.66 KB
/
0000_30_machine-api-operator_03_machineset.crd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: machinesets.machine.openshift.io
spec:
additionalPrinterColumns:
- JSONPath: .spec.replicas
description: Desired Replicas
name: Desired
type: integer
- JSONPath: .status.replicas
description: Current Replicas
name: Current
type: integer
- JSONPath: .status.readyReplicas
description: Ready Replicas
name: Ready
type: integer
- JSONPath: .status.availableReplicas
description: Observed number of available replicas
name: Available
type: string
- JSONPath: .metadata.creationTimestamp
description: Machineset age
name: Age
type: date
group: machine.openshift.io
names:
kind: MachineSet
plural: machinesets
scope: Namespaced
subresources:
scale:
labelSelectorPath: .status.labelSelector
specReplicasPath: .spec.replicas
statusReplicasPath: .status.replicas
status: {}
validation:
openAPIV3Schema:
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/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/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
properties:
deletePolicy:
description: DeletePolicy defines the policy used to identify nodes
to delete when downscaling. Defaults to "Random". Valid values are
"Random, "Newest", "Oldest"
enum:
- Random
- Newest
- Oldest
type: string
minReadySeconds:
description: MinReadySeconds is the minimum number of seconds for which
a newly created machine should be ready. Defaults to 0 (machine will
be considered available as soon as it is ready)
format: int32
type: integer
replicas:
description: Replicas is the number of desired replicas. This is a pointer
to distinguish between explicit zero and unspecified. Defaults to
1.
format: int32
type: integer
selector:
description: 'Selector is a label query over machines that should match
the replica count. Label keys and values that must match in order
to be controlled by this MachineSet. It must match the machine template''s
labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
type: object
template:
description: Template is the object that describes the machine that
will be created if insufficient replicas are detected.
properties:
metadata:
description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
type: object
spec:
description: 'Specification of the desired behavior of the machine.
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
properties:
metadata:
description: ObjectMeta will autopopulate the Node created.
Use this to indicate what labels, annotations, name prefix,
etc., should be used when creating the Node.
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
providerSpec:
description: ProviderSpec details Provider-specific configuration
to use during node creation.
properties:
value:
description: Value is an inlined, serialized representation
of the resource configuration. It is recommended that
providers maintain their own versioned API types that
should be serialized/deserialized from this field, akin
to component config.
type: object
type: object
taints:
description: The list of the taints to be applied to the corresponding
Node in additive manner. This list will not overwrite any
other taints added to the Node on an ongoing basis by other
entities. These taints should be actively reconciled e.g.
if you ask the machine controller to apply a taint and then
manually remove the taint the machine controller will put
it back) but not have the machine controller remove any taints
items:
type: object
type: array
required:
- providerSpec
type: object
type: object
required:
- selector
type: object
status:
properties:
availableReplicas:
description: The number of available replicas (ready for at least minReadySeconds)
for this MachineSet.
format: int32
type: integer
errorMessage:
type: string
errorReason:
description: In the event that there is a terminal problem reconciling
the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason
will be populated with a succinct value suitable for machine interpretation,
while ErrorMessage will contain a more verbose string suitable for
logging and human consumption. These fields should not be set for
transitive errors that a controller faces that are expected to be
fixed automatically over time (like service outages), but instead
indicate that something is fundamentally wrong with the MachineTemplate's
spec or the configuration of the machine controller, and that manual
intervention is required. Examples of terminal errors would be invalid
combinations of settings in the spec, values that are unsupported
by the machine controller, or the responsible machine controller itself
being critically misconfigured. Any transient errors that occur during
the reconciliation of Machines can be added as events to the MachineSet
object and/or logged in the controller's output.
type: string
fullyLabeledReplicas:
description: The number of replicas that have labels matching the labels
of the machine template of the MachineSet.
format: int32
type: integer
observedGeneration:
description: ObservedGeneration reflects the generation of the most
recently observed MachineSet.
format: int64
type: integer
readyReplicas:
description: The number of ready replicas for this MachineSet. 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
required:
- replicas
type: object
version: v1beta1
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []