capactio / hub-manifests

Holds Capact Hub manifests
Apache License 2.0
1 stars 8 forks source link

Create OCF manifests for OpenEBS #30

Open pkosiec opened 3 years ago

pkosiec commented 3 years ago

Description

This task is based on the investigation from https://github.com/capactio/capact/pull/300. See the current doc here.

  1. Modify Terraform scripts for Capact EKS provisioning
    1. Install iSCSI initiator on nodes
    2. Modify AutoScalingGroup and attach empty volume for every node
    3. This is an optional step during AWS EKS cluster provisioning
  2. Create Hub manifests which installs & configures OpenEBS
    1. Install OpenEBS (via Helm - links in the OpenEBS investigation doc)
      1. Install OpenEBS API
      2. Install cStor
    2. Create CR CStorPoolCluster
      1. Link: https://github.com/openebs/cstor-operators/blob/master/docs/quick.md#provision-a-cstorpoolcluster
      2. Try to use volume label from input parameters and prepare mapping node: volume. If that’s not possible, require volume IDs from user as input params.
      3. Use the mapping in CR
    3. create output TypeInstances for storage pool and OpenEBS (to do easy uninstallation)
  3. Make sure the docs are updated

NOTE: User is still required to provide storageClass during app installation.

Sample test scenario

  1. Use the installation manifests
  2. Install Mattermost with replicaCount: 1 and as shared storage set storageClass: cstor
  3. Create a repository and push commit
  4. Cordon the node
  5. After some time, see if Mattermost still works and if there is still the repo with files you created. Make sure it is in a different zone.

Reason

OpenEBS could provide us a cross-cloud distributed storage without any vendor lock-in. It could also simplify implementation of the backup/restore operations for apps.