Conformance EE is designed to run as a Kubernetes Job inside a cluster with access to the KKP API. The interactive TUI handles resource creation, but you can also deploy manually.
The simplest way to deploy is using the interactive terminal UI. First, download the conformance-tester binary using the kubermatic-ee-downloader:
kubermatic-ee-downloader get conformance-tester --output .
Then launch the TUI:
./conformance-tester
The TUI will guide you through:
kubectl create namespace conformance-tests
The conformance tester needs cluster-admin privileges:
kubectl create clusterrolebinding conformance-tests-admin \
--clusterrole=cluster-admin \
--serviceaccount=conformance-tests:default
Create a config.yaml with your test configuration (see Configuration) and store it in a ConfigMap:
kubectl create configmap conformance-config \
--from-file=config.yaml=./config.yaml \
-n conformance-tests
kubectl create secret generic conformance-kubeconfig \
--from-file=kubeconfig=./kubeconfig \
-n conformance-tests
apiVersion: batch/v1
kind: Job
metadata:
name: conformance-tests
namespace: conformance-tests
spec:
backoffLimit: 0
template:
spec:
restartPolicy: Never
containers:
- name: conformance-tester
image: quay.io/kubermatic/conformance-ee:latest
args:
- /e2e.test
- --ginkgo.v
volumeMounts:
- name: config
mountPath: /opt/config.yaml
subPath: config.yaml
- name: kubeconfig
mountPath: /opt/kubeconfig
subPath: kubeconfig
env:
- name: CONFORMANCE_TESTER_CONFIG_FILE
value: /opt/config.yaml
- name: KUBECONFIG
value: /opt/kubeconfig
volumes:
- name: config
configMap:
name: conformance-config
- name: kubeconfig
secret:
secretName: conformance-kubeconfig
kubectl apply -f conformance-job.yaml
View live test progress via the ConfigMap reporter:
kubectl get configmap -n conformance-tests -l app=conformance-reports -o yaml
View Job logs:
kubectl logs -n conformance-tests job/conformance-tests -f
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 500m | 1000m |
| Memory | 512Mi | 1Gi |
| Disk | - | - |
Ensure the cluster has enough capacity for the conformance tester pod and that network policies allow access to the KKP API and cloud provider endpoints.