Openebs: [kubernetes] openebs related services should be running in namespace/openebs

Created on 12 Sep 2017  路  3Comments  路  Source: openebs/openebs

With 0.3, openebs services and the containers (related to OpenEBS volumes) are running in the default namespace. For better abstraction and usability, it will be good to have them under the namespace/openebs.

Following need to be investigated as part of this implementation:

  • Changes to the default provisioner (which currently expects that maya-apiserver is in default namespace)
  • Changes to the maya-apiserver to launch the jiva/openebs-volume containers in "openebs" namespace

Verify if any further changes are required to the flow for PV (openebs-volume) to connect to the controller via the (service) cluster IP.

Hacktoberfest Medium priorit1

Most helpful comment

Instead of hardcoding namespace again from default to kube-system, could it be configurable and has some default value? This will cover Miyurz's needs and make space for customization.
Also, current implementation of getMayaClusterIP doesn't work when service defined with externalName and will be great to have name maya-apiserver-service configurable in the openebs-provisioner

All 3 comments

I suggest moving this to kube-system namespace. Any pod/deployment thats not application specific and is more likely related to provide low level functionalities ( think of it like the kernel) can go in kibe-system. Ideally for end users, when they have so many namespaces, there is always a risk of non kibe-system namespaces getting purged. Since the openebs once in use are purged by accident would be catastrophic. kube-system comes handy there.

Instead of hardcoding namespace again from default to kube-system, could it be configurable and has some default value? This will cover Miyurz's needs and make space for customization.
Also, current implementation of getMayaClusterIP doesn't work when service defined with externalName and will be great to have name maya-apiserver-service configurable in the openebs-provisioner

OpenEBS provisioner can identify its own namespace and search for maya-apiserver-service in the same namespace. Here, we are reading the namespace of openebs-provisioner from OPENEBS_NAMESPACE env variable. If provisioner is unable to find OPENEBS_NAMESPACE variable then it should set the namespace to default.

To set OPENEBS_NAMESPACE to the namespace.
In openebs-operator.yaml add following:

env:
- name: OPENEBS_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace

PR is merged in kubernetes-incubator & this feature will be available with upcoming release.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mhemrg picture mhemrg  路  4Comments

svua picture svua  路  4Comments

mynktl picture mynktl  路  3Comments

Sabarish41 picture Sabarish41  路  4Comments

yudaykiran picture yudaykiran  路  5Comments