forked from openshift/machine-api-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
0000_30_machine-api-operator_04_machinedeployment.crd.yaml
239 lines (239 loc) · 11.9 KB
/
0000_30_machine-api-operator_04_machinedeployment.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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: machinedeployments.machine.openshift.io
spec:
group: machine.openshift.io
names:
kind: MachineDeployment
plural: machinedeployments
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:
minReadySeconds:
description: 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
paused:
description: Indicates that the deployment is paused.
type: boolean
progressDeadlineSeconds:
description: The maximum time in seconds for a deployment to make progress
before it is considered to be failed. The deployment controller will
continue to process failed deployments and a condition with a ProgressDeadlineExceeded
reason will be surfaced in the deployment status. Note that progress
will not be estimated during the time a deployment is paused. Defaults
to 600s.
format: int32
type: integer
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
revisionHistoryLimit:
description: The number of old MachineSets to retain to allow rollback.
This is a pointer to distinguish between explicit zero and not specified.
Defaults to 1.
format: int32
type: integer
selector:
description: Label selector for machines. Existing MachineSets whose
machines are selected by this will be the ones affected by this deployment.
It must match the machine template's labels.
type: object
strategy:
description: The deployment strategy to use to replace existing machines
with new ones.
properties:
rollingUpdate:
description: Rolling update config params. Present only if MachineDeploymentStrategyType
= RollingUpdate.
properties:
maxSurge:
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.'
oneOf:
- type: string
- type: integer
maxUnavailable:
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.'
oneOf:
- type: string
- type: integer
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/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:
configSource:
description: To populate in the associated Node for dynamic
kubelet config. This field already exists in Node, so any
updates to it in the Machine spec will be automatically copied
to the linked NodeRef from the status. The rest of dynamic
kubelet config support should then work as-is.
type: object
metadata:
description: This 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
providerSpec:
description: 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
valueFrom:
description: Source for the provider configuration. Cannot
be used if value is not empty.
properties:
machineClass:
description: The machine class from which the provider
config should be sourced.
properties:
provider:
description: Provider is the name of the cloud-provider
which MachineClass is intended for.
type: string
type: object
type: object
type: object
taints:
description: The full, authoritative list of taints to apply
to the corresponding Node. This list will overwrite any modifications
made to the Node on an ongoing basis.
items:
type: object
type: array
versions:
description: Versions of key software to use. This field is
optional at cluster creation time, and omitting the field
indicates that the cluster installation tool should select
defaults for the user. These defaults may differ based on
the cluster installer, but the tool should populate the values
it uses when persisting Machine objects. A Machine spec missing
this field at runtime is invalid.
properties:
controlPlane:
description: Semantic version of the Kubernetes control
plane to run. This should only be populated when the machine
is a master.
type: string
kubelet:
description: Semantic version of kubelet to run
type: string
required:
- kubelet
type: object
required:
- providerSpec
type: object
type: object
required:
- selector
- template
type: object
status:
properties:
availableReplicas:
description: Total number of available machines (ready for at least
minReadySeconds) targeted by this deployment.
format: int32
type: integer
observedGeneration:
description: The generation observed by the deployment controller.
format: int64
type: integer
readyReplicas:
description: Total number of ready machines targeted by this deployment.
format: int32
type: integer
replicas:
description: Total number of non-terminated machines targeted by this
deployment (their labels match the selector).
format: int32
type: integer
unavailableReplicas:
description: Total number of unavailable machines targeted by this deployment.
This is the total number of machines that are still required for the
deployment to have 100% available capacity. They may either be machines
that are running but not yet available or machines that still have
not been created.
format: int32
type: integer
updatedReplicas:
description: Total number of non-terminated machines targeted by this
deployment that have the desired template spec.
format: int32
type: integer
type: object
version: v1beta1
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []