conformance/v1.34/vcluster/README.md
You will need a cluster with at least 2 nodes. The steps below assume that you will use a local minikube cluster. We executed the test on a minikube instance with docker driver (default auto-detected by system).
minikube start --kubernetes-version 1.34.0 --nodes=2
Create a file called vcluster.yaml with the following content:
controlPlane:
advanced:
virtualScheduler:
enabled: true
backingStore:
etcd:
deploy:
enabled: true
statefulSet:
image:
tag: 3.6.4-0
distro:
k8s:
apiServer:
extraArgs:
- --service-account-jwks-uri=https://kubernetes.default.svc.cluster.local/openid/v1/jwks
enabled: true
image:
tag: v1.34.0
statefulSet:
scheduling:
podManagementPolicy: OrderedReady
networking:
advanced:
proxyKubelets:
byHostname: false
byIP: false
sync:
fromHost:
csiDrivers:
enabled: false
csiStorageCapacities:
enabled: false
nodes:
enabled: true
selector:
all: true
toHost:
persistentVolumes:
enabled: true
priorityClasses:
enabled: true
storageClasses:
enabled: true
Create a virtual cluster using vcluster version 0.27.0 (latest) using
the following command:
# Create the vCluster
vcluster create vcluster -n vcluster -f vcluster.yaml
Download a binary release of the CLI, or build it yourself by running:
go install github.com/vmware-tanzu/sonobuoy@latest
Deploy a Sonobuoy pod to your cluster with:
sonobuoy run --mode=certified-conformance --dns-pod-labels=k8s-app=vcluster-kube-dns
View actively running pods:
sonobuoy status
To inspect the logs:
sonobuoy logs
Once sonobuoy status shows the run as completed, copy the output directory from the main Sonobuoy pod to a local directory:
outfile=$(sonobuoy retrieve)
This copies a single .tar.gz snapshot from the Sonobuoy pod into your local . directory. Extract the contents into ./results with:
mkdir ./results; tar xzf $outfile -C ./results