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:
./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.