-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Flux OpenEBS-Mayastor storage integration #125
base: main
Are you sure you want to change the base?
Changes from all commits
3e5cf41
9fd13d2
3c40ffb
d266fc5
1acb763
a0ed4f7
3f4b10b
034f3b4
d1f9660
82b878a
8389be2
fe9193e
44c397c
36b326c
f424240
067f18e
1940d74
692451e
179cd59
8566135
df9ffe3
52d0ab8
9d3dde0
22039e7
d69b4a9
5c6da1e
4ff329c
1328bd2
8382810
da92842
205e053
7afc21d
a75c5d0
35d1cd4
24185fd
9212b7d
e49c30c
989801a
dbd2ed7
b0c7644
b50595a
296eff9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
machine: | ||
kubelet: | ||
extraArgs: | ||
node-labels: openebs.io/engine=mayastor | ||
max-pods: 500 | ||
extraMounts: | ||
- destination: /var/local # Destination is the absolute path where the mount will be placed in the container. | ||
type: bind # Type specifies the mount kind. | ||
source: /var/local # Source specifies the source path of the mount. | ||
options: | ||
- bind | ||
- rshared | ||
- rw | ||
sysctls: | ||
vm.nr_hugepages: "1024" | ||
nodeLabels: | ||
openebs.io/engine: "mayastor" | ||
cluster: | ||
apiServer: | ||
admissionControl: | ||
- name: PodSecurity | ||
configuration: | ||
apiVersion: pod-security.admission.config.k8s.io/v1beta1 | ||
kind: PodSecurityConfiguration | ||
exemptions: | ||
namespaces: | ||
- openebs |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
apiVersion: kustomize.toolkit.fluxcd.io/v1 | ||
kind: Kustomization | ||
metadata: | ||
name: openebs-do-pool | ||
namespace: flux-system | ||
spec: | ||
dependsOn: | ||
- name: openebs | ||
interval: 1m | ||
path: "./flux/components/openebs-do-pool" | ||
prune: true | ||
sourceRef: | ||
kind: GitRepository | ||
name: spectrum | ||
namespace: flux-system | ||
patches: | ||
- patch: |- | ||
- op: replace | ||
path: /spec/disks | ||
value: ["aio:///dev/disk/by-id/scsi-0DO_Volume_${DO_DISK}"] | ||
target: | ||
kind: DiskPool | ||
name: ebs-pool | ||
namespace: openebs |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
apiVersion: kustomize.toolkit.fluxcd.io/v1 | ||
kind: Kustomization | ||
metadata: | ||
name: openebs | ||
namespace: flux-system | ||
spec: | ||
interval: 1m | ||
path: "./flux/core/openebs" | ||
prune: true | ||
sourceRef: | ||
kind: GitRepository | ||
name: spectrum | ||
namespace: flux-system | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
apiVersion: kustomize.config.k8s.io/v1beta1 | ||
kind: Kustomization | ||
resources: | ||
- ./manifests.yaml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
apiVersion: storage.k8s.io/v1 | ||
kind: StorageClass | ||
metadata: | ||
name: mayastor | ||
parameters: | ||
protocol: nvmf | ||
repl: "1" | ||
provisioner: io.openebs.csi-mayastor | ||
--- | ||
apiVersion: "openebs.io/v1beta2" | ||
kind: DiskPool | ||
metadata: | ||
name: ebs-pool | ||
namespace: openebs | ||
spec: | ||
node: cp-0 | ||
disks: ["aio:///dev/disk/by-id/placeholder"] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
apiVersion: kustomize.config.k8s.io/v1beta1 | ||
kind: Kustomization | ||
resources: | ||
- ./manifests.yaml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
apiVersion: storage.k8s.io/v1 | ||
kind: StorageClass | ||
metadata: | ||
name: spectrum-pool | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @nahsi @gurinderu need to decide with the Storage Pool name here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmmm, need to think about it. Do we need storage pool for nvme, ssd and hdd disks separately? If not I would just call it mayastore or something in case we will add some different storage tech after. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. According to these docs - we can create multiple pools that look to different disks. We need to come up with standard names for every storage type (e.g. |
||
parameters: | ||
protocol: nvmf | ||
repl: "1" | ||
provisioner: io.openebs.csi-mayastor |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
apiVersion: kustomize.config.k8s.io/v1beta1 | ||
kind: Kustomization | ||
resources: | ||
- repository.yml | ||
- release.yml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
apiVersion: helm.toolkit.fluxcd.io/v2 | ||
kind: HelmRelease | ||
metadata: | ||
name: openebs | ||
namespace: kube-system | ||
spec: | ||
targetNamespace: openebs | ||
install: | ||
createNamespace: true | ||
interval: 5m | ||
chart: | ||
spec: | ||
chart: openebs | ||
version: 4.1.3 | ||
sourceRef: | ||
name: openebs | ||
kind: HelmRepository | ||
namespace: flux-system | ||
values: | ||
mayastor: | ||
csi: | ||
node: | ||
initContainers: | ||
enabled: false | ||
etcd: | ||
replicaCount: 1 | ||
engines: | ||
replicated: | ||
mayastor: | ||
enabled: true | ||
local: | ||
lvm: | ||
enabled: false | ||
zfs: | ||
enabled: false |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: source.toolkit.fluxcd.io/v1 | ||
kind: HelmRepository | ||
metadata: | ||
name: openebs | ||
namespace: flux-system | ||
spec: | ||
interval: 5m | ||
timeout: 3m | ||
url: https://openebs.github.io/openebs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably a good idea to add a disk to ephemeral DO instance, install mayastore there and add that disk to mayastore.
Can be done in a separate PR I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done