Files
kubernetes/test/conformance/image
Sascha Grunert 1000ed64e0 Use debian-base instead of distroless for conformance image
The `diff` binary (required by the `kubectl diff` e2e test) gets
statically or dynamically linked based on the used glibc version. We
cannot really predict that behavior for the various platforms of
debian-base and therefore cannot copy the binary around. This means that
distroless is not a great choice for the conformance image unless we
stop relying on `diff`.

This means we now switch back to `debian-base` for the conformance image
to simplify the build process and reduce the amount of moving parts.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-07-19 10:14:37 +02:00
..
2022-01-10 08:14:29 -05:00
2022-07-08 10:46:11 +08:00

conformance

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.

How to release by hand

# First, build the binaries by running make from the root directory
$ make WHAT="test/e2e/e2e.test github.com/onsi/ginkgo/v2/ginkgo cmd/kubectl test/conformance/image/go-runner"

# Build for linux/amd64 (default)
# export REGISTRY=$HOST/$ORG to switch from registry.k8s.io

$ make push VERSION={target_version} ARCH=amd64
# ---> registry.k8s.io/conformance-amd64:VERSION
# ---> registry.k8s.io/conformance:VERSION (image with backwards-compatible naming)

$ make push VERSION={target_version} ARCH=arm
# ---> registry.k8s.io/conformance-arm:VERSION

$ make push VERSION={target_version} ARCH=arm64
# ---> registry.k8s.io/conformance-arm64:VERSION

$ make push VERSION={target_version} ARCH=ppc64le
# ---> registry.k8s.io/conformance-ppc64le:VERSION

$ make push VERSION={target_version} ARCH=s390x
# ---> registry.k8s.io/conformance-s390x:VERSION

If you don't want to push the images, run make or make build instead

How to run tests

kubectl create -f conformance-e2e.yaml