Kubernetes cluster - environment where tests a running
Stable connection between App and Kubernetes
Checks
App --------> Pod
\ /
Kubernetes
App is a runner which run tests inside the Kubernetes cluster and then perform the checks and collect the data.
Local run
It is when we run tests locally on the Kubernetes cluster created by the Docker Desktop. It is very easy to configure and run and is usefully for local development.
We may run tests on remote Kubernetes cluster and for stable App/Kubernetes connection we may run them just inside the cluster via Jobs.
It require more configuration, but permit us to run tests in parallel and simultaneously via CI. For network isolation during tests run, to exclude nodes interference, we should use Network Policies.
Local run on remote
We may run tests on remote Kubernetes cluster by running App locally. But it may have some limitations
When App/Kubernetes connection is unstable we may break run in the middle
App check is performed via nodePort or Service which is accessible only inside the cluster and an additional Ingress Controller configuration will be required to handle that
We may run distributed tests in different ways
Requirements
App is a runner which run tests inside the Kubernetes cluster and then perform the checks and collect the data.
Local run
It is when we run tests locally on the Kubernetes cluster created by the Docker Desktop. It is very easy to configure and run and is usefully for local development.
We also may consider other local Kubernetes like minikube, microk8s, k3s and other.
Remote run
We may run tests on remote Kubernetes cluster and for stable App/Kubernetes connection we may run them just inside the cluster via Jobs.
It require more configuration, but permit us to run tests in parallel and simultaneously via CI. For network isolation during tests run, to exclude nodes interference, we should use Network Policies.
Local run on remote
We may run tests on remote Kubernetes cluster by running App locally. But it may have some limitations