安装/配置Longhorn

1、安装使用kubectl安装

kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml

网络不好直接使用下面的longhorn.yaml文件

复制代码
---
# Builtin: "helm template" does not respect --create-namespace
apiVersion: v1
kind: Namespace
metadata:
  name: longhorn-system
---
# Source: longhorn/templates/priorityclass.yaml
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: "longhorn-critical"
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
description: "Ensure Longhorn pods have the highest priority to prevent any unexpected eviction by the Kubernetes scheduler under node pressure"
globalDefault: false
preemptionPolicy: PreemptLowerPriority
value: 1000000000
---
# Source: longhorn/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: longhorn-service-account
  namespace: longhorn-system
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
---
# Source: longhorn/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: longhorn-ui-service-account
  namespace: longhorn-system
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
---
# Source: longhorn/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: longhorn-support-bundle
  namespace: longhorn-system
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
---
# Source: longhorn/templates/default-setting.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: longhorn-default-setting
  namespace: longhorn-system
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
data:
  default-setting.yaml: |-
    priority-class: longhorn-critical
---
# Source: longhorn/templates/storageclass.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: longhorn-storageclass
  namespace: longhorn-system
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
data:
  storageclass.yaml: |
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: longhorn
      annotations:
        storageclass.kubernetes.io/is-default-class: "true"
    provisioner: driver.longhorn.io
    allowVolumeExpansion: true
    reclaimPolicy: "Delete"
    volumeBindingMode: Immediate
    parameters:
      numberOfReplicas: "3"
      staleReplicaTimeout: "30"
      fromBackup: ""
      fsType: "ext4"
      dataLocality: "disabled"
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: backingimagedatasources.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: BackingImageDataSource
    listKind: BackingImageDataSourceList
    plural: backingimagedatasources
    shortNames:
    - lhbids
    singular: backingimagedatasource
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the pod used to provision the backing image file from source
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The data source type
      jsonPath: .spec.sourceType
      name: SourceType
      type: string
    - description: The node the backing image file will be prepared on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the backing image file will be prepared on
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackingImageDataSource is where Longhorn stores backing image data source object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The system generated UUID of the provisioned backing image file
      jsonPath: .spec.uuid
      name: UUID
      type: string
    - description: The current state of the pod used to provision the backing image file from source
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The data source type
      jsonPath: .spec.sourceType
      name: SourceType
      type: string
    - description: The backing image file size
      jsonPath: .status.size
      name: Size
      type: string
    - description: The node the backing image file will be prepared on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the backing image file will be prepared on
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackingImageDataSource is where Longhorn stores backing image data source object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: BackingImageDataSourceSpec defines the desired state of the Longhorn backing image data source
            properties:
              checksum:
                type: string
              diskPath:
                type: string
              diskUUID:
                type: string
              fileTransferred:
                type: boolean
              nodeID:
                type: string
              parameters:
                additionalProperties:
                  type: string
                type: object
              sourceType:
                enum:
                - download
                - upload
                - export-from-volume
                - restore
                type: string
              uuid:
                type: string
            type: object
          status:
            description: BackingImageDataSourceStatus defines the observed state of the Longhorn backing image data source
            properties:
              checksum:
                type: string
              currentState:
                type: string
              ip:
                type: string
              message:
                type: string
              ownerID:
                type: string
              progress:
                type: integer
              runningParameters:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              size:
                format: int64
                type: integer
              storageIP:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: backingimagemanagers.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: BackingImageManager
    listKind: BackingImageManagerList
    plural: backingimagemanagers
    shortNames:
    - lhbim
    singular: backingimagemanager
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The image the manager pod will use
      jsonPath: .spec.image
      name: Image
      type: string
    - description: The node the manager is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the manager is responsible for
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - description: The disk path the manager is using
      jsonPath: .spec.diskPath
      name: DiskPath
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackingImageManager is where Longhorn stores backing image manager object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The current state of the manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The image the manager pod will use
      jsonPath: .spec.image
      name: Image
      type: string
    - description: The node the manager is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the manager is responsible for
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - description: The disk path the manager is using
      jsonPath: .spec.diskPath
      name: DiskPath
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackingImageManager is where Longhorn stores backing image manager object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: BackingImageManagerSpec defines the desired state of the Longhorn backing image manager
            properties:
              backingImages:
                additionalProperties:
                  type: string
                type: object
              diskPath:
                type: string
              diskUUID:
                type: string
              image:
                type: string
              nodeID:
                type: string
            type: object
          status:
            description: BackingImageManagerStatus defines the observed state of the Longhorn backing image manager
            properties:
              apiMinVersion:
                type: integer
              apiVersion:
                type: integer
              backingImageFileMap:
                additionalProperties:
                  properties:
                    currentChecksum:
                      type: string
                    message:
                      type: string
                    name:
                      type: string
                    progress:
                      type: integer
                    senderManagerAddress:
                      type: string
                    sendingReference:
                      type: integer
                    size:
                      format: int64
                      type: integer
                    state:
                      type: string
                    uuid:
                      type: string
                  type: object
                nullable: true
                type: object
              currentState:
                type: string
              ip:
                type: string
              ownerID:
                type: string
              storageIP:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: backingimages.longhorn.io
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: longhorn-system
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: BackingImage
    listKind: BackingImageList
    plural: backingimages
    shortNames:
    - lhbi
    singular: backingimage
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The backing image name
      jsonPath: .spec.image
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackingImage is where Longhorn stores backing image object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The system generated UUID
      jsonPath: .status.uuid
      name: UUID
      type: string
    - description: The source of the backing image file data
      jsonPath: .spec.sourceType
      name: SourceType
      type: string
    - description: The backing image file size in each disk
      jsonPath: .status.size
      name: Size
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackingImage is where Longhorn stores backing image object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: BackingImageSpec defines the desired state of the Longhorn backing image
            properties:
              checksum:
                type: string
              disks:
                additionalProperties:
                  type: string
                type: object
              sourceParameters:
                additionalProperties:
                  type: string
                type: object
              sourceType:
                enum:
                - download
                - upload
                - export-from-volume
                - restore
                type: string
            type: object
          status:
            description: BackingImageStatus defines the observed state of the Longhorn backing image status
            properties:
              checksum:
                type: string
              diskFileStatusMap:
                additionalProperties:
                  properties:
                    lastStateTransitionTime:
                      type: string
                    message:
                      type: string
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              diskLastRefAtMap:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              ownerID:
                type: string
              size:
                format: int64
                type: integer
              uuid:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    longhorn-manager: ""
  name: backupbackingimages.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: BackupBackingImage
    listKind: BackupBackingImageList
    plural: backupbackingimages
    shortNames:
    - lhbbi
    singular: backupbackingimage
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The backing image name
      jsonPath: .status.backingImage
      name: BackingImage
      type: string
    - description: The backing image size
      jsonPath: .status.size
      name: Size
      type: string
    - description: The backing image backup upload finished time
      jsonPath: .status.backupCreatedAt
      name: BackupCreatedAt
      type: string
    - description: The backing image backup state
      jsonPath: .status.state
      name: State
      type: string
    - description: The last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackupBackingImage is where Longhorn stores backing image backup object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: BackupBackingImageSpec defines the desired state of the Longhorn backing image backup
            properties:
              labels:
                additionalProperties:
                  type: string
                description: The labels of backing image backup.
                type: object
              syncRequestedAt:
                description: The time to request run sync the remote backing image backup.
                format: date-time
                nullable: true
                type: string
              userCreated:
                description: Is this CR created by user through API or UI. Required
                type: boolean
            required:
            - userCreated
            type: object
          status:
            description: BackupBackingImageStatus defines the observed state of the Longhorn backing image backup
            properties:
              backingImage:
                description: The backing image name.
                type: string
              backupCreatedAt:
                description: The backing image backup upload finished time.
                type: string
              checksum:
                description: The checksum of the backing image.
                type: string
              compressionMethod:
                description: Compression method
                type: string
              error:
                description: The error message when taking the backing image backup.
                type: string
              labels:
                additionalProperties:
                  type: string
                description: The labels of backing image backup.
                nullable: true
                type: object
              lastSyncedAt:
                description: The last time that the backing image backup was synced with the remote backup target.
                format: date-time
                nullable: true
                type: string
              managerAddress:
                description: The address of the backing image manager that runs backing image backup.
                type: string
              messages:
                additionalProperties:
                  type: string
                description: The error messages when listing or inspecting backing image backup.
                nullable: true
                type: object
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this CR.
                type: string
              progress:
                description: The backing image backup progress.
                type: integer
              size:
                description: The backing image size.
                format: int64
                type: integer
              state:
                description: The backing image backup creation state. Can be "", "InProgress", "Completed", "Error", "Unknown".
                type: string
              url:
                description: The backing image backup URL.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: backups.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Backup
    listKind: BackupList
    plural: backups
    shortNames:
    - lhb
    singular: backup
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The snapshot name
      jsonPath: .status.snapshotName
      name: SnapshotName
      type: string
    - description: The snapshot size
      jsonPath: .status.size
      name: SnapshotSize
      type: string
    - description: The snapshot creation time
      jsonPath: .status.snapshotCreatedAt
      name: SnapshotCreatedAt
      type: string
    - description: The backup state
      jsonPath: .status.state
      name: State
      type: string
    - description: The backup last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Backup is where Longhorn stores backup object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The snapshot name
      jsonPath: .status.snapshotName
      name: SnapshotName
      type: string
    - description: The snapshot size
      jsonPath: .status.size
      name: SnapshotSize
      type: string
    - description: The snapshot creation time
      jsonPath: .status.snapshotCreatedAt
      name: SnapshotCreatedAt
      type: string
    - description: The backup state
      jsonPath: .status.state
      name: State
      type: string
    - description: The backup last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Backup is where Longhorn stores backup object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: BackupSpec defines the desired state of the Longhorn backup
            properties:
              labels:
                additionalProperties:
                  type: string
                description: The labels of snapshot backup.
                type: object
              snapshotName:
                description: The snapshot name.
                type: string
              syncRequestedAt:
                description: The time to request run sync the remote backup.
                format: date-time
                nullable: true
                type: string
            type: object
          status:
            description: BackupStatus defines the observed state of the Longhorn backup
            properties:
              backupCreatedAt:
                description: The snapshot backup upload finished time.
                type: string
              compressionMethod:
                description: Compression method
                type: string
              error:
                description: The error message when taking the snapshot backup.
                type: string
              labels:
                additionalProperties:
                  type: string
                description: The labels of snapshot backup.
                nullable: true
                type: object
              lastSyncedAt:
                description: The last time that the backup was synced with the remote backup target.
                format: date-time
                nullable: true
                type: string
              messages:
                additionalProperties:
                  type: string
                description: The error messages when calling longhorn engine on listing or inspecting backups.
                nullable: true
                type: object
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this backup CR.
                type: string
              progress:
                description: The snapshot backup progress.
                type: integer
              replicaAddress:
                description: The address of the replica that runs snapshot backup.
                type: string
              size:
                description: The snapshot size.
                type: string
              snapshotCreatedAt:
                description: The snapshot creation time.
                type: string
              snapshotName:
                description: The snapshot name.
                type: string
              state:
                description: The backup creation state. Can be "", "InProgress", "Completed", "Error", "Unknown".
                type: string
              url:
                description: The snapshot backup URL.
                type: string
              volumeBackingImageName:
                description: The volume's backing image name.
                type: string
              volumeCreated:
                description: The volume creation time.
                type: string
              volumeName:
                description: The volume name.
                type: string
              volumeSize:
                description: The volume size.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: backuptargets.longhorn.io
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: longhorn-system
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: BackupTarget
    listKind: BackupTargetList
    plural: backuptargets
    shortNames:
    - lhbt
    singular: backuptarget
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The backup target URL
      jsonPath: .spec.backupTargetURL
      name: URL
      type: string
    - description: The backup target credential secret
      jsonPath: .spec.credentialSecret
      name: Credential
      type: string
    - description: The backup target poll interval
      jsonPath: .spec.pollInterval
      name: LastBackupAt
      type: string
    - description: Indicate whether the backup target is available or not
      jsonPath: .status.available
      name: Available
      type: boolean
    - description: The backup target last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackupTarget is where Longhorn stores backup target object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The backup target URL
      jsonPath: .spec.backupTargetURL
      name: URL
      type: string
    - description: The backup target credential secret
      jsonPath: .spec.credentialSecret
      name: Credential
      type: string
    - description: The backup target poll interval
      jsonPath: .spec.pollInterval
      name: LastBackupAt
      type: string
    - description: Indicate whether the backup target is available or not
      jsonPath: .status.available
      name: Available
      type: boolean
    - description: The backup target last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackupTarget is where Longhorn stores backup target object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: BackupTargetSpec defines the desired state of the Longhorn backup target
            properties:
              backupTargetURL:
                description: The backup target URL.
                type: string
              credentialSecret:
                description: The backup target credential secret.
                type: string
              pollInterval:
                description: The interval that the cluster needs to run sync with the backup target.
                type: string
              syncRequestedAt:
                description: The time to request run sync the remote backup target.
                format: date-time
                nullable: true
                type: string
            type: object
          status:
            description: BackupTargetStatus defines the observed state of the Longhorn backup target
            properties:
              available:
                description: Available indicates if the remote backup target is available or not.
                type: boolean
              conditions:
                description: Records the reason on why the backup target is unavailable.
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              lastSyncedAt:
                description: The last time that the controller synced with the remote backup target.
                format: date-time
                nullable: true
                type: string
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this backup target CR.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: backupvolumes.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: BackupVolume
    listKind: BackupVolumeList
    plural: backupvolumes
    shortNames:
    - lhbv
    singular: backupvolume
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The backup volume creation time
      jsonPath: .status.createdAt
      name: CreatedAt
      type: string
    - description: The backup volume last backup name
      jsonPath: .status.lastBackupName
      name: LastBackupName
      type: string
    - description: The backup volume last backup time
      jsonPath: .status.lastBackupAt
      name: LastBackupAt
      type: string
    - description: The backup volume last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackupVolume is where Longhorn stores backup volume object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The backup volume creation time
      jsonPath: .status.createdAt
      name: CreatedAt
      type: string
    - description: The backup volume last backup name
      jsonPath: .status.lastBackupName
      name: LastBackupName
      type: string
    - description: The backup volume last backup time
      jsonPath: .status.lastBackupAt
      name: LastBackupAt
      type: string
    - description: The backup volume last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackupVolume is where Longhorn stores backup volume object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: BackupVolumeSpec defines the desired state of the Longhorn backup volume
            properties:
              syncRequestedAt:
                description: The time to request run sync the remote backup volume.
                format: date-time
                nullable: true
                type: string
            type: object
          status:
            description: BackupVolumeStatus defines the observed state of the Longhorn backup volume
            properties:
              backingImageChecksum:
                description: the backing image checksum.
                type: string
              backingImageName:
                description: The backing image name.
                type: string
              createdAt:
                description: The backup volume creation time.
                type: string
              dataStored:
                description: The backup volume block count.
                type: string
              labels:
                additionalProperties:
                  type: string
                description: The backup volume labels.
                nullable: true
                type: object
              lastBackupAt:
                description: The latest volume backup time.
                type: string
              lastBackupName:
                description: The latest volume backup name.
                type: string
              lastModificationTime:
                description: The backup volume config last modification time.
                format: date-time
                nullable: true
                type: string
              lastSyncedAt:
                description: The last time that the backup volume was synced into the cluster.
                format: date-time
                nullable: true
                type: string
              messages:
                additionalProperties:
                  type: string
                description: The error messages when call longhorn engine on list or inspect backup volumes.
                nullable: true
                type: object
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this backup volume CR.
                type: string
              size:
                description: The backup volume size.
                type: string
              storageClassName:
                description: the storage class name of pv/pvc binding with the volume.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: engineimages.longhorn.io
spec:
  preserveUnknownFields: false
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: longhorn-system
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: EngineImage
    listKind: EngineImageList
    plural: engineimages
    shortNames:
    - lhei
    singular: engineimage
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: State of the engine image
      jsonPath: .status.state
      name: State
      type: string
    - description: The Longhorn engine image
      jsonPath: .spec.image
      name: Image
      type: string
    - description: Number of resources using the engine image
      jsonPath: .status.refCount
      name: RefCount
      type: integer
    - description: The build date of the engine image
      jsonPath: .status.buildDate
      name: BuildDate
      type: date
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: EngineImage is where Longhorn stores engine image object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: Compatibility of the engine image
      jsonPath: .status.incompatible
      name: Incompatible
      type: boolean
    - description: State of the engine image
      jsonPath: .status.state
      name: State
      type: string
    - description: The Longhorn engine image
      jsonPath: .spec.image
      name: Image
      type: string
    - description: Number of resources using the engine image
      jsonPath: .status.refCount
      name: RefCount
      type: integer
    - description: The build date of the engine image
      jsonPath: .status.buildDate
      name: BuildDate
      type: date
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: EngineImage is where Longhorn stores engine image object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: EngineImageSpec defines the desired state of the Longhorn engine image
            properties:
              image:
                minLength: 1
                type: string
            required:
            - image
            type: object
          status:
            description: EngineImageStatus defines the observed state of the Longhorn engine image
            properties:
              buildDate:
                type: string
              cliAPIMinVersion:
                type: integer
              cliAPIVersion:
                type: integer
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              controllerAPIMinVersion:
                type: integer
              controllerAPIVersion:
                type: integer
              dataFormatMinVersion:
                type: integer
              dataFormatVersion:
                type: integer
              gitCommit:
                type: string
              incompatible:
                type: boolean
              noRefSince:
                type: string
              nodeDeploymentMap:
                additionalProperties:
                  type: boolean
                nullable: true
                type: object
              ownerID:
                type: string
              refCount:
                type: integer
              state:
                type: string
              version:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: engines.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Engine
    listKind: EngineList
    plural: engines
    shortNames:
    - lhe
    singular: engine
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the engine
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the engine is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The instance manager of the engine
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the engine
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Engine is where Longhorn stores engine object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The data engine of the engine
      jsonPath: .spec.dataEngine
      name: Data Engine
      type: string
    - description: The current state of the engine
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the engine is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The instance manager of the engine
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the engine
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Engine is where Longhorn stores engine object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: EngineSpec defines the desired state of the Longhorn engine
            properties:
              active:
                type: boolean
              backendStoreDriver:
                description: 'Deprecated: Replaced by field `dataEngine`.'
                type: string
              backupVolume:
                type: string
              dataEngine:
                enum:
                - v1
                - v2
                type: string
              desireState:
                type: string
              disableFrontend:
                type: boolean
              engineImage:
                description: 'Deprecated: Replaced by field `image`.'
                type: string
              frontend:
                enum:
                - blockdev
                - iscsi
                - nvmf
                - ""
                type: string
              image:
                type: string
              logRequested:
                type: boolean
              nodeID:
                type: string
              replicaAddressMap:
                additionalProperties:
                  type: string
                type: object
              requestedBackupRestore:
                type: string
              requestedDataSource:
                type: string
              revisionCounterDisabled:
                type: boolean
              salvageRequested:
                type: boolean
              snapshotMaxCount:
                type: integer
              snapshotMaxSize:
                format: int64
                type: string
              unmapMarkSnapChainRemovedEnabled:
                type: boolean
              upgradedReplicaAddressMap:
                additionalProperties:
                  type: string
                type: object
              volumeName:
                type: string
              volumeSize:
                format: int64
                type: string
            type: object
          status:
            description: EngineStatus defines the observed state of the Longhorn engine
            properties:
              backupStatus:
                additionalProperties:
                  properties:
                    backupURL:
                      type: string
                    error:
                      type: string
                    progress:
                      type: integer
                    replicaAddress:
                      type: string
                    snapshotName:
                      type: string
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              cloneStatus:
                additionalProperties:
                  properties:
                    error:
                      type: string
                    fromReplicaAddress:
                      type: string
                    isCloning:
                      type: boolean
                    progress:
                      type: integer
                    snapshotName:
                      type: string
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              currentImage:
                type: string
              currentReplicaAddressMap:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              currentSize:
                format: int64
                type: string
              currentState:
                type: string
              endpoint:
                type: string
              instanceManagerName:
                type: string
              ip:
                type: string
              isExpanding:
                type: boolean
              lastExpansionError:
                type: string
              lastExpansionFailedAt:
                type: string
              lastRestoredBackup:
                type: string
              logFetched:
                type: boolean
              ownerID:
                type: string
              port:
                type: integer
              purgeStatus:
                additionalProperties:
                  properties:
                    error:
                      type: string
                    isPurging:
                      type: boolean
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              rebuildStatus:
                additionalProperties:
                  properties:
                    error:
                      type: string
                    fromReplicaAddress:
                      type: string
                    isRebuilding:
                      type: boolean
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              replicaModeMap:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              restoreStatus:
                additionalProperties:
                  properties:
                    backupURL:
                      type: string
                    currentRestoringBackup:
                      type: string
                    error:
                      type: string
                    filename:
                      type: string
                    isRestoring:
                      type: boolean
                    lastRestored:
                      type: string
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              salvageExecuted:
                type: boolean
              snapshotMaxCount:
                type: integer
              snapshotMaxSize:
                format: int64
                type: string
              snapshots:
                additionalProperties:
                  properties:
                    children:
                      additionalProperties:
                        type: boolean
                      nullable: true
                      type: object
                    created:
                      type: string
                    labels:
                      additionalProperties:
                        type: string
                      nullable: true
                      type: object
                    name:
                      type: string
                    parent:
                      type: string
                    removed:
                      type: boolean
                    size:
                      type: string
                    usercreated:
                      type: boolean
                  type: object
                nullable: true
                type: object
              snapshotsError:
                type: string
              started:
                type: boolean
              storageIP:
                type: string
              unmapMarkSnapChainRemovedEnabled:
                type: boolean
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: instancemanagers.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: InstanceManager
    listKind: InstanceManagerList
    plural: instancemanagers
    shortNames:
    - lhim
    singular: instancemanager
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the instance manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The type of the instance manager (engine or replica)
      jsonPath: .spec.type
      name: Type
      type: string
    - description: The node that the instance manager is running on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: InstanceManager is where Longhorn stores instance manager object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The data engine of the instance manager
      jsonPath: .spec.dataEngine
      name: Data Engine
      type: string
    - description: The state of the instance manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The type of the instance manager (engine or replica)
      jsonPath: .spec.type
      name: Type
      type: string
    - description: The node that the instance manager is running on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: InstanceManager is where Longhorn stores instance manager object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: InstanceManagerSpec defines the desired state of the Longhorn instance manager
            properties:
              dataEngine:
                type: string
              image:
                type: string
              nodeID:
                type: string
              type:
                enum:
                - aio
                - engine
                - replica
                type: string
            type: object
          status:
            description: InstanceManagerStatus defines the observed state of the Longhorn instance manager
            properties:
              apiMinVersion:
                type: integer
              apiVersion:
                type: integer
              proxyApiMinVersion:
                type: integer
              proxyApiVersion:
                type: integer
              currentState:
                type: string
              instanceEngines:
                additionalProperties:
                  properties:
                    spec:
                      properties:
                        backendStoreDriver:
                          description: 'Deprecated: Replaced by field `dataEngine`.'
                          type: string
                        dataEngine:
                          type: string
                        name:
                          type: string
                      type: object
                    status:
                      properties:
                        conditions:
                          additionalProperties:
                            type: boolean
                          type: object
                        endpoint:
                          type: string
                        errorMsg:
                          type: string
                        listen:
                          type: string
                        portEnd:
                          format: int32
                          type: integer
                        portStart:
                          format: int32
                          type: integer
                        resourceVersion:
                          format: int64
                          type: integer
                        state:
                          type: string
                        type:
                          type: string
                      type: object
                  type: object
                nullable: true
                type: object
              instanceReplicas:
                additionalProperties:
                  properties:
                    spec:
                      properties:
                        backendStoreDriver:
                          description: 'Deprecated: Replaced by field `dataEngine`.'
                          type: string
                        dataEngine:
                          type: string
                        name:
                          type: string
                      type: object
                    status:
                      properties:
                        conditions:
                          additionalProperties:
                            type: boolean
                          type: object
                        endpoint:
                          type: string
                        errorMsg:
                          type: string
                        listen:
                          type: string
                        portEnd:
                          format: int32
                          type: integer
                        portStart:
                          format: int32
                          type: integer
                        resourceVersion:
                          format: int64
                          type: integer
                        state:
                          type: string
                        type:
                          type: string
                      type: object
                  type: object
                nullable: true
                type: object
              instances:
                additionalProperties:
                  properties:
                    spec:
                      properties:
                        backendStoreDriver:
                          description: 'Deprecated: Replaced by field `dataEngine`.'
                          type: string
                        dataEngine:
                          type: string
                        name:
                          type: string
                      type: object
                    status:
                      properties:
                        conditions:
                          additionalProperties:
                            type: boolean
                          type: object
                        endpoint:
                          type: string
                        errorMsg:
                          type: string
                        listen:
                          type: string
                        portEnd:
                          format: int32
                          type: integer
                        portStart:
                          format: int32
                          type: integer
                        resourceVersion:
                          format: int64
                          type: integer
                        state:
                          type: string
                        type:
                          type: string
                      type: object
                  type: object
                nullable: true
                description: 'Deprecated: Replaced by InstanceEngines and InstanceReplicas'
                type: object
              ip:
                type: string
              ownerID:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: nodes.longhorn.io
spec:
  preserveUnknownFields: false
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: longhorn-system
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: Node
    listKind: NodeList
    plural: nodes
    shortNames:
    - lhn
    singular: node
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: Indicate whether the node is ready
      jsonPath: .status.conditions['Ready']['status']
      name: Ready
      type: string
    - description: Indicate whether the user disabled/enabled replica scheduling for the node
      jsonPath: .spec.allowScheduling
      name: AllowScheduling
      type: boolean
    - description: Indicate whether Longhorn can schedule replicas on the node
      jsonPath: .status.conditions['Schedulable']['status']
      name: Schedulable
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Node is where Longhorn stores Longhorn node object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: Indicate whether the node is ready
      jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - description: Indicate whether the user disabled/enabled replica scheduling for the node
      jsonPath: .spec.allowScheduling
      name: AllowScheduling
      type: boolean
    - description: Indicate whether Longhorn can schedule replicas on the node
      jsonPath: .status.conditions[?(@.type=='Schedulable')].status
      name: Schedulable
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Node is where Longhorn stores Longhorn node object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: NodeSpec defines the desired state of the Longhorn node
            properties:
              allowScheduling:
                description: Allow scheduling replicas on the node.
                type: boolean
              disks:
                additionalProperties:
                  properties:
                    allowScheduling:
                      type: boolean
                    diskType:
                      enum:
                      - filesystem
                      - block
                      type: string
                    evictionRequested:
                      type: boolean
                    path:
                      type: string
                    storageReserved:
                      format: int64
                      type: integer
                    tags:
                      items:
                        type: string
                      type: array
                  type: object
                type: object
              evictionRequested:
                type: boolean
              instanceManagerCPURequest:
                type: integer
              name:
                type: string
              tags:
                items:
                  type: string
                type: array
            type: object
          status:
            description: NodeStatus defines the observed state of the Longhorn node
            properties:
              autoEvicting:
                type: boolean
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              diskStatus:
                additionalProperties:
                  properties:
                    conditions:
                      items:
                        properties:
                          lastProbeTime:
                            description: Last time we probed the condition.
                            type: string
                          lastTransitionTime:
                            description: Last time the condition transitioned from one status to another.
                            type: string
                          message:
                            description: Human-readable message indicating details about last transition.
                            type: string
                          reason:
                            description: Unique, one-word, CamelCase reason for the condition's last transition.
                            type: string
                          status:
                            description: Status is the status of the condition. Can be True, False, Unknown.
                            type: string
                          type:
                            description: Type is the type of the condition.
                            type: string
                        type: object
                      nullable: true
                      type: array
                    diskType:
                      type: string
                    diskUUID:
                      type: string
                    filesystemType:
                      type: string
                    scheduledReplica:
                      additionalProperties:
                        format: int64
                        type: integer
                      nullable: true
                      type: object
                    storageAvailable:
                      format: int64
                      type: integer
                    storageMaximum:
                      format: int64
                      type: integer
                    storageScheduled:
                      format: int64
                      type: integer
                  type: object
                description: The status of the disks on the node.
                nullable: true
                type: object
              region:
                description: The Region of the node.
                type: string
              snapshotCheckStatus:
                description: The status of the snapshot integrity check.
                properties:
                  lastPeriodicCheckedAt:
                    format: date-time
                    type: string
                type: object
              zone:
                description: The Zone of the node.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: orphans.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Orphan
    listKind: OrphanList
    plural: orphans
    shortNames:
    - lho
    singular: orphan
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The type of the orphan
      jsonPath: .spec.orphanType
      name: Type
      type: string
    - description: The node that the orphan is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Orphan is where Longhorn stores orphan object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: OrphanSpec defines the desired state of the Longhorn orphaned data
            properties:
              nodeID:
                description: The node ID on which the controller is responsible to reconcile this orphan CR.
                type: string
              orphanType:
                description: The type of the orphaned data. Can be "replica".
                type: string
              parameters:
                additionalProperties:
                  type: string
                description: The parameters of the orphaned data
                type: object
            type: object
          status:
            description: OrphanStatus defines the observed state of the Longhorn orphaned data
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              ownerID:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    longhorn-manager: ""
  name: recurringjobs.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: RecurringJob
    listKind: RecurringJobList
    plural: recurringjobs
    shortNames:
    - lhrj
    singular: recurringjob
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: Sets groupings to the jobs. When set to "default" group will be added to the volume label when no other job label exist in volume
      jsonPath: .spec.groups
      name: Groups
      type: string
    - description: Should be one of "backup" or "snapshot"
      jsonPath: .spec.task
      name: Task
      type: string
    - description: The cron expression represents recurring job scheduling
      jsonPath: .spec.cron
      name: Cron
      type: string
    - description: The number of snapshots/backups to keep for the volume
      jsonPath: .spec.retain
      name: Retain
      type: integer
    - description: The concurrent job to run by each cron job
      jsonPath: .spec.concurrency
      name: Concurrency
      type: integer
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Specify the labels
      jsonPath: .spec.labels
      name: Labels
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: RecurringJob is where Longhorn stores recurring job object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: Sets groupings to the jobs. When set to "default" group will be added to the volume label when no other job label exist in volume
      jsonPath: .spec.groups
      name: Groups
      type: string
    - description: Should be one of "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup", "backup-force-create" or "filesystem-trim"
      jsonPath: .spec.task
      name: Task
      type: string
    - description: The cron expression represents recurring job scheduling
      jsonPath: .spec.cron
      name: Cron
      type: string
    - description: The number of snapshots/backups to keep for the volume
      jsonPath: .spec.retain
      name: Retain
      type: integer
    - description: The concurrent job to run by each cron job
      jsonPath: .spec.concurrency
      name: Concurrency
      type: integer
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Specify the labels
      jsonPath: .spec.labels
      name: Labels
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: RecurringJob is where Longhorn stores recurring job object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: RecurringJobSpec defines the desired state of the Longhorn recurring job
            properties:
              concurrency:
                description: The concurrency of taking the snapshot/backup.
                type: integer
              cron:
                description: The cron setting.
                type: string
              groups:
                description: The recurring job group.
                items:
                  type: string
                type: array
              labels:
                additionalProperties:
                  type: string
                description: The label of the snapshot/backup.
                type: object
              name:
                description: The recurring job name.
                type: string
              retain:
                description: The retain count of the snapshot/backup.
                type: integer
              task:
                description: The recurring job task. Can be "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup", "backup-force-create" or "filesystem-trim"
                enum:
                - snapshot
                - snapshot-force-create
                - snapshot-cleanup
                - snapshot-delete
                - backup
                - backup-force-create
                - filesystem-trim
                type: string
            type: object
          status:
            description: RecurringJobStatus defines the observed state of the Longhorn recurring job
            properties:
              ownerID:
                description: The owner ID which is responsible to reconcile this recurring job CR.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: replicas.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Replica
    listKind: ReplicaList
    plural: replicas
    shortNames:
    - lhr
    singular: replica
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the replica
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the replica is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk that the replica is on
      jsonPath: .spec.diskID
      name: Disk
      type: string
    - description: The instance manager of the replica
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the replica
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Replica is where Longhorn stores replica object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The data engine of the replica
      jsonPath: .spec.dataEngine
      name: Data Engine
      type: string
    - description: The current state of the replica
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the replica is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk that the replica is on
      jsonPath: .spec.diskID
      name: Disk
      type: string
    - description: The instance manager of the replica
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the replica
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Replica is where Longhorn stores replica object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: ReplicaSpec defines the desired state of the Longhorn replica
            properties:
              active:
                type: boolean
              backendStoreDriver:
                description: 'Deprecated: Replaced by field `dataEngine`.'
                type: string
              backingImage:
                type: string
              dataDirectoryName:
                type: string
              dataEngine:
                enum:
                - v1
                - v2
                type: string
              desireState:
                type: string
              diskID:
                type: string
              diskPath:
                type: string
              engineImage:
                description: 'Deprecated: Replaced by field `image`.'
                type: string
              engineName:
                type: string
              evictionRequested:
                type: boolean
              failedAt:
                type: string
              hardNodeAffinity:
                type: string
              healthyAt:
                type: string
              image:
                type: string
              logRequested:
                type: boolean
              nodeID:
                type: string
              rebuildRetryCount:
                type: integer
              revisionCounterDisabled:
                type: boolean
              salvageRequested:
                type: boolean
              snapshotMaxCount:
                type: integer
              snapshotMaxSize:
                format: int64
                type: string
              unmapMarkDiskChainRemovedEnabled:
                type: boolean
              volumeName:
                type: string
              volumeSize:
                format: int64
                type: string
            type: object
          status:
            description: ReplicaStatus defines the observed state of the Longhorn replica
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              currentImage:
                type: string
              currentState:
                type: string
              evictionRequested:
                description: 'Deprecated: Replaced by field `spec.evictionRequested`.'
                type: boolean
              instanceManagerName:
                type: string
              ip:
                type: string
              logFetched:
                type: boolean
              ownerID:
                type: string
              port:
                type: integer
              salvageExecuted:
                type: boolean
              started:
                type: boolean
              storageIP:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: settings.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Setting
    listKind: SettingList
    plural: settings
    shortNames:
    - lhs
    singular: setting
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The value of the setting
      jsonPath: .value
      name: Value
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Setting is where Longhorn stores setting object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          value:
            type: string
        required:
        - value
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The value of the setting
      jsonPath: .value
      name: Value
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Setting is where Longhorn stores setting object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          value:
            description: The value of the setting.
            type: string
        required:
        - value
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: sharemanagers.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: ShareManager
    listKind: ShareManagerList
    plural: sharemanagers
    shortNames:
    - lhsm
    singular: sharemanager
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the share manager
      jsonPath: .status.state
      name: State
      type: string
    - description: The node that the share manager is owned by
      jsonPath: .status.ownerID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: ShareManager is where Longhorn stores share manager object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The state of the share manager
      jsonPath: .status.state
      name: State
      type: string
    - description: The node that the share manager is owned by
      jsonPath: .status.ownerID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: ShareManager is where Longhorn stores share manager object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: ShareManagerSpec defines the desired state of the Longhorn share manager
            properties:
              image:
                description: Share manager image used for creating a share manager pod
                type: string
            type: object
          status:
            description: ShareManagerStatus defines the observed state of the Longhorn share manager
            properties:
              endpoint:
                description: NFS endpoint that can access the mounted filesystem of the volume
                type: string
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this share manager resource
                type: string
              state:
                description: The state of the share manager resource
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: snapshots.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Snapshot
    listKind: SnapshotList
    plural: snapshots
    shortNames:
    - lhsnap
    singular: snapshot
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The volume that this snapshot belongs to
      jsonPath: .spec.volume
      name: Volume
      type: string
    - description: Timestamp when the point-in-time snapshot was taken
      jsonPath: .status.creationTime
      name: CreationTime
      type: string
    - description: Indicates if the snapshot is ready to be used to restore/backup a volume
      jsonPath: .status.readyToUse
      name: ReadyToUse
      type: boolean
    - description: Represents the minimum size of volume required to rehydrate from this snapshot
      jsonPath: .status.restoreSize
      name: RestoreSize
      type: string
    - description: The actual size of the snapshot
      jsonPath: .status.size
      name: Size
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Snapshot is the Schema for the snapshots API
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: SnapshotSpec defines the desired state of Longhorn Snapshot
            properties:
              createSnapshot:
                description: require creating a new snapshot
                type: boolean
              labels:
                additionalProperties:
                  type: string
                description: The labels of snapshot
                nullable: true
                type: object
              volume:
                description: the volume that this snapshot belongs to. This field is immutable after creation. Required
                type: string
            required:
            - volume
            type: object
          status:
            description: SnapshotStatus defines the observed state of Longhorn Snapshot
            properties:
              checksum:
                type: string
              children:
                additionalProperties:
                  type: boolean
                nullable: true
                type: object
              creationTime:
                type: string
              error:
                type: string
              labels:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              markRemoved:
                type: boolean
              ownerID:
                type: string
              parent:
                type: string
              readyToUse:
                type: boolean
              restoreSize:
                format: int64
                type: integer
              size:
                format: int64
                type: integer
              userCreated:
                type: boolean
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: supportbundles.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: SupportBundle
    listKind: SupportBundleList
    plural: supportbundles
    shortNames:
    - lhbundle
    singular: supportbundle
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the support bundle
      jsonPath: .status.state
      name: State
      type: string
    - description: The issue URL
      jsonPath: .spec.issueURL
      name: Issue
      type: string
    - description: A brief description of the issue
      jsonPath: .spec.description
      name: Description
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: SupportBundle is where Longhorn stores support bundle object
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: SupportBundleSpec defines the desired state of the Longhorn SupportBundle
            properties:
              description:
                description: A brief description of the issue
                type: string
              issueURL:
                description: The issue URL
                nullable: true
                type: string
              nodeID:
                description: The preferred responsible controller node ID.
                type: string
            required:
            - description
            type: object
          status:
            description: SupportBundleStatus defines the observed state of the Longhorn SupportBundle
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                type: array
              filename:
                type: string
              filesize:
                format: int64
                type: integer
              image:
                description: The support bundle manager image
                type: string
              managerIP:
                description: The support bundle manager IP
                type: string
              ownerID:
                description: The current responsible controller node ID
                type: string
              progress:
                type: integer
              state:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: systembackups.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: SystemBackup
    listKind: SystemBackupList
    plural: systembackups
    shortNames:
    - lhsb
    singular: systembackup
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The system backup Longhorn version
      jsonPath: .status.version
      name: Version
      type: string
    - description: The system backup state
      jsonPath: .status.state
      name: State
      type: string
    - description: The system backup creation time
      jsonPath: .status.createdAt
      name: Created
      type: string
    - description: The last time that the system backup was synced into the cluster
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: SystemBackup is where Longhorn stores system backup object
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: SystemBackupSpec defines the desired state of the Longhorn SystemBackup
            properties:
              volumeBackupPolicy:
                description: The create volume backup policy Can be "if-not-present", "always" or "disabled"
                nullable: true
                type: string
            type: object
          status:
            description: SystemBackupStatus defines the observed state of the Longhorn SystemBackup
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              createdAt:
                description: The system backup creation time.
                format: date-time
                type: string
              gitCommit:
                description: The saved Longhorn manager git commit.
                nullable: true
                type: string
              lastSyncedAt:
                description: The last time that the system backup was synced into the cluster.
                format: date-time
                nullable: true
                type: string
              managerImage:
                description: The saved manager image.
                type: string
              ownerID:
                description: The node ID of the responsible controller to reconcile this SystemBackup.
                type: string
              state:
                description: The system backup state.
                type: string
              version:
                description: The saved Longhorn version.
                nullable: true
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: systemrestores.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: SystemRestore
    listKind: SystemRestoreList
    plural: systemrestores
    shortNames:
    - lhsr
    singular: systemrestore
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The system restore state
      jsonPath: .status.state
      name: State
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: SystemRestore is where Longhorn stores system restore object
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: SystemRestoreSpec defines the desired state of the Longhorn SystemRestore
            properties:
              systemBackup:
                description: The system backup name in the object store.
                type: string
            required:
            - systemBackup
            type: object
          status:
            description: SystemRestoreStatus defines the observed state of the Longhorn SystemRestore
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              ownerID:
                description: The node ID of the responsible controller to reconcile this SystemRestore.
                type: string
              sourceURL:
                description: The source system backup URL.
                type: string
              state:
                description: The system restore state.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: volumes.longhorn.io
spec:
  preserveUnknownFields: false
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: longhorn-system
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: Volume
    listKind: VolumeList
    plural: volumes
    shortNames:
    - lhv
    singular: volume
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the volume
      jsonPath: .status.state
      name: State
      type: string
    - description: The robustness of the volume
      jsonPath: .status.robustness
      name: Robustness
      type: string
    - description: The scheduled condition of the volume
      jsonPath: .status.conditions['scheduled']['status']
      name: Scheduled
      type: string
    - description: The size of the volume
      jsonPath: .spec.size
      name: Size
      type: string
    - description: The node that the volume is currently attaching to
      jsonPath: .status.currentNodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Volume is where Longhorn stores volume object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The data engine of the volume
      jsonPath: .spec.dataEngine
      name: Data Engine
      type: string
    - description: The state of the volume
      jsonPath: .status.state
      name: State
      type: string
    - description: The robustness of the volume
      jsonPath: .status.robustness
      name: Robustness
      type: string
    - description: The scheduled condition of the volume
      jsonPath: .status.conditions[?(@.type=='Schedulable')].status
      name: Scheduled
      type: string
    - description: The size of the volume
      jsonPath: .spec.size
      name: Size
      type: string
    - description: The node that the volume is currently attaching to
      jsonPath: .status.currentNodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Volume is where Longhorn stores volume object.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: VolumeSpec defines the desired state of the Longhorn volume
            properties:
              Standby:
                type: boolean
              accessMode:
                enum:
                - rwo
                - rwx
                type: string
              backendStoreDriver:
                description: 'Deprecated: Replaced by field `dataEngine`.'
                type: string
              backingImage:
                type: string
              backupCompressionMethod:
                enum:
                - none
                - lz4
                - gzip
                type: string
              dataEngine:
                enum:
                - v1
                - v2
                type: string
              dataLocality:
                enum:
                - disabled
                - best-effort
                - strict-local
                type: string
              dataSource:
                type: string
              disableFrontend:
                type: boolean
              diskSelector:
                items:
                  type: string
                type: array
              encrypted:
                type: boolean
              engineImage:
                description: 'Deprecated: Replaced by field `image`.'
                type: string
              fromBackup:
                type: string
              frontend:
                enum:
                - blockdev
                - iscsi
                - nvmf
                - ""
                type: string
              image:
                type: string
              lastAttachedBy:
                type: string
              migratable:
                type: boolean
              migrationNodeID:
                type: string
              nodeID:
                type: string
              nodeSelector:
                items:
                  type: string
                type: array
              numberOfReplicas:
                type: integer
              offlineReplicaRebuilding:
                description: OfflineReplicaRebuilding is used to determine if the offline replica rebuilding feature is enabled or not
                enum:
                - ignored
                - disabled
                - enabled
                type: string
              replicaAutoBalance:
                enum:
                - ignored
                - disabled
                - least-effort
                - best-effort
                type: string
              replicaDiskSoftAntiAffinity:
                description: Replica disk soft anti affinity of the volume. Set enabled to allow replicas to be scheduled in the same disk.
                enum:
                - ignored
                - enabled
                - disabled
                type: string
              replicaSoftAntiAffinity:
                description: Replica soft anti affinity of the volume. Set enabled to allow replicas to be scheduled on the same node.
                enum:
                - ignored
                - enabled
                - disabled
                type: string
              replicaZoneSoftAntiAffinity:
                description: Replica zone soft anti affinity of the volume. Set enabled to allow replicas to be scheduled in the same zone.
                enum:
                - ignored
                - enabled
                - disabled
                type: string
              restoreVolumeRecurringJob:
                enum:
                - ignored
                - enabled
                - disabled
                type: string
              revisionCounterDisabled:
                type: boolean
              size:
                format: int64
                type: string
              snapshotDataIntegrity:
                enum:
                - ignored
                - disabled
                - enabled
                - fast-check
                type: string
              snapshotMaxCount:
                type: integer
              snapshotMaxSize:
                format: int64
                type: string
              staleReplicaTimeout:
                type: integer
              unmapMarkSnapChainRemoved:
                enum:
                - ignored
                - disabled
                - enabled
                type: string
            type: object
          status:
            description: VolumeStatus defines the observed state of the Longhorn volume
            properties:
              actualSize:
                format: int64
                type: integer
              cloneStatus:
                properties:
                  snapshot:
                    type: string
                  sourceVolume:
                    type: string
                  state:
                    type: string
                type: object
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              currentImage:
                type: string
              currentMigrationNodeID:
                description: the node that this volume is currently migrating to
                type: string
              currentNodeID:
                type: string
              expansionRequired:
                type: boolean
              frontendDisabled:
                type: boolean
              isStandby:
                type: boolean
              kubernetesStatus:
                properties:
                  lastPVCRefAt:
                    type: string
                  lastPodRefAt:
                    type: string
                  namespace:
                    description: determine if PVC/Namespace is history or not
                    type: string
                  pvName:
                    type: string
                  pvStatus:
                    type: string
                  pvcName:
                    type: string
                  workloadsStatus:
                    description: determine if Pod/Workload is history or not
                    items:
                      properties:
                        podName:
                          type: string
                        podStatus:
                          type: string
                        workloadName:
                          type: string
                        workloadType:
                          type: string
                      type: object
                    nullable: true
                    type: array
                type: object
              lastBackup:
                type: string
              lastBackupAt:
                type: string
              lastDegradedAt:
                type: string
              offlineReplicaRebuildingRequired:
                type: boolean
              ownerID:
                type: string
              pendingNodeID:
                description: Deprecated.
                type: string
              remountRequestedAt:
                type: string
              restoreInitiated:
                type: boolean
              restoreRequired:
                type: boolean
              robustness:
                type: string
              shareEndpoint:
                type: string
              shareState:
                type: string
              state:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/crds.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    longhorn-manager: ""
  name: volumeattachments.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: VolumeAttachment
    listKind: VolumeAttachmentList
    plural: volumeattachments
    shortNames:
      - lhva
    singular: volumeattachment
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
      name: v1beta2
      schema:
        openAPIV3Schema:
          description: VolumeAttachment stores attachment information of a Longhorn volume
          properties:
            apiVersion:
              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
              type: string
            kind:
              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
              type: string
            metadata:
              type: object
            spec:
              description: VolumeAttachmentSpec defines the desired state of Longhorn VolumeAttachment
              properties:
                attachmentTickets:
                  additionalProperties:
                    properties:
                      generation:
                        description: A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
                        format: int64
                        type: integer
                      id:
                        description: The unique ID of this attachment. Used to differentiate different attachments of the same volume.
                        type: string
                      nodeID:
                        description: The node that this attachment is requesting
                        type: string
                      parameters:
                        additionalProperties:
                          type: string
                        description: Optional additional parameter for this attachment
                        type: object
                      type:
                        type: string
                    type: object
                  type: object
                volume:
                  description: The name of Longhorn volume of this VolumeAttachment
                  type: string
              required:
                - volume
              type: object
            status:
              description: VolumeAttachmentStatus defines the observed state of Longhorn VolumeAttachment
              properties:
                attachmentTicketStatuses:
                  additionalProperties:
                    properties:
                      conditions:
                        description: Record any error when trying to fulfill this attachment
                        items:
                          properties:
                            lastProbeTime:
                              description: Last time we probed the condition.
                              type: string
                            lastTransitionTime:
                              description: Last time the condition transitioned from one status to another.
                              type: string
                            message:
                              description: Human-readable message indicating details about last transition.
                              type: string
                            reason:
                              description: Unique, one-word, CamelCase reason for the condition's last transition.
                              type: string
                            status:
                              description: Status is the status of the condition. Can be True, False, Unknown.
                              type: string
                            type:
                              description: Type is the type of the condition.
                              type: string
                          type: object
                        nullable: true
                        type: array
                      generation:
                        description: A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
                        format: int64
                        type: integer
                      id:
                        description: The unique ID of this attachment. Used to differentiate different attachments of the same volume.
                        type: string
                      satisfied:
                        description: Indicate whether this attachment ticket has been satisfied
                        type: boolean
                    required:
                      - conditions
                      - satisfied
                    type: object
                  type: object
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
# Source: longhorn/templates/clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: longhorn-role
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
rules:
- apiGroups:
  - apiextensions.k8s.io
  resources:
  - customresourcedefinitions
  verbs:
  - "*"
- apiGroups: [""]
  resources: ["pods", "events", "persistentvolumes", "persistentvolumeclaims","persistentvolumeclaims/status", "nodes", "proxy/nodes", "pods/log", "secrets", "services", "endpoints", "configmaps", "serviceaccounts"]
  verbs: ["*"]
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "list"]
- apiGroups: ["apps"]
  resources: ["daemonsets", "statefulsets", "deployments"]
  verbs: ["*"]
- apiGroups: ["batch"]
  resources: ["jobs", "cronjobs"]
  verbs: ["*"]
- apiGroups: ["policy"]
  resources: ["poddisruptionbudgets", "podsecuritypolicies"]
  verbs: ["*"]
- apiGroups: ["scheduling.k8s.io"]
  resources: ["priorityclasses"]
  verbs: ["watch", "list"]
- apiGroups: ["storage.k8s.io"]
  resources: ["storageclasses", "volumeattachments", "volumeattachments/status", "csinodes", "csidrivers"]
  verbs: ["*"]
- apiGroups: ["snapshot.storage.k8s.io"]
  resources: ["volumesnapshotclasses", "volumesnapshots", "volumesnapshotcontents", "volumesnapshotcontents/status"]
  verbs: ["*"]
- apiGroups: ["longhorn.io"]
  resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
              "engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status",
              "sharemanagers", "sharemanagers/status", "backingimages", "backingimages/status",
              "backingimagemanagers", "backingimagemanagers/status", "backingimagedatasources", "backingimagedatasources/status",
              "backuptargets", "backuptargets/status", "backupvolumes", "backupvolumes/status", "backups", "backups/status",
              "recurringjobs", "recurringjobs/status", "orphans", "orphans/status", "snapshots", "snapshots/status",
              "supportbundles", "supportbundles/status", "systembackups", "systembackups/status", "systemrestores", "systemrestores/status",
              "volumeattachments", "volumeattachments/status", "backupbackingimages", "backupbackingimages/status"]
  verbs: ["*"]
- apiGroups: ["coordination.k8s.io"]
  resources: ["leases"]
  verbs: ["*"]
- apiGroups: ["metrics.k8s.io"]
  resources: ["pods", "nodes"]
  verbs: ["get", "list"]
- apiGroups: ["apiregistration.k8s.io"]
  resources: ["apiservices"]
  verbs: ["list", "watch"]
- apiGroups: ["admissionregistration.k8s.io"]
  resources: ["mutatingwebhookconfigurations", "validatingwebhookconfigurations"]
  verbs: ["get", "list", "create", "patch", "delete"]
- apiGroups: ["rbac.authorization.k8s.io"]
  resources: ["roles", "rolebindings", "clusterrolebindings", "clusterroles"]
  verbs: ["*"]
---
# Source: longhorn/templates/clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: longhorn-bind
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: longhorn-role
subjects:
- kind: ServiceAccount
  name: longhorn-service-account
  namespace: longhorn-system
---
# Source: longhorn/templates/clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: longhorn-support-bundle
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: longhorn-support-bundle
  namespace: longhorn-system
---
# Source: longhorn/templates/daemonset-sa.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    app: longhorn-manager
  name: longhorn-backend
  namespace: longhorn-system
spec:
  type: ClusterIP
  selector:
    app: longhorn-manager
  ports:
  - name: manager
    port: 9500
    targetPort: manager
---
# Source: longhorn/templates/deployment-ui.yaml
kind: Service
apiVersion: v1
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    app: longhorn-ui
  name: longhorn-frontend
  namespace: longhorn-system
spec:
  type: ClusterIP
  selector:
    app: longhorn-ui
  ports:
  - name: http
    port: 80
    targetPort: http
    nodePort: null
---
# Source: longhorn/templates/services.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    app: longhorn-conversion-webhook
  name: longhorn-conversion-webhook
  namespace: longhorn-system
spec:
  type: ClusterIP
  selector:
    app: longhorn-manager
  ports:
  - name: conversion-webhook
    port: 9501
    targetPort: conversion-wh
---
# Source: longhorn/templates/services.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    app: longhorn-admission-webhook
  name: longhorn-admission-webhook
  namespace: longhorn-system
spec:
  type: ClusterIP
  selector:
    app: longhorn-manager
  ports:
  - name: admission-webhook
    port: 9502
    targetPort: admission-wh
---
# Source: longhorn/templates/services.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    app: longhorn-recovery-backend
  name: longhorn-recovery-backend
  namespace: longhorn-system
spec:
  type: ClusterIP
  selector:
    app: longhorn-manager
  ports:
  - name: recovery-backend
    port: 9503
    targetPort: recov-backend
---
# Source: longhorn/templates/services.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
  name: longhorn-engine-manager
  namespace: longhorn-system
spec:
  clusterIP: None
  selector:
    longhorn.io/component: instance-manager
    longhorn.io/instance-manager-type: engine
---
# Source: longhorn/templates/services.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
  name: longhorn-replica-manager
  namespace: longhorn-system
spec:
  clusterIP: None
  selector:
    longhorn.io/component: instance-manager
    longhorn.io/instance-manager-type: replica
---
# Source: longhorn/templates/daemonset-sa.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    app: longhorn-manager
  name: longhorn-manager
  namespace: longhorn-system
spec:
  selector:
    matchLabels:
      app: longhorn-manager
  template:
    metadata:
      labels:
        app.kubernetes.io/name: longhorn
        app.kubernetes.io/instance: longhorn
        app.kubernetes.io/version: v1.6.0
        app: longhorn-manager
    spec:
      containers:
      - name: longhorn-manager
        image: longhornio/longhorn-manager:v1.6.0
        imagePullPolicy: IfNotPresent
        securityContext:
          privileged: true
        command:
        - longhorn-manager
        - -d
        - daemon
        - --engine-image
        - "longhornio/longhorn-engine:v1.6.0"
        - --instance-manager-image
        - "longhornio/longhorn-instance-manager:v1.6.0"
        - --share-manager-image
        - "longhornio/longhorn-share-manager:v1.6.0"
        - --backing-image-manager-image
        - "longhornio/backing-image-manager:v1.6.0"
        - --support-bundle-manager-image
        - "longhornio/support-bundle-kit:v0.0.33"
        - --manager-image
        - "longhornio/longhorn-manager:v1.6.0"
        - --service-account
        - longhorn-service-account
        - --upgrade-version-check
        ports:
        - containerPort: 9500
          name: manager
        - containerPort: 9501
          name: conversion-wh
        - containerPort: 9502
          name: admission-wh
        - containerPort: 9503
          name: recov-backend
        readinessProbe:
          httpGet:
            path: /v1/healthz
            port: 9501
            scheme: HTTPS
        volumeMounts:
        - name: dev
          mountPath: /host/dev/
        - name: proc
          mountPath: /host/proc/
        - name: longhorn
          mountPath: /var/lib/longhorn/
          mountPropagation: Bidirectional
        - name: longhorn-grpc-tls
          mountPath: /tls-files/
        env:
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
      volumes:
      - name: dev
        hostPath:
          path: /dev/
      - name: proc
        hostPath:
          path: /proc/
      - name: longhorn
        hostPath:
          path: /var/lib/longhorn/
      - name: longhorn-grpc-tls
        secret:
          secretName: longhorn-grpc-tls
          optional: true
      priorityClassName: "longhorn-critical"
      serviceAccountName: longhorn-service-account
  updateStrategy:
    rollingUpdate:
      maxUnavailable: "100%"
---
# Source: longhorn/templates/deployment-driver.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: longhorn-driver-deployer
  namespace: longhorn-system
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
spec:
  replicas: 1
  selector:
    matchLabels:
      app: longhorn-driver-deployer
  template:
    metadata:
      labels:
        app.kubernetes.io/name: longhorn
        app.kubernetes.io/instance: longhorn
        app.kubernetes.io/version: v1.6.0
        app: longhorn-driver-deployer
    spec:
      initContainers:
        - name: wait-longhorn-manager
          image: longhornio/longhorn-manager:v1.6.0
          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.6.0
          imagePullPolicy: IfNotPresent
          command:
          - longhorn-manager
          - -d
          - deploy-driver
          - --manager-image
          - "longhornio/longhorn-manager:v1.6.0"
          - --manager-url
          - http://longhorn-backend:9500/v1
          env:
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                fieldPath: metadata.namespace
          - name: NODE_NAME
            valueFrom:
              fieldRef:
                fieldPath: spec.nodeName
          - name: SERVICE_ACCOUNT
            valueFrom:
              fieldRef:
                fieldPath: spec.serviceAccountName
          - name: CSI_ATTACHER_IMAGE
            value: "longhornio/csi-attacher:v4.4.2"
          - name: CSI_PROVISIONER_IMAGE
            value: "longhornio/csi-provisioner:v3.6.2"
          - name: CSI_NODE_DRIVER_REGISTRAR_IMAGE
            value: "longhornio/csi-node-driver-registrar:v2.9.2"
          - name: CSI_RESIZER_IMAGE
            value: "longhornio/csi-resizer:v1.9.2"
          - name: CSI_SNAPSHOTTER_IMAGE
            value: "longhornio/csi-snapshotter:v6.3.2"
          - name: CSI_LIVENESS_PROBE_IMAGE
            value: "longhornio/livenessprobe:v2.11.0"
      priorityClassName: "longhorn-critical"
      serviceAccountName: longhorn-service-account
      securityContext:
        runAsUser: 0
---
# Source: longhorn/templates/deployment-ui.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0
    app: longhorn-ui
  name: longhorn-ui
  namespace: longhorn-system
spec:
  replicas: 2
  selector:
    matchLabels:
      app: longhorn-ui
  template:
    metadata:
      labels:
        app.kubernetes.io/name: longhorn
        app.kubernetes.io/instance: longhorn
        app.kubernetes.io/version: v1.6.0
        app: longhorn-ui
    spec:
      serviceAccountName: longhorn-ui-service-account
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 1
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - longhorn-ui
              topologyKey: kubernetes.io/hostname
      containers:
      - name: longhorn-ui
        image: longhornio/longhorn-ui:v1.6.0
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name : nginx-cache
          mountPath: /var/cache/nginx/
        - name : nginx-config
          mountPath: /var/config/nginx/
        - name: var-run
          mountPath: /var/run/
        ports:
        - containerPort: 8000
          name: http
        env:
          - name: LONGHORN_MANAGER_IP
            value: "http://longhorn-backend:9500"
          - name: LONGHORN_UI_PORT
            value: "8000"
      volumes:
      - emptyDir: {}
        name: nginx-cache
      - emptyDir: {}
        name: nginx-config
      - emptyDir: {}
        name: var-run
      priorityClassName: "longhorn-critical"
---
# Source: longhorn/templates/validate-psp-install.yaml
#

2、下载相关镜像

复制代码
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-manager:v1.6.0

sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-manager:v1.6.0 docker.io/longhornio/longhorn-manager:v1.6.0


sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-ui:v1.6.0

sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-ui:v1.6.0 docker.io/longhornio/longhorn-ui:v1.6.0




sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-engine:v1.6.0 docker.io/longhornio/longhorn-engine:v1.6.0
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-engine:v1.6.0


sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-instance-manager:v1.6.0 docker.io/longhornio/longhorn-instance-manager:v1.6.0
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-instance-manager:v1.6.0



sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-share-manager:v1.6.0 docker.io/longhornio/longhorn-share-manager:v1.6.0
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/longhorn-share-manager:v1.6.0


sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/backing-image-manager:v1.6.0 docker.io/longhornio/backing-image-manager:v1.6.0
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/backing-image-manager:v1.6.0


sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/support-bundle-kit:v0.0.33 docker.io/longhornio/support-bundle-kit:v0.0.33
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/support-bundle-kit:v0.0.33


sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-attacher:v4.4.2 docker.io/longhornio/csi-attacher:v4.4.2
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-attacher:v4.4.2


sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-provisioner:v3.6.2 docker.io/longhornio/csi-provisioner:v3.6.2
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-provisioner:v3.6.2


sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-node-driver-registrar:v2.9.2 docker.io/longhornio/csi-node-driver-registrar:v2.9.2
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-node-driver-registrar:v2.9.2



sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-resizer:v1.9.2 docker.io/longhornio/csi-resizer:v1.9.2
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-resizer:v1.9.2



sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-snapshotter:v6.3.2 docker.io/longhornio/csi-snapshotter:v6.3.2
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/csi-snapshotter:v6.3.2


sudo k3s ctr -n=k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/livenessprobe:v2.11.0 docker.io/longhornio/livenessprobe:v2.11.0
sudo k3s ctr -n=k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/longhornio/livenessprobe:v2.11.0

3、检查Longhorn pods

复制代码
kubectl get pods -n longhorn-system

-----------------安装完成--------------------

4、检查dify相关的容器没有启动成功

参考:https://github.com/Zhoneym/DifyAI-Kubernetes 部署dify

原因是上面的longhorn是在master节点安装的,node1和node2没有安装~~

但是排查之后发现都是自动安装了的,

kubectl get csinodes -o yaml | grep -A5 -B5 "driver.longhorn.io"

  1. PVC规格问题 :请求的 20Gi 大小可能超过了 Longhorn 设置的全局过度配置限制,或者单个节点的可用空间不足。

  2. Longhorn 系统设置限制 :如 storage-over-provisioning-percentage(默认200%)或 storage-minimal-available-percentage(默认25%)的设置,可能阻止了新卷的创建。

  3. 资源命名冲突:可能存在同名的旧卷残留。

  4. 网络或底层存储问题:虽然概率较低,但CSI插件与Longhorn Manager之间的通信可能出现问题。

我磁盘空间不够,将PV和PVC的内存20G改成10G!

5、api一直启动不了

📌 问题本质

你的PVC difyai-k8s 配置的访问模式是:

yaml

复制代码
accessModes:
  - ReadWriteOnce  # 关键在这里!

ReadWriteOnce 的含义是:一个时间只能被一个Pod挂载进行读写。

当你部署Dify时,组件启动顺序可能是:

  1. postgres-0 启动 → 挂载了 difyai-k8s PVC ✅

  2. redis-0 尝试启动 → 也想挂载 difyai-k8s失败!但K8s会重试

  3. 实际上,K8s的调度器可能因为某种配置错误,让多个Pod都声明要使用同一个PVC

根据Dify的标准部署,每个组件应该有自己的PVC

相关推荐
腾飞开源3 小时前
01_K8s干货笔记之认识K8s
运维·笔记·云原生·容器·kubernetes·k8s·容器化部署
小匠石钧知3 天前
02_在多个RockyLinux10虚拟机上安装k8s集群
云原生·容器·kubernetes·k8s
ShirleyWang0129 天前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s
spider_xcxc9 天前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
ShirleyWang0129 天前
Day02 K3s NGF(Nginx Gateway Fabric)单 Worker 环境网关更新与故障处置 SOP
linux·服务器·python·k8s·k3s
ShirleyWang0129 天前
DAY01 K3s 私有化部署排障复盘与 SOP
linux·服务器·k8s·k3s·企业部署
XUHUOJUN13 天前
AKS 不是安装在 Windows Server 上,而是运行在 Windows Server 之上的 Azure 平台能力
windows·架构·k8s·azure local·azure stack
Geek-Chow13 天前
Connecting kubectl to a Private EKS Cluster Over an Internal Domain
kubernetes·k8s·aws
spider_xcxc15 天前
Docker Compose 容器通信详解:同一个 Compose 文件才能互通吗?
docker·容器·k8s·容器化·容器网络
欢醉20 天前
k8s调用服务异常cannot allocate memory
kubernetes·k8s