...
1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/dcl2crd: "true"
23 cnrm.cloud.google.com/managed-by-kcc: "true"
24 cnrm.cloud.google.com/stability-level: stable
25 cnrm.cloud.google.com/system: "true"
26 name: dataprocautoscalingpolicies.dataproc.cnrm.cloud.google.com
27spec:
28 group: dataproc.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: DataprocAutoscalingPolicy
33 plural: dataprocautoscalingpolicies
34 shortNames:
35 - gcpdataprocautoscalingpolicy
36 - gcpdataprocautoscalingpolicies
37 singular: dataprocautoscalingpolicy
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1beta1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 basicAlgorithm:
75 properties:
76 cooldownPeriod:
77 description: 'Optional. Duration between scaling events. A scaling
78 period starts after the update operation from the previous event
79 has completed. Bounds: . Default: 2m.'
80 type: string
81 yarnConfig:
82 description: Required. YARN autoscaling configuration.
83 properties:
84 gracefulDecommissionTimeout:
85 description: Required. Timeout for YARN graceful decommissioning
86 of Node Managers. Specifies the duration to wait for jobs
87 to complete before forcefully removing workers (and potentially
88 interrupting jobs). Only applicable to downscaling operations.
89 type: string
90 scaleDownFactor:
91 description: Required. Fraction of average YARN pending memory
92 in the last cooldown period for which to remove workers.
93 A scale-down factor of 1 will result in scaling down so
94 that there is no available memory remaining after the update
95 (more aggressive scaling). A scale-down factor of 0 disables
96 removing workers, which can be beneficial for autoscaling
97 a single job. See .
98 format: double
99 type: number
100 scaleDownMinWorkerFraction:
101 description: 'Optional. Minimum scale-down threshold as a
102 fraction of total cluster size before scaling occurs. For
103 example, in a 20-worker cluster, a threshold of 0.1 means
104 the autoscaler must recommend at least a 2 worker scale-down
105 for the cluster to scale. A threshold of 0 means the autoscaler
106 will scale down on any recommended change. Bounds: . Default:
107 0.0.'
108 format: double
109 type: number
110 scaleUpFactor:
111 description: Required. Fraction of average YARN pending memory
112 in the last cooldown period for which to add workers. A
113 scale-up factor of 1.0 will result in scaling up so that
114 there is no pending memory remaining after the update (more
115 aggressive scaling). A scale-up factor closer to 0 will
116 result in a smaller magnitude of scaling up (less aggressive
117 scaling). See .
118 format: double
119 type: number
120 scaleUpMinWorkerFraction:
121 description: 'Optional. Minimum scale-up threshold as a fraction
122 of total cluster size before scaling occurs. For example,
123 in a 20-worker cluster, a threshold of 0.1 means the autoscaler
124 must recommend at least a 2-worker scale-up for the cluster
125 to scale. A threshold of 0 means the autoscaler will scale
126 up on any recommended change. Bounds: . Default: 0.0.'
127 format: double
128 type: number
129 required:
130 - gracefulDecommissionTimeout
131 - scaleDownFactor
132 - scaleUpFactor
133 type: object
134 required:
135 - yarnConfig
136 type: object
137 location:
138 description: Immutable. The location for the resource
139 type: string
140 projectRef:
141 description: Immutable. The Project that this resource belongs to.
142 oneOf:
143 - not:
144 required:
145 - external
146 required:
147 - name
148 - not:
149 anyOf:
150 - required:
151 - name
152 - required:
153 - namespace
154 required:
155 - external
156 properties:
157 external:
158 description: |-
159 The project for the resource
160
161 Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
162 type: string
163 name:
164 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
165 type: string
166 namespace:
167 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
168 type: string
169 type: object
170 resourceID:
171 description: Immutable. Optional. The name of the resource. Used for
172 creation and acquisition. When unset, the value of `metadata.name`
173 is used as the default.
174 type: string
175 secondaryWorkerConfig:
176 description: Optional. Describes how the autoscaler will operate for
177 secondary workers.
178 properties:
179 maxInstances:
180 description: 'Optional. Maximum number of instances for this group.
181 Note that by default, clusters will not use secondary workers.
182 Required for secondary workers if the minimum secondary instances
183 is set. Primary workers - Bounds: [min_instances, ). Secondary
184 workers - Bounds: [min_instances, ). Default: 0.'
185 format: int64
186 type: integer
187 minInstances:
188 description: 'Optional. Minimum number of instances for this group.
189 Primary workers - Bounds: . Default: 0.'
190 format: int64
191 type: integer
192 weight:
193 description: 'Optional. Weight for the instance group, which is
194 used to determine the fraction of total workers in the cluster
195 from this instance group. For example, if primary workers have
196 weight 2, and secondary workers have weight 1, the cluster will
197 have approximately 2 primary workers for each secondary worker.
198 The cluster may not reach the specified balance if constrained
199 by min/max bounds or other autoscaling settings. For example,
200 if `max_instances` for secondary workers is 0, then only primary
201 workers will be added. The cluster can also be out of balance
202 when created. If weight is not set on any instance group, the
203 cluster will default to equal weight for all groups: the cluster
204 will attempt to maintain an equal number of workers in each
205 group within the configured size bounds for each group. If weight
206 is set for one group only, the cluster will default to zero
207 weight on the unset group. For example if weight is set only
208 on primary workers, the cluster will use primary workers only
209 and no secondary workers.'
210 format: int64
211 type: integer
212 type: object
213 workerConfig:
214 description: Required. Describes how the autoscaler will operate for
215 primary workers.
216 properties:
217 maxInstances:
218 description: 'Required. Maximum number of instances for this group.
219 Required for primary workers. Note that by default, clusters
220 will not use secondary workers. Required for secondary workers
221 if the minimum secondary instances is set. Primary workers -
222 Bounds: [min_instances, ). Secondary workers - Bounds: [min_instances,
223 ). Default: 0.'
224 format: int64
225 type: integer
226 minInstances:
227 description: 'Optional. Minimum number of instances for this group.
228 Primary workers - Bounds: . Default: 0.'
229 format: int64
230 type: integer
231 weight:
232 description: 'Optional. Weight for the instance group, which is
233 used to determine the fraction of total workers in the cluster
234 from this instance group. For example, if primary workers have
235 weight 2, and secondary workers have weight 1, the cluster will
236 have approximately 2 primary workers for each secondary worker.
237 The cluster may not reach the specified balance if constrained
238 by min/max bounds or other autoscaling settings. For example,
239 if `max_instances` for secondary workers is 0, then only primary
240 workers will be added. The cluster can also be out of balance
241 when created. If weight is not set on any instance group, the
242 cluster will default to equal weight for all groups: the cluster
243 will attempt to maintain an equal number of workers in each
244 group within the configured size bounds for each group. If weight
245 is set for one group only, the cluster will default to zero
246 weight on the unset group. For example if weight is set only
247 on primary workers, the cluster will use primary workers only
248 and no secondary workers.'
249 format: int64
250 type: integer
251 required:
252 - maxInstances
253 type: object
254 required:
255 - basicAlgorithm
256 - location
257 - workerConfig
258 type: object
259 status:
260 properties:
261 conditions:
262 description: Conditions represent the latest available observation
263 of the resource's current state.
264 items:
265 properties:
266 lastTransitionTime:
267 description: Last time the condition transitioned from one status
268 to another.
269 type: string
270 message:
271 description: Human-readable message indicating details about
272 last transition.
273 type: string
274 reason:
275 description: Unique, one-word, CamelCase reason for the condition's
276 last transition.
277 type: string
278 status:
279 description: Status is the status of the condition. Can be True,
280 False, Unknown.
281 type: string
282 type:
283 description: Type is the type of the condition.
284 type: string
285 type: object
286 type: array
287 observedGeneration:
288 description: ObservedGeneration is the generation of the resource
289 that was most recently observed by the Config Connector controller.
290 If this is equal to metadata.generation, then that means that the
291 current reported status reflects the most recent desired state of
292 the resource.
293 type: integer
294 type: object
295 required:
296 - spec
297 type: object
298 served: true
299 storage: true
300 subresources:
301 status: {}
302status:
303 acceptedNames:
304 kind: ""
305 plural: ""
306 conditions: []
307 storedVersions: []
View as plain text