From 2f9eec09a1d53c9b56ccafee481a523553d76af3 Mon Sep 17 00:00:00 2001 From: Andrei Kvapil Date: Tue, 6 Feb 2024 08:16:31 +0100 Subject: [PATCH] fix kubevirt ccm --- .../apps/kubernetes/templates/cluster.yaml | 2 +- .../templates/helmreleases/csi.yaml | 28 +++++++++++++++++++ .../templates/helmreleases/delete.yaml | 2 ++ .../kubernetes/templates/kccm/manager.yaml | 1 + packages/core/installer/images/installer.json | 6 ++-- packages/system/kubevirt-csi-node/Chart.yaml | 2 ++ .../kubevirt-csi-node/templates/deploy.yaml | 18 ++++++------ packages/system/linstor/templates/sc.yaml | 17 +++++++++++ 8 files changed, 63 insertions(+), 13 deletions(-) create mode 100644 packages/apps/kubernetes/templates/helmreleases/csi.yaml create mode 100644 packages/system/kubevirt-csi-node/Chart.yaml diff --git a/packages/apps/kubernetes/templates/cluster.yaml b/packages/apps/kubernetes/templates/cluster.yaml index ffb57fde..c0644482 100644 --- a/packages/apps/kubernetes/templates/cluster.yaml +++ b/packages/apps/kubernetes/templates/cluster.yaml @@ -40,7 +40,7 @@ spec: dataStoreName: "{{ $etcd }}" addons: coreDNS: {} - kubeProxy: {} + konnectivity: {} kubelet: cgroupfs: systemd preferredAddressTypes: diff --git a/packages/apps/kubernetes/templates/helmreleases/csi.yaml b/packages/apps/kubernetes/templates/helmreleases/csi.yaml new file mode 100644 index 00000000..55169278 --- /dev/null +++ b/packages/apps/kubernetes/templates/helmreleases/csi.yaml @@ -0,0 +1,28 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: {{ .Release.Name }}-csi + labels: + cozystack.io/repository: system + coztstack.io/target-cluster-name: {{ .Release.Name }} +spec: + interval: 1m + releaseName: csi + chart: + spec: + chart: cozy-kubevirt-csi-node + reconcileStrategy: Revision + sourceRef: + kind: HelmRepository + name: cozystack-system + namespace: cozy-system + kubeConfig: + secretRef: + name: {{ .Release.Name }}-kubeconfig + targetNamespace: cozy-csi + storageNamespace: cozy-csi + install: + createNamespace: true + dependsOn: + - name: {{ .Release.Name }} + namespace: {{ .Release.Namespace }} diff --git a/packages/apps/kubernetes/templates/helmreleases/delete.yaml b/packages/apps/kubernetes/templates/helmreleases/delete.yaml index b001549d..e143653a 100644 --- a/packages/apps/kubernetes/templates/helmreleases/delete.yaml +++ b/packages/apps/kubernetes/templates/helmreleases/delete.yaml @@ -21,6 +21,7 @@ spec: - patch - helmrelease - {{ .Release.Name }}-cilium + - {{ .Release.Name }}-csi - -p - '{"spec": {"suspend": true}}' - --type=merge @@ -52,6 +53,7 @@ rules: - patch resourceNames: - {{ .Release.Name }}-cilium + - {{ .Release.Name }}-csi --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding diff --git a/packages/apps/kubernetes/templates/kccm/manager.yaml b/packages/apps/kubernetes/templates/kccm/manager.yaml index ed6c2f5a..81a02e97 100644 --- a/packages/apps/kubernetes/templates/kccm/manager.yaml +++ b/packages/apps/kubernetes/templates/kccm/manager.yaml @@ -20,6 +20,7 @@ spec: - --cloud-provider=kubevirt - --cloud-config=/etc/cloud/cloud-config - --kubeconfig=/etc/kubernetes/kubeconfig/super-admin.svc + - --cluster-name={{ .Release.Name }} command: - /bin/kubevirt-cloud-controller-manager image: ghcr.io/kvaps/test:kubevirt-cloud-provider diff --git a/packages/core/installer/images/installer.json b/packages/core/installer/images/installer.json index 96494dc1..2c30c054 100644 --- a/packages/core/installer/images/installer.json +++ b/packages/core/installer/images/installer.json @@ -1,14 +1,14 @@ { - "containerimage.config.digest": "sha256:3fb39acdc610ab4e09bc4d7f2f0e471dce7e4779b824461c8d3a3862ba6400d8", + "containerimage.config.digest": "sha256:09f4e6e5841f426c8816bf416e55c36c07994895438253ef532ae411c5c13d25", "containerimage.descriptor": { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", - "digest": "sha256:79a28f49a495400ee395d0cff098f9b789ca6e8c48084727ea5fb4395e2ac510", + "digest": "sha256:443d8daa9f826e128ff013d43c5598bb2cf1915c427b5157e6c9f3f9c791db0f", "size": 2074, "platform": { "architecture": "amd64", "os": "linux" } }, - "containerimage.digest": "sha256:79a28f49a495400ee395d0cff098f9b789ca6e8c48084727ea5fb4395e2ac510", + "containerimage.digest": "sha256:443d8daa9f826e128ff013d43c5598bb2cf1915c427b5157e6c9f3f9c791db0f", "image.name": "ghcr.io/aenix-io/cozystack/installer:latest" } \ No newline at end of file diff --git a/packages/system/kubevirt-csi-node/Chart.yaml b/packages/system/kubevirt-csi-node/Chart.yaml new file mode 100644 index 00000000..bb596fa9 --- /dev/null +++ b/packages/system/kubevirt-csi-node/Chart.yaml @@ -0,0 +1,2 @@ +name: cozy-kubevirt-csi-node +version: 1.0.0 diff --git a/packages/system/kubevirt-csi-node/templates/deploy.yaml b/packages/system/kubevirt-csi-node/templates/deploy.yaml index 290d38c1..49b84ff5 100644 --- a/packages/system/kubevirt-csi-node/templates/deploy.yaml +++ b/packages/system/kubevirt-csi-node/templates/deploy.yaml @@ -11,7 +11,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: kubevirt-csi-controller-sa - namespace: kubevirt-csi-driver + namespace: {{ .Release.Namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -75,7 +75,7 @@ metadata: subjects: - kind: ServiceAccount name: kubevirt-csi-controller-sa - namespace: kubevirt-csi-driver + namespace: {{ .Release.Namespace }} roleRef: kind: ClusterRole name: kubevirt-csi-controller-cr @@ -85,7 +85,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: kubevirt-csi-node-sa - namespace: kubevirt-csi-driver + namespace: {{ .Release.Namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -131,7 +131,7 @@ metadata: subjects: - kind: ServiceAccount name: kubevirt-csi-node-sa - namespace: kubevirt-csi-driver + namespace: {{ .Release.Namespace }} roleRef: kind: ClusterRole name: kubevirt-csi-node-cr @@ -141,17 +141,17 @@ kind: DaemonSet apiVersion: apps/v1 metadata: name: kubevirt-csi-node - namespace: kubevirt-csi-driver + namespace: {{ .Release.Namespace }} spec: selector: matchLabels: - app: kubevirt-csi-driver + app: {{ .Release.Namespace }} updateStrategy: type: RollingUpdate template: metadata: labels: - app: kubevirt-csi-driver + app: {{ .Release.Namespace }} spec: serviceAccount: kubevirt-csi-node-sa priorityClassName: system-node-critical @@ -261,7 +261,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: driver-config - namespace: kubevirt-csi-driver + namespace: {{ .Release.Namespace }} data: infraClusterNamespace: infraClusterLabels: csi-driver/cluster=tenant @@ -274,5 +274,5 @@ metadata: storageclass.kubernetes.io/is-default-class: "true" provisioner: csi.kubevirt.io parameters: - infraStorageClassName: "" + infraStorageClassName: replicated bus: scsi diff --git a/packages/system/linstor/templates/sc.yaml b/packages/system/linstor/templates/sc.yaml index 6504a350..95004695 100644 --- a/packages/system/linstor/templates/sc.yaml +++ b/packages/system/linstor/templates/sc.yaml @@ -28,3 +28,20 @@ parameters: property.linstor.csi.linbit.com/DrbdOptions/Net/rr-conflict: retry-connect volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: replicated +provisioner: linstor.csi.linbit.com +parameters: + linstor.csi.linbit.com/storagePool: "data" + linstor.csi.linbit.com/autoPlace: "3" + linstor.csi.linbit.com/layerList: "drbd storage" + linstor.csi.linbit.com/allowRemoteVolumeAccess: "true" + property.linstor.csi.linbit.com/DrbdOptions/auto-quorum: suspend-io + property.linstor.csi.linbit.com/DrbdOptions/Resource/on-no-data-accessible: suspend-io + property.linstor.csi.linbit.com/DrbdOptions/Resource/on-suspended-primary-outdated: force-secondary + property.linstor.csi.linbit.com/DrbdOptions/Net/rr-conflict: retry-connect +volumeBindingMode: WaitForFirstConsumer +allowVolumeExpansion: true