Last active
January 5, 2020 13:34
-
-
Save lnikell/8d34cbc7b55d628ba1578b84cce9f38b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: longhorn-0thq3 | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: longhorn-service-account | |
namespace: longhorn-0thq3 | |
--- | |
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: ["*"] | |
# to be removed after v0.7.0 | |
- 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-0thq3 | |
--- | |
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-0thq3 | |
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-0thq3 | |
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 | |
# Should be: mount path of the volume longhorn-default-setting + the key of the configmap data in 04-default-setting.yaml | |
- 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-0thq3 | |
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-0thq3 | |
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-0thq3 | |
spec: | |
selector: | |
app: longhorn-ui | |
ports: | |
- port: 80 | |
targetPort: 8000 | |
type: LoadBalancer | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: longhorn-driver-deployer | |
namespace: longhorn-0thq3 | |
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 | |
# manually set root directory for csi | |
- --kubelet-root-dir | |
- /var/lib/rancher/k3s/agent/kubelet | |
# manually specify number of CSI attacher replicas | |
- --csi-attacher-replica-count | |
- "1" | |
# manually specify number of CSI provisioner replicas | |
- --csi-provisioner-replica-count | |
- "1" | |
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"}}]' | |
--- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment