From 3ec8286476d372c4aefbe79aed692eff93107aa9 Mon Sep 17 00:00:00 2001 From: Ibrahim Mkusa Date: Mon, 21 Apr 2025 09:32:49 -0400 Subject: [PATCH] Upgrade longhorn 1.7.2 --> 1.8.1 --- manifests/longhorn/longhorn.yaml | 266 +++++++++++++++++++++++-------- 1 file changed, 202 insertions(+), 64 deletions(-) diff --git a/manifests/longhorn/longhorn.yaml b/manifests/longhorn/longhorn.yaml index 1de7337..af2b05a 100644 --- a/manifests/longhorn/longhorn.yaml +++ b/manifests/longhorn/longhorn.yaml @@ -13,7 +13,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 description: "Ensure Longhorn pods have the highest priority to prevent any unexpected eviction by the Kubernetes scheduler under node pressure" globalDefault: false preemptionPolicy: PreemptLowerPriority @@ -28,7 +28,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 --- # Source: longhorn/templates/serviceaccount.yaml apiVersion: v1 @@ -39,7 +39,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 --- # Source: longhorn/templates/serviceaccount.yaml apiVersion: v1 @@ -50,7 +50,20 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 +--- +# Source: longhorn/templates/default-resource.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: longhorn-default-resource + namespace: longhorn-system + labels: + app.kubernetes.io/name: longhorn + app.kubernetes.io/instance: longhorn + app.kubernetes.io/version: v1.8.1 +data: + default-resource.yaml: |- --- # Source: longhorn/templates/default-setting.yaml apiVersion: v1 @@ -61,7 +74,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 data: default-setting.yaml: |- priority-class: longhorn-critical @@ -76,7 +89,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 data: storageclass.yaml: | kind: StorageClass @@ -108,7 +121,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: backingimagedatasources.longhorn.io spec: @@ -298,7 +311,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: backingimagemanagers.longhorn.io spec: @@ -451,6 +464,9 @@ spec: type: string progress: type: integer + realSize: + format: int64 + type: integer senderManagerAddress: type: string sendingReference: @@ -492,7 +508,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: backingimages.longhorn.io spec: @@ -605,9 +621,20 @@ spec: properties: checksum: type: string + dataEngine: + default: v1 + enum: + - v1 + - v2 + type: string diskFileSpecMap: additionalProperties: properties: + dataEngine: + enum: + - v1 + - v2 + type: string evictionRequested: type: boolean type: object @@ -654,6 +681,11 @@ spec: diskFileStatusMap: additionalProperties: properties: + dataEngine: + enum: + - v1 + - v2 + type: string lastStateTransitionTime: type: string message: @@ -672,14 +704,26 @@ spec: type: object ownerID: type: string + realSize: + description: Real size of image in bytes, which may be smaller than + the size when the file is a sparse file. Will be zero until known + (e.g. while a backing image is uploading) + format: int64 + type: integer size: format: int64 type: integer uuid: type: string + v2FirstCopyDisk: + type: string + v2FirstCopyStatus: + description: It is pending -> in-progress -> ready/failed + type: string virtualSize: - description: Virtual size of image, which may be larger than physical - size. Will be zero until known (e.g. while a backing image is uploading) + description: Virtual size of image in bytes, which may be larger than + physical size. Will be zero until known (e.g. while a backing image + is uploading) format: int64 type: integer type: object @@ -698,7 +742,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: backupbackingimages.longhorn.io spec: @@ -760,6 +804,14 @@ spec: description: BackupBackingImageSpec defines the desired state of the Longhorn backing image backup properties: + backingImage: + description: |- + The backing image name. + type: string + backupTargetName: + description: The backup target name. + nullable: true + type: string labels: additionalProperties: type: string @@ -774,9 +826,9 @@ spec: userCreated: description: |- Is this CR created by user through API or UI. - Required type: boolean required: + - backingImage - userCreated type: object status: @@ -828,6 +880,13 @@ spec: progress: description: The backing image backup progress. type: integer + secret: + description: Record the secret if this backup backing image is encrypted + type: string + secretNamespace: + description: Record the secret namespace if this backup backing image + is encrypted + type: string size: description: The backing image size. format: int64 @@ -856,7 +915,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: backups.longhorn.io spec: @@ -935,6 +994,10 @@ spec: jsonPath: .status.snapshotCreatedAt name: SnapshotCreatedAt type: string + - description: The backup target name + jsonPath: .status.backupTargetName + name: BackupTarget + type: string - description: The backup state jsonPath: .status.state name: State @@ -997,6 +1060,9 @@ spec: backupCreatedAt: description: The snapshot backup upload finished time. type: string + backupTargetName: + description: The backup target name. + type: string compressionMethod: description: Compression method type: string @@ -1083,7 +1149,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: backuptargets.longhorn.io spec: @@ -1288,7 +1354,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: backupvolumes.longhorn.io spec: @@ -1351,6 +1417,10 @@ spec: subresources: status: {} - additionalPrinterColumns: + - description: The backup target name + jsonPath: .spec.backupTargetName + name: BackupTarget + type: string - description: The backup volume creation time jsonPath: .status.createdAt name: CreatedAt @@ -1393,11 +1463,18 @@ spec: description: BackupVolumeSpec defines the desired state of the Longhorn backup volume properties: + backupTargetName: + description: The backup target name that the backup volume was synced. + nullable: true + type: string syncRequestedAt: description: The time to request run sync the remote backup volume. format: date-time nullable: true type: string + volumeName: + description: The volume name that the backup volume was used to backup. + type: string type: object status: description: BackupVolumeStatus defines the observed state of the Longhorn @@ -1471,7 +1548,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: engineimages.longhorn.io spec: @@ -1687,7 +1764,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: engines.longhorn.io spec: @@ -2087,7 +2164,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: instancemanagers.longhorn.io spec: @@ -2197,6 +2274,14 @@ spec: properties: dataEngine: type: string + dataEngineSpec: + properties: + v2: + properties: + cpuMask: + type: string + type: object + type: object image: type: string nodeID: @@ -2216,8 +2301,39 @@ spec: type: integer apiVersion: type: integer + backingImages: + additionalProperties: + properties: + currentChecksum: + type: string + diskUUID: + type: string + message: + type: string + name: + type: string + progress: + type: integer + size: + format: int64 + type: integer + state: + type: string + uuid: + type: string + type: object + nullable: true + type: object currentState: type: string + dataEngineStatus: + properties: + v2: + properties: + cpuMask: + type: string + type: object + type: object instanceEngines: additionalProperties: properties: @@ -2390,7 +2506,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: nodes.longhorn.io spec: @@ -2629,6 +2745,12 @@ spec: type: string instanceManagerName: type: string + scheduledBackingImage: + additionalProperties: + format: int64 + type: integer + nullable: true + type: object scheduledReplica: additionalProperties: format: int64 @@ -2673,7 +2795,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: orphans.longhorn.io spec: @@ -2788,7 +2910,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: recurringjobs.longhorn.io spec: @@ -2988,7 +3110,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: replicas.longhorn.io spec: @@ -3179,6 +3301,11 @@ spec: type: string logRequested: type: boolean + migrationEngineName: + description: |- + MigrationEngineName is indicating the migrating engine which current connected to this replica. This is only + used for live migration of v2 data engine + type: string nodeID: type: string rebuildRetryCount: @@ -3272,7 +3399,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: settings.longhorn.io spec: @@ -3389,7 +3516,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: sharemanagers.longhorn.io spec: @@ -3520,7 +3647,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: snapshots.longhorn.io spec: @@ -3598,7 +3725,6 @@ spec: description: |- the volume that this snapshot belongs to. This field is immutable after creation. - Required type: string required: - volume @@ -3654,7 +3780,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: supportbundles.longhorn.io spec: @@ -3789,7 +3915,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: systembackups.longhorn.io spec: @@ -3930,7 +4056,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: systemrestores.longhorn.io spec: @@ -4043,7 +4169,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: volumeattachments.longhorn.io spec: @@ -4191,7 +4317,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 longhorn-manager: "" name: volumes.longhorn.io spec: @@ -4344,6 +4470,10 @@ spec: - lz4 - gzip type: string + backupTargetName: + description: The backup target name that the volume will be backed + up to or is synced. + type: string dataEngine: enum: - v1 @@ -4596,7 +4726,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 rules: - apiGroups: - apiextensions.k8s.io @@ -4662,7 +4792,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -4680,7 +4810,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -4697,7 +4827,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-manager name: longhorn-backend namespace: longhorn-system @@ -4717,7 +4847,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-ui annotations: external-dns.alpha.kubernetes.io/hostname: longhorn.homelab.local @@ -4740,7 +4870,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-conversion-webhook name: longhorn-conversion-webhook namespace: longhorn-system @@ -4760,7 +4890,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-admission-webhook name: longhorn-admission-webhook namespace: longhorn-system @@ -4780,7 +4910,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-recovery-backend name: longhorn-recovery-backend namespace: longhorn-system @@ -4800,7 +4930,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-manager name: longhorn-manager namespace: longhorn-system @@ -4813,12 +4943,12 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-manager spec: containers: - name: longhorn-manager - image: longhornio/longhorn-manager:v1.7.2 + image: longhornio/longhorn-manager:v1.8.1 imagePullPolicy: IfNotPresent securityContext: privileged: true @@ -4827,17 +4957,17 @@ spec: - -d - daemon - --engine-image - - "longhornio/longhorn-engine:v1.7.2" + - "longhornio/longhorn-engine:v1.8.1" - --instance-manager-image - - "longhornio/longhorn-instance-manager:v1.7.2" + - "longhornio/longhorn-instance-manager:v1.8.1" - --share-manager-image - - "longhornio/longhorn-share-manager:v1.7.2" + - "longhornio/longhorn-share-manager:v1.8.1" - --backing-image-manager-image - - "longhornio/backing-image-manager:v1.7.2" + - "longhornio/backing-image-manager:v1.8.1" - --support-bundle-manager-image - - "longhornio/support-bundle-kit:v0.0.45" + - "longhornio/support-bundle-kit:v0.0.52" - --manager-image - - "longhornio/longhorn-manager:v1.7.2" + - "longhornio/longhorn-manager:v1.8.1" - --service-account - longhorn-service-account - --upgrade-version-check @@ -4858,10 +4988,15 @@ spec: volumeMounts: - name: boot mountPath: /host/boot/ + readOnly: true - name: dev mountPath: /host/dev/ - name: proc mountPath: /host/proc/ + readOnly: true + - name: etc + mountPath: /host/etc/ + readOnly: true - name: longhorn mountPath: /var/lib/longhorn/ mountPropagation: Bidirectional @@ -4886,7 +5021,7 @@ spec: fieldPath: spec.nodeName - name: pre-pull-share-manager-image imagePullPolicy: IfNotPresent - image: longhornio/longhorn-share-manager:v1.7.2 + image: longhornio/longhorn-share-manager:v1.8.1 command: ["sh", "-c", "echo share-manager image pulled && sleep infinity"] volumes: - name: boot @@ -4898,6 +5033,9 @@ spec: - name: proc hostPath: path: /proc/ + - name: etc + hostPath: + path: /etc/ - name: longhorn hostPath: path: /var/lib/longhorn/ @@ -4920,7 +5058,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 spec: replicas: 1 selector: @@ -4931,23 +5069,23 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-driver-deployer spec: initContainers: - name: wait-longhorn-manager - image: longhornio/longhorn-manager:v1.7.2 + image: longhornio/longhorn-manager:v1.8.1 command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done'] containers: - name: longhorn-driver-deployer - image: longhornio/longhorn-manager:v1.7.2 + image: longhornio/longhorn-manager:v1.8.1 imagePullPolicy: IfNotPresent command: - longhorn-manager - -d - deploy-driver - --manager-image - - "longhornio/longhorn-manager:v1.7.2" + - "longhornio/longhorn-manager:v1.8.1" - --manager-url - http://longhorn-backend:9500/v1 env: @@ -4964,17 +5102,17 @@ spec: fieldRef: fieldPath: spec.serviceAccountName - name: CSI_ATTACHER_IMAGE - value: "longhornio/csi-attacher:v4.7.0" + value: "longhornio/csi-attacher:v4.8.1" - name: CSI_PROVISIONER_IMAGE - value: "longhornio/csi-provisioner:v4.0.1-20241007" + value: "longhornio/csi-provisioner:v5.2.0" - name: CSI_NODE_DRIVER_REGISTRAR_IMAGE - value: "longhornio/csi-node-driver-registrar:v2.12.0" + value: "longhornio/csi-node-driver-registrar:v2.13.0" - name: CSI_RESIZER_IMAGE - value: "longhornio/csi-resizer:v1.12.0" + value: "longhornio/csi-resizer:v1.13.2" - name: CSI_SNAPSHOTTER_IMAGE - value: "longhornio/csi-snapshotter:v7.0.2-20241007" + value: "longhornio/csi-snapshotter:v8.2.0" - name: CSI_LIVENESS_PROBE_IMAGE - value: "longhornio/livenessprobe:v2.14.0" + value: "longhornio/livenessprobe:v2.15.0" priorityClassName: "longhorn-critical" serviceAccountName: longhorn-service-account securityContext: @@ -4987,7 +5125,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-ui name: longhorn-ui namespace: longhorn-system @@ -5001,7 +5139,7 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.7.2 + app.kubernetes.io/version: v1.8.1 app: longhorn-ui spec: serviceAccountName: longhorn-ui-service-account @@ -5019,7 +5157,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: longhorn-ui - image: longhornio/longhorn-ui:v1.7.2 + image: longhornio/longhorn-ui:v1.8.1 imagePullPolicy: IfNotPresent volumeMounts: - name : nginx-cache