Hi all,
We started a discussion some time ago about what happens when we add more services and we need to deploy to multiple namespaces (from various reasons - security, resource management, dependencies...)
Let me describe an example to illustrate what I mean by "multi namespace deployment". Recently we got asked by internal Data Hub team if they could use ODH operator to deploy their persistent Spark analytics cluster.
This Spark cluster is independent from ephemeral clusters used by JupyterHub and has to be deployed in separate namespace. That means ODH operator has to be able to manage (at least) 2 namespaces - let's give them semantic names:
* odh-jupyterhub
* odh-analytics
Current implementation only assumes one namespace - the one where the operator is deployed.
The proposed change would require:
* add `namespace` field in CRD for each service or a group of services deployed together
* define default namespace names
* provide clear documentation explaining that a user has to create all the default namespaces (or provide existing namespace names) and give ODH operator edit (or admin?) access to those namespaces
* ODH operator needs to be able watch events from all the specified namespaces (Landon, is that possible with ansible-operator?)
Then the CR could look like something like:
jupyterhub:
namespace: odh-jupyterhub
odh_deploy: true
notebook_memory: 2Gi
deploy_all_notebooks: False
...
spark-analytics:
namespace: odh-analytics
use_crd: false
metrics: true
....
I have probably missed something:)
What do you think? What problems do you expect?
Cheers,
Vašek
--
Open Data Hub, AI CoE, Office of CTO, Red Hat
Brno, Czech Republic
Phone: +420 739 666 824
_______________________________________________