Install Data-Plane to Kubernetes Namespace
This document will guide you through the process of installing and connecting a new Data-Plane to the IOMETE Control-Plane.
Namespace names
In this document, we use data-plane-ns
and iomete-system
as the namespace names for the Data-Plane and Control-Plane instances. You can replace it with your desired namespace name.
Note that the Control-Plane namespace should be the same as the one you used during the Control-Plane installation.
Create new namespace for Data-Plane instance
# Change `new-data-plane` to your desired namespace name
kubectl create namespace data-plane-ns
# Label the namespace for IOMETE
kubectl label namespace data-plane-ns iomete.com/managed=true
Create Service Account and Role
Required file: service-account.yaml
wget https://raw.githubusercontent.com/iomete/iomete-deployment/main/service-account.yaml
kubectl apply -n data-plane-ns -f service-account.yaml
wget https://raw.githubusercontent.com/iomete/iomete-deployment/main/role-binding-to-control-plane.yaml
export CP_NAMESPACE=iomete-system
sed -i "s/{{control-plane-namespace}}/$CP_NAMESPACE/g" role-binding-to-control-plane.yaml
#For macOS use the following command
# sed -i '' "s/{{control-plane-namespace}}/$CP_NAMESPACE/g" role-binding-to-control-plane.yaml
kubectl apply -n data-plane-ns -f role-binding-to-control-plane.yaml
Generating webhook certificates
Required file: gencerts.sh
wget https://raw.githubusercontent.com/iomete/iomete-deployment/main/gencerts.sh
chmod +x gencerts.sh
./gencerts.sh -n data-plane-ns -s spark-operator-webhook -r spark-operator-webhook-certs
# `spark-operator-webhook.yaml` file will be generated by the script above
kubectl apply -n data-plane-ns -f spark-operator-webhook.yaml
Require Kubernetes Admin Access
The generated file spark-operator-webhook.yaml
contains cluster-level objects. Admin permission required to apply the last command above.
Update IOMETE Control Plane
In values.yaml
file of the IOMETE Control Plane, add the following configuration to the namespaces
section:
# Multi-Namespace Support: Spark resources can now be deployed to separate namespaces,
# allowing teams to manage their own CPU and memory resources independently.
# The data plane's namespace is automatically managed and doesn't need to be specified.
namespaces:
- data-plane-ns
# helm repo update iomete
helm upgrade --install -n iomete-system data-plane iomete/iomete-data-plane-enterprise -f values.yaml