Skip to content

Commit 96398f7

Browse files
committed
Merge branch 'scs2_cluster_stacks' of https://github.com/SovereignCloudStack/cluster-stacks into scs2_cluster_stacks
2 parents 519a315 + 36436d1 commit 96398f7

File tree

4 files changed

+80
-52
lines changed

4 files changed

+80
-52
lines changed

providers/openstack/scs2/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ spec:
9595
autoSubscribe: false
9696
noProvider: true
9797
versions:
98-
- v0-sha.mio2x7r
98+
- v0-sha.ksgrnrp
9999
EOF
100100
```
101101

@@ -133,7 +133,7 @@ spec:
133133
value: false
134134
- name: controlPlaneFlavor
135135
value: SCS-2V-4-20s
136-
class: openstack-scs2-1-33-v0-sha.mio2x7r
136+
class: openstack-scs2-1-33-v0-sha.ksgrnrp
137137
controlPlane:
138138
replicas: 1
139139
version: v1.33.4

providers/openstack/scs2/cluster-addon/csi/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ openstack-cinder-csi:
2828
- name: cloud-conf
2929
readOnly: true
3030
mountPath: /etc/kubernetes
31+
- name: cloud-conf
32+
readOnly: true
33+
mountPath: /etc/config
3134
nodeSelector:
3235
node-role.kubernetes.io/control-plane: ""
3336
tolerations:

providers/openstack/scs2/cluster-class/templates/cluster-class.yaml

Lines changed: 74 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ spec:
4343
The base name of the OpenStack image used for provisioning servers.
4444
If `imageIsOrc` is enabled, this name refers to an ORC image resource.
4545
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)
4747
default: "ubuntu-capi-image"
4848
- name: imageIsOrc
4949
required: false
@@ -79,21 +79,20 @@ spec:
7979
type: string
8080
example: "ebfe5546-f09f-4f42-ab54-094e457d42ec"
8181
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."
8383
- name: networkMTU
8484
required: false
8585
schema:
8686
openAPIV3Schema:
8787
type: integer
8888
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."
9090
- name: dnsNameservers
9191
required: false
9292
schema:
9393
openAPIV3Schema:
9494
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."
9796
default: ["9.9.9.9", "149.112.112.112"]
9897
example: ["9.9.9.9", "149.112.112.112"]
9998
items:
@@ -106,8 +105,11 @@ spec:
106105
format: "cidr"
107106
default: "10.8.0.0/20"
108107
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.
111113
# Control plane
112114
- name: controlPlaneFlavor
113115
required: false
@@ -116,30 +118,35 @@ spec:
116118
type: string
117119
default: "SCS-2V-4"
118120
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.)
120124
- name: controlPlaneRootDisk
121125
required: false
122126
schema:
123127
openAPIV3Schema:
124128
type: integer
125129
minimum: 1
126130
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.
128135
- name: controlPlaneServerGroupID
129136
required: false
130137
schema:
131138
openAPIV3Schema:
132139
type: string
133140
default: ""
134141
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)."
136143
- name: controlPlaneAvailabilityZones
137144
required: false
138145
schema:
139146
openAPIV3Schema:
140147
type: array
141148
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."
143150
items:
144151
type: string
145152
- name: controlPlaneOmitAvailabilityZone
@@ -148,7 +155,9 @@ spec:
148155
openAPIV3Schema:
149156
type: boolean
150157
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.
152161
# Workers
153162
- name: workerFlavor
154163
required: false
@@ -157,15 +166,18 @@ spec:
157166
type: string
158167
default: "SCS-4V-8"
159168
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)."
161170
- name: workerRootDisk
162171
required: false
163172
schema:
164173
openAPIV3Schema:
165174
type: integer
166175
minimum: 1
167176
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.
169181
- name: workerServerGroupID
170182
required: false
171183
schema:
@@ -200,15 +212,17 @@ spec:
200212
type: string
201213
default: ""
202214
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)."
204216
- name: securityGroups
205217
required: false
206218
schema:
207219
openAPIV3Schema:
208220
type: array
209221
default: []
210222
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.
212226
items:
213227
type: string
214228
- name: securityGroupIDs
@@ -219,7 +233,7 @@ spec:
219233
type: array
220234
default: []
221235
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"
223237
items:
224238
type: string
225239
- name: workerSecurityGroups
@@ -229,7 +243,9 @@ spec:
229243
type: array
230244
default: []
231245
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.
233249
items:
234250
type: string
235251
- name: workerSecurityGroupIDs
@@ -240,7 +256,7 @@ spec:
240256
type: array
241257
default: []
242258
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"
244260
items:
245261
type: string
246262
- name: identityRef
@@ -254,7 +270,7 @@ spec:
254270
type: string
255271
example: "openstack"
256272
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"
258274
cloudName:
259275
type: string
260276
example: "openstack"
@@ -279,27 +295,30 @@ spec:
279295
default: "octavia-ovn"
280296
example: "none, octavia-amphora, octavia-ovn"
281297
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.
283301
You can choose from 3 options:
284302
285303
none:
286-
No loadbalancer solution will be deployed
304+
No LoadBalancer solution will be deployed
287305
288306
octavia-amphora:
289-
(default) Uses openstack's loadbalancer service (provider:amphora)
307+
Uses OpenStack's LoadBalancer service Octavia (provider:amphora)
290308
291309
octavia-ovn:
292-
Uses openstack's loadbalancer service (provider:ovn)
310+
(default) Uses OpenStack's LoadBalancer service Octavia (provider:ovn)
293311
- name: apiServerLoadBalancerOctaviaAmphoraAllowedCIDRs
294312
required: false
295313
schema:
296314
openAPIV3Schema:
297315
type: array
298316
example: ["192.168.10.0/24"]
299-
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.
303322
items:
304323
type: string
305324
- name: oidcConfig
@@ -315,42 +334,45 @@ This requires amphora as load balancer provider in version >= v2.12."
315334
issuerURL:
316335
type: string
317336
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.
322342
usernameClaim:
323343
type: string
324344
example: "preferred_username"
325345
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.
331352
groupsClaim:
332353
type: string
333354
example: "groups"
334355
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."
337357
usernamePrefix:
338358
type: string
339359
example: "oidc:"
340360
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.
347368
groupsPrefix:
348369
type: string
349370
example: "oidc:"
350371
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.
354376
#
355377
# Patches
356378
#
@@ -477,7 +499,10 @@ cre ate group names like oidc:engineering and oidc:infra."
477499
valueFrom:
478500
variable: identityRef
479501
- 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.
481506
enabledIf: {{ `'{{ if .nodeCIDR }}true{{end}}'` }}
482507
definitions:
483508
- selector:

providers/openstack/scs2/cluster-class/templates/kubeadm-control-plane-template.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ spec:
77
spec:
88
kubeadmConfigSpec:
99
clusterConfiguration:
10-
apiServer:
10+
apiServer: {}
1111
controllerManager:
1212
extraArgs:
1313
cloud-provider: external

0 commit comments

Comments
 (0)