You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: providers/openstack/scs2/cluster-class/templates/cluster-class.yaml
+74-49Lines changed: 74 additions & 49 deletions
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ spec:
43
43
The base name of the OpenStack image used for provisioning servers.
44
44
If `imageIsOrc` is enabled, this name refers to an ORC image resource.
45
45
If `imageIsOrc` is disabled, the name is used to filter images available in the OpenStack project. In this case, the specified image must already exist within the project.
46
-
If `imageAddVersion` is enabled, the Kubernetes version will be appended to form the complete image name (e.g., imageName-v1.32.5
46
+
If `imageAddVersion` is enabled, the Kubernetes version will be appended to form the complete image name (e.g., imageName-v1.32.5)
47
47
default: "ubuntu-capi-image"
48
48
- name: imageIsOrc
49
49
required: false
@@ -79,21 +79,20 @@ spec:
79
79
type: string
80
80
example: "ebfe5546-f09f-4f42-ab54-094e457d42ec"
81
81
format: "uuid4"
82
-
description: "NetworkExternalID is the ID of an external OpenStack Network. This is necessary to get public internet to the VMs."
82
+
description: "networkExternalID is the ID of an external OpenStack Network. This is necessary to get public internet to the VMs in case there are several external networks."
83
83
- name: networkMTU
84
84
required: false
85
85
schema:
86
86
openAPIV3Schema:
87
87
type: integer
88
88
example: 1500
89
-
description: "NetworkMTU sets the maximum transmission unit (MTU) value to address fragmentation for the private network ID."
89
+
description: "networkMTU sets the maximum transmission unit (MTU) value to address fragmentation for the private network ID."
90
90
- name: dnsNameservers
91
91
required: false
92
92
schema:
93
93
openAPIV3Schema:
94
94
type: array
95
-
description: |
96
-
"dnsNameservers is the list of nameservers for the OpenStack Subnet being created. Set this value when you need to create a new network/subnet while the access through DNS is required."
95
+
description: "dnsNameservers is the list of nameservers for the OpenStack Subnet being created. Set this value when you need to create a new network/subnet which requires access to DNS."
97
96
default: ["9.9.9.9", "149.112.112.112"]
98
97
example: ["9.9.9.9", "149.112.112.112"]
99
98
items:
@@ -106,8 +105,11 @@ spec:
106
105
format: "cidr"
107
106
default: "10.8.0.0/20"
108
107
example: "10.8.0.0/20"
109
-
description: |
110
-
"NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with nodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created."
108
+
description: |-
109
+
nodeCIDR is the OpenStack Subnet to be created.
110
+
Cluster actuator will create a network, a subnet with nodeCIDR,
111
+
and a router connected to this subnet.
112
+
If you leave this empty, no network will be created.
111
113
# Control plane
112
114
- name: controlPlaneFlavor
113
115
required: false
@@ -116,30 +118,35 @@ spec:
116
118
type: string
117
119
default: "SCS-2V-4"
118
120
example: "SCS-2V-4"
119
-
description: "OpenStack instance flavor for control plane nodes."
121
+
description: |-
122
+
OpenStack instance flavor for control plane nodes.
123
+
(Default: SCS-2V-4, replace by SCS-2V-4-20s or specify a controlPlaneRootDisk.)
120
124
- name: controlPlaneRootDisk
121
125
required: false
122
126
schema:
123
127
openAPIV3Schema:
124
128
type: integer
125
129
minimum: 1
126
130
example: 25
127
-
description: "Root disk size in GiB for control-plane nodes. OpenStack volume will be created and used instead of an ephemeral disk defined in flavor. Should only be used for the diskless flavors."
131
+
description: |-
132
+
Root disk size in GiB for control-plane nodes.
133
+
OpenStack volume will be created and used instead of an ephemeral disk defined in flavor.
134
+
Should only be used for the diskless flavors.
128
135
- name: controlPlaneServerGroupID
129
136
required: false
130
137
schema:
131
138
openAPIV3Schema:
132
139
type: string
133
140
default: ""
134
141
example: "3adf4e92-bb33-4e44-8ad3-afda9dfe8ec3"
135
-
description: "The server group to assign the control plane nodes to."
142
+
description: "The server group to assign the control plane nodes to (can be used for anti-affinity)."
136
143
- name: controlPlaneAvailabilityZones
137
144
required: false
138
145
schema:
139
146
openAPIV3Schema:
140
147
type: array
141
148
example: ["nova"]
142
-
description: "ControlPlaneAvailabilityZones is the set of availability zones which control plane machines may be deployed to."
149
+
description: "controlPlaneAvailabilityZones is the set of availability zones which control plane machines may be deployed to."
143
150
items:
144
151
type: string
145
152
- name: controlPlaneOmitAvailabilityZone
@@ -148,7 +155,9 @@ spec:
148
155
openAPIV3Schema:
149
156
type: boolean
150
157
example: true
151
-
description: "ControlPlaneOmitAvailabilityZone causes availability zone to be omitted when creating control plane nodes, allowing the Nova scheduler to make a decision on which availability zone to use based on other scheduling constraints."
158
+
description: |-
159
+
controlPlaneOmitAvailabilityZone causes availability zone to be omitted when creating control plane nodes,
160
+
allowing the Nova scheduler to make a decision on which availability zone to use based on other scheduling constraints.
152
161
# Workers
153
162
- name: workerFlavor
154
163
required: false
@@ -157,15 +166,18 @@ spec:
157
166
type: string
158
167
default: "SCS-4V-8"
159
168
example: "SCS-4V-8"
160
-
description: "OpenStack instance flavor for worker nodes."
169
+
description: "OpenStack instance flavor for worker nodes (default: SCS-4V-8, which requires workerRootDisk)."
161
170
- name: workerRootDisk
162
171
required: false
163
172
schema:
164
173
openAPIV3Schema:
165
174
type: integer
166
175
minimum: 1
167
176
example: 25
168
-
description: "Root disk size in GiB for worker nodes. OpenStack volume will be created and used instead of an ephemeral disk defined in flavor. Should be used for the diskless flavors."
177
+
description: |-
178
+
Root disk size in GiB for worker nodes.
179
+
OpenStack volume will be created and used instead of an ephemeral disk defined in flavor.
180
+
Should be used for the diskless flavors.
169
181
- name: workerServerGroupID
170
182
required: false
171
183
schema:
@@ -200,15 +212,17 @@ spec:
200
212
type: string
201
213
default: ""
202
214
example: "capi-keypair"
203
-
description: "The ssh key name to inject in the nodes."
215
+
description: "The ssh key name to inject in the nodes (for debugging)."
204
216
- name: securityGroups
205
217
required: false
206
218
schema:
207
219
openAPIV3Schema:
208
220
type: array
209
221
default: []
210
222
example: ["security-group-1"]
211
-
description: "The names of the security groups to assign to worker and control plane nodes"
223
+
description: |-
224
+
The names of extra security groups to assign to worker and control plane nodes.
225
+
Will be ignored if `securityGroupIDs` is used.
212
226
items:
213
227
type: string
214
228
- name: securityGroupIDs
@@ -219,7 +233,7 @@ spec:
219
233
type: array
220
234
default: []
221
235
example: ["9ae2f488-30a3-4629-bd51-07acb8eb4278"]
222
-
description: "The UUIDs of the security groups to assign to worker and control plane nodes"
236
+
description: "The UUIDs of extra security groups to assign to worker and control plane nodes"
223
237
items:
224
238
type: string
225
239
- name: workerSecurityGroups
@@ -229,7 +243,9 @@ spec:
229
243
type: array
230
244
default: []
231
245
example: ["security-group-1"]
232
-
description: "The names of the security groups to assign to the worker nodes. Will be ignored if `workerSecurityGroupIDs` is used."
246
+
description: |-
247
+
The names of extra security groups to assign to the worker nodes.
248
+
Will be ignored if `workerSecurityGroupIDs` is used.
233
249
items:
234
250
type: string
235
251
- name: workerSecurityGroupIDs
@@ -240,7 +256,7 @@ spec:
240
256
type: array
241
257
default: []
242
258
example: ["9ae2f488-30a3-4629-bd51-07acb8eb4278"]
243
-
description: "The UUIDs of the security groups to assign to the worker nodes"
259
+
description: "The UUIDs of extra security groups to assign to the worker nodes"
244
260
items:
245
261
type: string
246
262
- name: identityRef
@@ -254,7 +270,7 @@ spec:
254
270
type: string
255
271
example: "openstack"
256
272
default: "openstack"
257
-
description: "The name of the secret that caries the OpenStack clouds.yaml"
273
+
description: "The name of the secret that carries the OpenStack clouds.yaml"
258
274
cloudName:
259
275
type: string
260
276
example: "openstack"
@@ -279,27 +295,30 @@ spec:
279
295
default: "octavia-ovn"
280
296
example: "none, octavia-amphora, octavia-ovn"
281
297
description: |
282
-
"In this cluster-stack we have two kind of loadbalancers. Each of them has its own configuration variable. This setting here is to configure the loadbalancer that is placed in front of the apiserver."
298
+
Cluster-API by default places a LoadBalancer in front of the kubernetes API server.
299
+
(There are also LBs that the CCM creates for a service type LoadBalancer which are configured independently.)
300
+
This setting here is to configure the LoadBalancer that is placed in front of the apiServer.
283
301
You can choose from 3 options:
284
302
285
303
none:
286
-
No loadbalancer solution will be deployed
304
+
No LoadBalancer solution will be deployed
287
305
288
306
octavia-amphora:
289
-
(default) Uses openstack's loadbalancer service (provider:amphora)
307
+
Uses OpenStack's LoadBalancer service Octavia (provider:amphora)
290
308
291
309
octavia-ovn:
292
-
Uses openstack's loadbalancer service (provider:ovn)
310
+
(default) Uses OpenStack's LoadBalancer service Octavia (provider:ovn)
description: "apiServerLoadBalancerOctaviaAmphoraAllowedCIDRs restrict access to the Kubernetes API server on a network level.
300
-
Ensure, that at least the outgoing IP of your Management Cluster is added to the list of allowed CIDRs.
301
-
Otherwise CAPO can’t reconcile the target Cluster correctly.
302
-
This requires amphora as load balancer provider in version >= v2.12."
317
+
description: |-
318
+
apiServerLoadBalancerOctaviaAmphoraAllowedCIDRs restrict access to the Kubernetes API server on a network level.
319
+
Ensure that at least the outgoing IP of your Management Cluster is added to the list of allowed CIDRs.
320
+
Otherwise CAPO can’t reconcile the target Cluster correctly.
321
+
This requires amphora as load balancer provider in version >= v2.12.
303
322
items:
304
323
type: string
305
324
- name: oidcConfig
@@ -315,42 +334,45 @@ This requires amphora as load balancer provider in version >= v2.12."
315
334
issuerURL:
316
335
type: string
317
336
example: "https://dex.k8s.scs.community"
318
-
description: "URL of the provider that allows the API server to
319
-
dis cover public signing keys. Only URLs that use the https:// scheme are
320
-
acc epted. This is typically the provider's discovery URL, changed to have an
321
-
emp ty path"
337
+
description: >-
338
+
URL of the provider that allows the API server to
339
+
discover public signing keys. Only URLs that use the https:// scheme are
340
+
accepted. This is typically the provider's discovery URL, changed to have an
341
+
empty path.
322
342
usernameClaim:
323
343
type: string
324
344
example: "preferred_username"
325
345
default: "preferred_username"
326
-
description: "JWT claim to use as the user name. By default sub,
327
-
whi ch is expected to be a unique identifier of the end user. Admins can choose
328
-
oth er claims, such as email or name, depending on their provider. However,
329
-
cla ims other than email will be prefixed with the issuer URL to prevent naming
330
-
cla shes with other plugins."
346
+
description: >-
347
+
JWT claim to use as the user name. By default sub,
348
+
which is expected to be a unique identifier of the end user. Admins can choose
349
+
other claims, such as email or name, depending on their provider. However,
350
+
claims other than email will be prefixed with the issuer URL to prevent naming
351
+
clashes with other plugins.
331
352
groupsClaim:
332
353
type: string
333
354
example: "groups"
334
355
default: "groups"
335
-
description: "JWT claim to use as the user's group. If the claim
336
-
is present it must be an array of strings."
356
+
description: "JWT claim to use as the user's group. If the claim is present it must be an array of strings."
337
357
usernamePrefix:
338
358
type: string
339
359
example: "oidc:"
340
360
default: "oidc:"
341
-
description: "Prefix prepended to username claims to prevent
342
-
cla shes with existing names (such as system: users). For example, the value
343
-
oid c: will create usernames like oidc:jane.doe. If this flag isn't provided and
344
-
--o idc-username-claim is a value other than email the prefix defaults to (
345
-
Iss uer URL )# where ( Issuer URL ) is the value of --oidc-issuer-url. The value
346
-
- c an be used to disable all prefixing."
361
+
description: >-
362
+
Prefix prepended to username claims to prevent
363
+
clashes with existing names (such as system: users). For example, the value
364
+
oidc: will create usernames like oidc:jane.doe. If this flag isn't provided and
365
+
--oidc-username-claim is a value other than email the prefix defaults to (
366
+
Issuer URL )# where ( Issuer URL ) is the value of --oidc-issuer-url. The value
367
+
- can be used to disable all prefixing.
347
368
groupsPrefix:
348
369
type: string
349
370
example: "oidc:"
350
371
default: "oidc:"
351
-
description: "Prefix prepended to group claims to prevent clashes
352
-
wit h existing names (such as system: groups). For example, the value oidc: will
353
-
cre ate group names like oidc:engineering and oidc:infra."
372
+
description: >-
373
+
Prefix prepended to group claims to prevent clashes
374
+
with existing names (such as system: groups). For example, the value oidc: will
375
+
create group names like oidc:engineering and oidc:infra.
354
376
#
355
377
# Patches
356
378
#
@@ -477,7 +499,10 @@ cre ate group names like oidc:engineering and oidc:infra."
477
499
valueFrom:
478
500
variable: identityRef
479
501
- name: nodeCIDRSubnet
480
-
description: "Sets the NodeCIDR for the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet."
502
+
description: |-
503
+
Sets the NodeCIDR for the OpenStack Subnet to be created.
504
+
Cluster actuator will create a network, a subnet with NodeCIDR,
505
+
and a router connected to this subnet.
481
506
enabledIf: {{ `'{{ if .nodeCIDR }}true{{end}}'` }}
0 commit comments