|
@@ -1,431 +0,0 @@
|
|
|
-apiVersion: v1
|
|
|
-kind: Namespace
|
|
|
-metadata:
|
|
|
- name: longhorn-system
|
|
|
----
|
|
|
-apiVersion: v1
|
|
|
-kind: ServiceAccount
|
|
|
-metadata:
|
|
|
- name: longhorn-service-account
|
|
|
- namespace: longhorn-system
|
|
|
----
|
|
|
-apiVersion: rbac.authorization.k8s.io/v1
|
|
|
-kind: ClusterRole
|
|
|
-metadata:
|
|
|
- name: longhorn-role
|
|
|
-rules:
|
|
|
- - apiGroups:
|
|
|
- - apiextensions.k8s.io
|
|
|
- resources:
|
|
|
- - customresourcedefinitions
|
|
|
- verbs:
|
|
|
- - "*"
|
|
|
- - apiGroups: [""]
|
|
|
- resources: ["pods", "events", "persistentvolumes", "persistentvolumeclaims", "nodes", "proxy/nodes", "pods/log", "secrets", "services", "endpoints", "configmaps"]
|
|
|
- verbs: ["*"]
|
|
|
- - apiGroups: [""]
|
|
|
- resources: ["namespaces"]
|
|
|
- verbs: ["get", "list"]
|
|
|
- - apiGroups: ["apps"]
|
|
|
- resources: ["daemonsets", "statefulsets", "deployments"]
|
|
|
- verbs: ["*"]
|
|
|
- - apiGroups: ["batch"]
|
|
|
- resources: ["jobs", "cronjobs"]
|
|
|
- verbs: ["*"]
|
|
|
- - apiGroups: ["storage.k8s.io"]
|
|
|
- resources: ["storageclasses", "volumeattachments", "csinodes", "csidrivers"]
|
|
|
- verbs: ["*"]
|
|
|
- - apiGroups: ["coordination.k8s.io"]
|
|
|
- resources: ["leases"]
|
|
|
- verbs: ["get", "watch", "list", "delete", "update", "create"]
|
|
|
- - apiGroups: ["longhorn.io"]
|
|
|
- resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
|
|
|
- "engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status"]
|
|
|
- verbs: ["*"]
|
|
|
- - apiGroups: ["coordination.k8s.io"]
|
|
|
- resources: ["leases"]
|
|
|
- verbs: ["*"]
|
|
|
-
|
|
|
- - apiGroups: ["longhorn.rancher.io"]
|
|
|
- resources: ["volumes", "engines", "replicas", "settings", "engineimages", "nodes", "instancemanagers"]
|
|
|
- verbs: ["*"]
|
|
|
----
|
|
|
-apiVersion: rbac.authorization.k8s.io/v1
|
|
|
-kind: ClusterRoleBinding
|
|
|
-metadata:
|
|
|
- name: longhorn-bind
|
|
|
-roleRef:
|
|
|
- apiGroup: rbac.authorization.k8s.io
|
|
|
- kind: ClusterRole
|
|
|
- name: longhorn-role
|
|
|
-subjects:
|
|
|
- - kind: ServiceAccount
|
|
|
- name: longhorn-service-account
|
|
|
- namespace: longhorn-system
|
|
|
----
|
|
|
-apiVersion: apiextensions.k8s.io/v1beta1
|
|
|
-kind: CustomResourceDefinition
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- longhorn-manager: Engine
|
|
|
- name: engines.longhorn.io
|
|
|
-spec:
|
|
|
- group: longhorn.io
|
|
|
- names:
|
|
|
- kind: Engine
|
|
|
- listKind: EngineList
|
|
|
- plural: engines
|
|
|
- shortNames:
|
|
|
- - lhe
|
|
|
- singular: engine
|
|
|
- scope: Namespaced
|
|
|
- version: v1beta1
|
|
|
- subresources:
|
|
|
- status: {}
|
|
|
----
|
|
|
-apiVersion: apiextensions.k8s.io/v1beta1
|
|
|
-kind: CustomResourceDefinition
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- longhorn-manager: Replica
|
|
|
- name: replicas.longhorn.io
|
|
|
-spec:
|
|
|
- group: longhorn.io
|
|
|
- names:
|
|
|
- kind: Replica
|
|
|
- listKind: ReplicaList
|
|
|
- plural: replicas
|
|
|
- shortNames:
|
|
|
- - lhr
|
|
|
- singular: replica
|
|
|
- scope: Namespaced
|
|
|
- version: v1beta1
|
|
|
- subresources:
|
|
|
- status: {}
|
|
|
----
|
|
|
-apiVersion: apiextensions.k8s.io/v1beta1
|
|
|
-kind: CustomResourceDefinition
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- longhorn-manager: Setting
|
|
|
- name: settings.longhorn.io
|
|
|
-spec:
|
|
|
- group: longhorn.io
|
|
|
- names:
|
|
|
- kind: Setting
|
|
|
- listKind: SettingList
|
|
|
- plural: settings
|
|
|
- shortNames:
|
|
|
- - lhs
|
|
|
- singular: setting
|
|
|
- scope: Namespaced
|
|
|
- version: v1beta1
|
|
|
----
|
|
|
-apiVersion: apiextensions.k8s.io/v1beta1
|
|
|
-kind: CustomResourceDefinition
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- longhorn-manager: Volume
|
|
|
- name: volumes.longhorn.io
|
|
|
-spec:
|
|
|
- group: longhorn.io
|
|
|
- names:
|
|
|
- kind: Volume
|
|
|
- listKind: VolumeList
|
|
|
- plural: volumes
|
|
|
- shortNames:
|
|
|
- - lhv
|
|
|
- singular: volume
|
|
|
- scope: Namespaced
|
|
|
- version: v1beta1
|
|
|
- subresources:
|
|
|
- status: {}
|
|
|
----
|
|
|
-apiVersion: apiextensions.k8s.io/v1beta1
|
|
|
-kind: CustomResourceDefinition
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- longhorn-manager: EngineImage
|
|
|
- name: engineimages.longhorn.io
|
|
|
-spec:
|
|
|
- group: longhorn.io
|
|
|
- names:
|
|
|
- kind: EngineImage
|
|
|
- listKind: EngineImageList
|
|
|
- plural: engineimages
|
|
|
- shortNames:
|
|
|
- - lhei
|
|
|
- singular: engineimage
|
|
|
- scope: Namespaced
|
|
|
- version: v1beta1
|
|
|
- subresources:
|
|
|
- status: {}
|
|
|
----
|
|
|
-apiVersion: apiextensions.k8s.io/v1beta1
|
|
|
-kind: CustomResourceDefinition
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- longhorn-manager: Node
|
|
|
- name: nodes.longhorn.io
|
|
|
-spec:
|
|
|
- group: longhorn.io
|
|
|
- names:
|
|
|
- kind: Node
|
|
|
- listKind: NodeList
|
|
|
- plural: nodes
|
|
|
- shortNames:
|
|
|
- - lhn
|
|
|
- singular: node
|
|
|
- scope: Namespaced
|
|
|
- version: v1beta1
|
|
|
- subresources:
|
|
|
- status: {}
|
|
|
----
|
|
|
-apiVersion: apiextensions.k8s.io/v1beta1
|
|
|
-kind: CustomResourceDefinition
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- longhorn-manager: InstanceManager
|
|
|
- name: instancemanagers.longhorn.io
|
|
|
-spec:
|
|
|
- group: longhorn.io
|
|
|
- names:
|
|
|
- kind: InstanceManager
|
|
|
- listKind: InstanceManagerList
|
|
|
- plural: instancemanagers
|
|
|
- shortNames:
|
|
|
- - lhim
|
|
|
- singular: instancemanager
|
|
|
- scope: Namespaced
|
|
|
- version: v1beta1
|
|
|
- subresources:
|
|
|
- status: {}
|
|
|
----
|
|
|
-apiVersion: v1
|
|
|
-kind: ConfigMap
|
|
|
-metadata:
|
|
|
- name: longhorn-default-setting
|
|
|
- namespace: longhorn-system
|
|
|
-data:
|
|
|
- default-setting.yaml: |-
|
|
|
- backup-target:
|
|
|
- backup-target-credential-secret:
|
|
|
- create-default-disk-labeled-nodes:
|
|
|
- default-data-path:
|
|
|
- replica-soft-anti-affinity:
|
|
|
- storage-over-provisioning-percentage:
|
|
|
- storage-minimal-available-percentage:
|
|
|
- upgrade-checker:
|
|
|
- default-replica-count:
|
|
|
- guaranteed-engine-cpu:
|
|
|
- default-longhorn-static-storage-class:
|
|
|
- backupstore-poll-interval:
|
|
|
- taint-toleration:
|
|
|
----
|
|
|
-apiVersion: apps/v1
|
|
|
-kind: DaemonSet
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- app: longhorn-manager
|
|
|
- name: longhorn-manager
|
|
|
- namespace: longhorn-system
|
|
|
-spec:
|
|
|
- selector:
|
|
|
- matchLabels:
|
|
|
- app: longhorn-manager
|
|
|
- template:
|
|
|
- metadata:
|
|
|
- labels:
|
|
|
- app: longhorn-manager
|
|
|
- spec:
|
|
|
- containers:
|
|
|
- - name: longhorn-manager
|
|
|
- image: longhornio/longhorn-manager:v0.7.0
|
|
|
- imagePullPolicy: Always
|
|
|
- securityContext:
|
|
|
- privileged: true
|
|
|
- command:
|
|
|
- - longhorn-manager
|
|
|
- - -d
|
|
|
- - daemon
|
|
|
- - --engine-image
|
|
|
- - longhornio/longhorn-engine:v0.7.0
|
|
|
- - --manager-image
|
|
|
- - longhornio/longhorn-manager:v0.7.0
|
|
|
- - --service-account
|
|
|
- - longhorn-service-account
|
|
|
- ports:
|
|
|
- - containerPort: 9500
|
|
|
- volumeMounts:
|
|
|
- - name: dev
|
|
|
- mountPath: /host/dev/
|
|
|
- - name: proc
|
|
|
- mountPath: /host/proc/
|
|
|
- - name: varrun
|
|
|
- mountPath: /var/run/
|
|
|
- - name: longhorn
|
|
|
- mountPath: /var/lib/rancher/longhorn/
|
|
|
- mountPropagation: Bidirectional
|
|
|
- - name: longhorn-default-setting
|
|
|
- mountPath: /var/lib/longhorn-setting/
|
|
|
- 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
|
|
|
-
|
|
|
- - name: DEFAULT_SETTING_PATH
|
|
|
- value: /var/lib/longhorn-setting/default-setting.yaml
|
|
|
- volumes:
|
|
|
- - name: dev
|
|
|
- hostPath:
|
|
|
- path: /dev/
|
|
|
- - name: proc
|
|
|
- hostPath:
|
|
|
- path: /proc/
|
|
|
- - name: varrun
|
|
|
- hostPath:
|
|
|
- path: /var/run/
|
|
|
- - name: longhorn
|
|
|
- hostPath:
|
|
|
- path: /var/lib/rancher/longhorn/
|
|
|
- - name: longhorn-default-setting
|
|
|
- configMap:
|
|
|
- name: longhorn-default-setting
|
|
|
- serviceAccountName: longhorn-service-account
|
|
|
----
|
|
|
-kind: Service
|
|
|
-apiVersion: v1
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- app: longhorn-manager
|
|
|
- name: longhorn-backend
|
|
|
- namespace: longhorn-system
|
|
|
-spec:
|
|
|
- selector:
|
|
|
- app: longhorn-manager
|
|
|
- ports:
|
|
|
- - port: 9500
|
|
|
- targetPort: 9500
|
|
|
- sessionAffinity: ClientIP
|
|
|
----
|
|
|
-apiVersion: apps/v1
|
|
|
-kind: Deployment
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- app: longhorn-ui
|
|
|
- name: longhorn-ui
|
|
|
- namespace: longhorn-system
|
|
|
-spec:
|
|
|
- replicas: 1
|
|
|
- selector:
|
|
|
- matchLabels:
|
|
|
- app: longhorn-ui
|
|
|
- template:
|
|
|
- metadata:
|
|
|
- labels:
|
|
|
- app: longhorn-ui
|
|
|
- spec:
|
|
|
- containers:
|
|
|
- - name: longhorn-ui
|
|
|
- image: longhornio/longhorn-ui:v0.7.0
|
|
|
- ports:
|
|
|
- - containerPort: 8000
|
|
|
- env:
|
|
|
- - name: LONGHORN_MANAGER_IP
|
|
|
- value: "http://longhorn-backend:9500"
|
|
|
- serviceAccountName: longhorn-service-account
|
|
|
----
|
|
|
-kind: Service
|
|
|
-apiVersion: v1
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- app: longhorn-ui
|
|
|
- name: longhorn-frontend
|
|
|
- namespace: longhorn-system
|
|
|
-spec:
|
|
|
- selector:
|
|
|
- app: longhorn-ui
|
|
|
- ports:
|
|
|
- - port: 80
|
|
|
- targetPort: 8000
|
|
|
- type: LoadBalancer
|
|
|
----
|
|
|
-apiVersion: apps/v1
|
|
|
-kind: Deployment
|
|
|
-metadata:
|
|
|
- name: longhorn-driver-deployer
|
|
|
- namespace: longhorn-system
|
|
|
-spec:
|
|
|
- replicas: 1
|
|
|
- selector:
|
|
|
- matchLabels:
|
|
|
- app: longhorn-driver-deployer
|
|
|
- template:
|
|
|
- metadata:
|
|
|
- labels:
|
|
|
- app: longhorn-driver-deployer
|
|
|
- spec:
|
|
|
- initContainers:
|
|
|
- - name: wait-longhorn-manager
|
|
|
- image: longhornio/longhorn-manager:v0.7.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:v0.7.0
|
|
|
- imagePullPolicy: Always
|
|
|
- command:
|
|
|
- - longhorn-manager
|
|
|
- - -d
|
|
|
- - deploy-driver
|
|
|
- - --manager-image
|
|
|
- - longhornio/longhorn-manager:v0.7.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
|
|
|
- serviceAccountName: longhorn-service-account
|
|
|
----
|
|
|
-kind: StorageClass
|
|
|
-apiVersion: storage.k8s.io/v1
|
|
|
-metadata:
|
|
|
- name: longhorn
|
|
|
-provisioner: driver.longhorn.io
|
|
|
-parameters:
|
|
|
- numberOfReplicas: "3"
|
|
|
- staleReplicaTimeout: "2880"
|
|
|
- fromBackup: ""
|
|
|
-# diskSelector: "ssd,fast"
|
|
|
-# nodeSelector: "storage,fast"
|
|
|
-# recurringJobs: '[{"name":"snap", "task":"snapshot", "cron":"*/1 * * * *", "retain":1},
|
|
|
-# {"name":"backup", "task":"backup", "cron":"*/2 * * * *", "retain":1,
|
|
|
-# "labels": {"interval":"2m"}}]'
|
|
|
----
|