conformance
is a standalone container to launch Kubernetes end-to-end tests, for the purposes of conformance testing. conformance
is built for multiple architectures and the image is pushed automatically on every release.
# First, build the binaries $ build/run.sh make cross # Build for linux/amd64 (default) # export REGISTRY=$HOST/$ORG to switch from staging-k8s.gcr.io $ make push VERSION={target_version} ARCH=amd64 # ---> staging-k8s.gcr.io/conformance-amd64:VERSION # ---> staging-k8s.gcr.io/conformance:VERSION (image with backwards-compatible naming) $ make push VERSION={target_version} ARCH=arm # ---> staging-k8s.gcr.io/conformance-arm:VERSION $ make push VERSION={target_version} ARCH=arm64 # ---> staging-k8s.gcr.io/conformance-arm64:VERSION $ make push VERSION={target_version} ARCH=ppc64le # ---> staging-k8s.gcr.io/conformance-ppc64le:VERSION $ make push VERSION={target_version} ARCH=s390x # ---> staging-k8s.gcr.io/conformance-s390x:VERSION
If you don't want to push the images, run make
or make build
instead
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=default:default
apiVersion: v1 kind: Pod metadata: name: e2e-producer-consumer-test spec: containers: - name: conformance-container image: gcr.io/heptio-images/kube-conformance:latest image: staging-k8s.gcr.io/conformance-amd64:v1.12.1 imagePullPolicy: IfNotPresent env: - name: E2E_FOCUS value: "Pods should be submitted and removed" volumeMounts: - name: output-volume mountPath: /tmp/results volumes: - name: output-volume hostPath: path: /tmp/results restartPolicy: Never