π ensure you are on latest go version
$ go version
go version go1.21.6 linux/amd64
π ensure kind is in ~/go/src/sigs.k8s.io/kind/
git clone https://github.com/kubernetes-sigs/kind.git ~/go/src/sigs.k8s.io/kind
cd ~/go/src/sigs.k8s.io/kind/images/base
make quick "EXTRA_BUILD_OPT=--build-arg CONTAINERD_VERSION=v2.0.0-beta.0"
go install sigs.k8s.io/kind@v0.20.0
π ensure k8s is in ~/go/src/k8s.io/kubernetes
git clone https://github.com/kubernetes/kubernetes.git ~/go/src/k8s.io/kubernetes
π pick specific version of kubernetes
git fetch --all --tags && git checkout -b branch-for-v1.29.0 v1.29.0
kind build node-image --base-image gcr.io/k8s-staging-kind/base:v20240111-40c81f18
π create cluster using image just built
kind create cluster --image=kindest/node:latest
π test if you can reach the cluster
kubectl cluster-info --context kind-kind
π dump cluster information and look for containerd version
kubectl cluster-info --context kind-kind dump
go install sigs.k8s.io/hydrophone@latest
π run a single e2e test from k8s
hydrophone --focus 'Simple pod should contain last line of the log'
π run conformance tests
hydrophone --conformance