From 767a6330258bc268f71ee771cdca5a023d5588ff Mon Sep 17 00:00:00 2001 From: Danny Webb Date: Wed, 12 Jun 2024 15:32:11 +0100 Subject: [PATCH 1/2] v1beta1 required changes --- helm/cluster-openstack/templates/_helpers.tpl | 12 +++---- .../templates/openstack_cluster.yaml | 33 ++++++++++--------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/helm/cluster-openstack/templates/_helpers.tpl b/helm/cluster-openstack/templates/_helpers.tpl index afdc7bb..265e385 100644 --- a/helm/cluster-openstack/templates/_helpers.tpl +++ b/helm/cluster-openstack/templates/_helpers.tpl @@ -8,7 +8,7 @@ Expand the name of the chart. {{- end -}} {{- define "infrastructureApiVersion" -}} -infrastructure.cluster.x-k8s.io/v1alpha6 +infrastructure.cluster.x-k8s.io/v1beta1 {{- end -}} {{/* @@ -159,11 +159,10 @@ Here we are generating a hash suffix to trigger upgrade when only it is necessar using only the parameters used in openstack_machine_template.yaml. */}} {{- define "osmtSpec" -}} -cloudName: {{ $.cloudName | quote }} flavor: {{ .currentClass.flavor | quote }} identityRef: name: {{ $.cloudConfig }} - kind: Secret + cloudName: {{ $.cloudName | quote }} {{- if not $.nodeCIDR }} networks: - filter: @@ -174,12 +173,13 @@ networks: {{- end }} {{- if .currentClass.bootFromVolume }} rootVolume: - diskSize: {{ .currentClass.diskSize }} + sizeGiB: {{ .currentClass.diskSize }} {{- if .currentClass.volumeType }} - volumeType: {{ .currentClass.volumeType | quote }} + type: {{ .currentClass.volumeType | quote }} {{- end }} {{- end }} -image: {{ .currentClass.image | quote }} +image: + id: {{ .currentClass.image | quote }} {{- end -}} {{- define "osmtRevision" -}} diff --git a/helm/cluster-openstack/templates/openstack_cluster.yaml b/helm/cluster-openstack/templates/openstack_cluster.yaml index f759a84..044e72c 100644 --- a/helm/cluster-openstack/templates/openstack_cluster.yaml +++ b/helm/cluster-openstack/templates/openstack_cluster.yaml @@ -13,7 +13,6 @@ spec: tags: - giant_swarm_cluster_{{ .Values.managementCluster }}_{{ include "resource.default.name" $ }} {{- end }} - cloudName: {{ .Values.cloudName | quote }} {{- if .Values.controlPlane.availabilityZones }} controlPlaneAvailabilityZones: {{- range .Values.controlPlane.availabilityZones }} @@ -22,16 +21,18 @@ spec: {{- end }} identityRef: name: {{ .Values.cloudConfig }} - kind: Secret + cloudName: {{ .Values.cloudName | quote }} apiServerLoadBalancer: enabled: true - allowedCidrs: + allowedCIDRs: {{- range .Values.apiServerLoadBalancer.allowedCidrs }} - {{ . | quote }} {{- end }} - managedSecurityGroups: true + managedSecurityGroups: + allowAllInClusterTraffic: true {{- if .Values.nodeCIDR }} - nodeCidr: {{ .Values.nodeCIDR | quote }} + managedSubnets: + - cidr: {{ .Values.nodeCIDR | quote }} {{- else }} network: name: {{ .Values.networkName }} @@ -39,9 +40,9 @@ spec: name: {{ .Values.subnetName }} {{- end }} {{- if .Values.externalNetworkID }} - externalNetworkId: {{ .Values.externalNetworkID | quote }} + externalNetwork: + id: {{ .Values.externalNetworkID | quote }} {{- end }} - allowAllInClusterTraffic: true {{- if .Values.dnsNameservers }} dnsNameservers: {{- range .Values.dnsNameservers }} @@ -50,18 +51,20 @@ spec: {{- end }} bastion: enabled: false - instance: + spec: flavor: {{ .Values.bastion.flavor | quote }} {{- if not .Values.nodeCIDR }} - networks: - - filter: - name: {{ .Values.networkName }} - subnets: + ports: + network: - filter: - name: {{ .Values.subnetName }} + name: {{ .Values.networkName }} + subnets: + - filter: + name: {{ .Values.subnetName }} {{- end }} {{- if .Values.bastion.bootFromVolume }} rootVolume: - diskSize: {{ .Values.bastion.diskSize }} + sizeGiB: {{ .Values.bastion.diskSize }} {{- end }} - image: {{ .Values.bastion.image | quote }} + image: + id: {{ .Values.bastion.image | quote }} From b0c288dc9865799eed25585648f9e02fecca65a8 Mon Sep 17 00:00:00 2001 From: Danny Webb Date: Wed, 12 Jun 2024 15:33:01 +0100 Subject: [PATCH 2/2] add ability to bootstrap mgmt clusters by removing encryption requirement / coredns --- helm/cluster-openstack/templates/coredns.yaml | 2 ++ helm/cluster-openstack/templates/kubeadm_control_plane.yaml | 4 ++++ helm/cluster-openstack/values.yaml | 3 +++ 3 files changed, 9 insertions(+) diff --git a/helm/cluster-openstack/templates/coredns.yaml b/helm/cluster-openstack/templates/coredns.yaml index 0a2d51b..7214c9e 100644 --- a/helm/cluster-openstack/templates/coredns.yaml +++ b/helm/cluster-openstack/templates/coredns.yaml @@ -1,2 +1,4 @@ # use the `_coredns.tpl` from `cluster-shared` +{{- if $.Values.includeCoredns -}} {{- include "coredns" .}} +{{- end -}} diff --git a/helm/cluster-openstack/templates/kubeadm_control_plane.yaml b/helm/cluster-openstack/templates/kubeadm_control_plane.yaml index 7e2d631..ea564d9 100644 --- a/helm/cluster-openstack/templates/kubeadm_control_plane.yaml +++ b/helm/cluster-openstack/templates/kubeadm_control_plane.yaml @@ -40,7 +40,9 @@ spec: extraArgs: cloud-provider: external enable-admission-plugins: {{ .Values.apiServer.enableAdmissionPlugins }} + {{- if not .Values.bootstrapManagementCluster }} encryption-provider-config: /etc/kubernetes/encryption/config.yaml + {{- end }} feature-gates: {{ .Values.apiServer.featureGates }} kubelet-preferred-address-types: "InternalIP" {{- if (semverCompare "~1.24.0" $.Values.kubernetesVersion) }} @@ -110,12 +112,14 @@ spec: files: {{- include "sshFiles" . | nindent 6 }} {{- include "kubeProxyFiles" . | nindent 6 }} + {{- if not .Values.bootstrapManagementCluster }} - path: /etc/kubernetes/encryption/config.yaml permissions: "0600" contentFrom: secret: name: {{ include "resource.default.name" $ }}-encryption-provider-config key: encryption + {{- end }} {{- range $kubeadmPatch, $_ := .Files.Glob "files/etc/patches/**" }} - path: {{ (printf "/tmp/kubeadm/patches/%s" (base $kubeadmPatch)) }} content: |- diff --git a/helm/cluster-openstack/values.yaml b/helm/cluster-openstack/values.yaml index e0cfac8..45366c9 100644 --- a/helm/cluster-openstack/values.yaml +++ b/helm/cluster-openstack/values.yaml @@ -77,3 +77,6 @@ kubectlImage: {} rollout: before: false certExpiryDays: 14 + +includeCoredns: true +bootstrapManagementCluster: false