-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
What happened?
I'm working on my local minikube cluster and trying to deploy Selenium Grid using public Helm Charts and a custom values.yaml file. I've preliminary installed KEDA mirroring what we have in develop k8s cluster. Selenium Grid deployment fails in these circumstances as long as Selenium Grid has some requirements towards how KEDA resources should look like.
Steps:
- Start minikube
- Add KEDA and Selenium Grid Helm repos
- Deploy KEDA to keda ns
- Deploy Selenium Grid to selenium-grid ns using a custom values.yaml file
- Verify if deployment is successfull
Actual result:
- deployment failed with error
Error: Unable to continue with install: CustomResourceDefinition "cloudeventsources.eventing.keda.sh" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "selenium-grid": current value is "keda"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "selenium-grid": current value is "keda"
This is my values.yaml:
global: K8S_PUBLIC_IP: 192.168.49.2 isolateComponents: true autoscaling: enabled: true enableWithExistingKEDA: true scaledOptions: maxReplicaCount: 2 pollingInterval: 1
Additional details:
After preliminary installation KEDA configures it's CRDs with the following:
annotations: controller-gen.kubebuilder.io/version: v0.16.5 meta.helm.sh/release-name: 'keda' meta.helm.sh/release-namespace: 'keda'
but Selenium Grid requires both values to be 'selenium-grid'. I went ahead and changed these values in all KEDA CRDs to the expected. However, then I ran into the following issue anyway:
vitalii@localhost:~$ /usr/bin/helm upgrade --install selenium-grid docker-selenium/selenium-grid -f ~/Documents/selenium-grid/values.yaml -n selenium-grid Release "selenium-grid" does not exist. Installing it now. Error: Unable to continue with install: ClusterRole "keda-operator" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "selenium-grid": current value is "keda"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "selenium-grid": current value is "keda"
Feels like Selenium Grid expects KEDA to be strictly deployed into selenim-grid ns. But what if there is already a company-wide KEDA installation which is also in use and is expected to be picked up by Selenium Grid?
Command used to start Selenium Grid with Docker (or Kubernetes)
/usr/bin/helm upgrade --install selenium-grid docker-selenium/selenium-grid -f ~/Documents/selenium-grid/values.yaml -n selenium-gridRelevant log output
vitalii@localhost:~$ minikube start
😄 minikube v1.37.0 on Ubuntu 22.04
▪ KUBECONFIG=/home/vitalii/.kube/new_eks
✨ Using the docker driver based on user configuration
📌 Using Docker driver with root privileges
👍 Starting "minikube" primary control-plane node in "minikube" cluster
🚜 Pulling base image v0.0.48 ...
🔥 Creating docker container (CPUs=2, Memory=3900MB) ...
🐳 Preparing Kubernetes v1.28.0 on Docker 28.4.0 ...
🔗 Configuring bridge CNI (Container Networking Interface) ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
❗ /usr/local/bin/kubectl is version 1.22.3, which may have incompatibilities with Kubernetes 1.28.0.
▪ Want kubectl v1.28.0? Try 'minikube kubectl -- get pods -A'
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
vitalii@localhost:~$ helm repo list
NAME URL
docker-selenium https://www.selenium.dev/docker-selenium
kedacore https://kedacore.github.io/charts
vitalii@localhost:~$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "kedacore" chart repository
...Successfully got an update from the "docker-selenium" chart repository
Update Complete. ⎈Happy Helming!⎈
vitalii@localhost:~$ helm install keda kedacore/keda --namespace keda --create-namespace
NAME: keda
LAST DEPLOYED: Tue Oct 28 14:24:29 2025
NAMESPACE: keda
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
:::^. .::::^: ::::::::::::::: .:::::::::. .^.
7???~ .^7????~. 7??????????????. :?????????77!^. .7?7.
7???~ ^7???7~. ~!!!!!!!!!!!!!!. :????!!!!7????7~. .7???7.
7???~^7????~. :????: :~7???7. :7?????7.
7???7????!. ::::::::::::. :????: .7???! :7??77???7.
7????????7: 7???????????~ :????: :????: :???7?5????7.
7????!~????^ !77777777777^ :????: :????: ^???7?#P7????7.
7???~ ^????~ :????: :7???! ^???7J#@J7?????7.
7???~ :7???!. :????: .:~7???!. ~???7Y&@#7777????7.
7???~ .7???7: !!!!!!!!!!!!!!! :????7!!77????7^ ~??775@@@GJJYJ?????7.
7???~ .!????^ 7?????????????7. :?????????7!~: !????G@@@@@@@@5??????7:
::::. ::::: ::::::::::::::: .::::::::.. .::::JGGGB@@@&7:::::::::
?@@#~
P@B^
:&G:
!5.
.Kubernetes Event-driven Autoscaling (KEDA) - Application autoscaling made simple.
Get started by deploying Scaled Objects to your cluster:
- Information about Scaled Objects : https://keda.sh/docs/latest/concepts/
- Samples: https://github.com/kedacore/samples
Get information about the deployed ScaledObjects:
kubectl get scaledobject [--namespace <namespace>]
Get details about a deployed ScaledObject:
kubectl describe scaledobject <scaled-object-name> [--namespace <namespace>]
Get information about the deployed ScaledObjects:
kubectl get triggerauthentication [--namespace <namespace>]
Get details about a deployed ScaledObject:
kubectl describe triggerauthentication <trigger-authentication-name> [--namespace <namespace>]
Get an overview of the Horizontal Pod Autoscalers (HPA) that KEDA is using behind the scenes:
kubectl get hpa [--all-namespaces] [--namespace <namespace>]
-------------------------------------------------------------------------------------
WARNING - Running on unsupported Kubernetes version "1.28". KEDA 2.18 is supported and tested on Kubernetes "1.31" or higher. See https://keda.sh/docs/latest/operate/cluster/ for details.
-------------------------------------------------------------------------------------
Learn more about KEDA:
- Documentation: https://keda.sh/
- Support: https://keda.sh/support/
- File an issue: https://github.com/kedacore/keda/issues/new/choose
vitalii@localhost:~$ /usr/bin/helm upgrade --install selenium-grid docker-selenium/selenium-grid -f ~/Documents/selenium-grid/values.yaml -n selenium-grid
Release "selenium-grid" does not exist. Installing it now.
Error: Unable to continue with install: CustomResourceDefinition "cloudeventsources.eventing.keda.sh" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "selenium-grid": current value is "keda"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "selenium-grid": current value is "keda"Operating System
Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Docker Selenium version (image tag)
4.37.0-20251020
Selenium Grid chart version (chart version)
0.48.0