CNCF Conformance¶
Mirantis runs Cloud Native Computing Foundation (CNCF) conformance tests for MKE 3.8.x to verify that the software adheres to published specifications and core behaviors. The test results are provided here to confirm the interoperability, portability, and consistent functionality of the MKE 3.8.x product.
Note
CNCF conformance tests can be run on an MKE 3.8.x cluster that is running in trial mode.
You can reproduce the Mirantis published conformance test results using the Sonobuoy testing tool, as detailed herein. The process sequence is:
Environment configuration
Test using the Sonobuoy tool
Results verification
Environment Configuration¶
To replicate the CNCF conformance results, you must use the Launchpad provisioning tool. You must also have at least one manager node and two worker nodes, all of which are running a compatible version of Mirantis Container Runtime, though Mirantis recommends that you use one manager node and three worker nodes.
To ensure that the testing suite is able to communicate with the cluster
components, you must apply specific installFlags in the cluster
configuration:
nodeport-rangemust be set to30000-32768.default-node-orchestratormust be set tokubernetes.
Example ``launchpad.yaml`` file:
apiVersion: launchpad.mirantis.com/mke/v1.5
kind: mke
metadata:
name: mke-conformance-test
spec:
cluster:
prune: false
hosts:
# mke-cncf-MngrA-0 (ssh)
- role: manager
ssh:
address: <manager_ip>
user: <ssh_user>
keyPath: <path_to_ssh_key>
# mke-cncf-WrkA-0 (ssh)
- role: worker
ssh:
address: <worker_0_ip>
user: <ssh_user>
keyPath: <path_to_ssh_key>
# mke-cncf-WrkA-1 (ssh)
- role: worker
ssh:
address: <worker_1_ip>
user: <ssh_user>
keyPath: <path_to_ssh_key>
# mke-cncf-WrkA-2 (ssh)
- role: worker
ssh:
address: <worker_2_ip>
user: <ssh_user>
keyPath: <path_to_ssh_key>
mcr:
version: <mcr-compatible-version>
repoURL: https://repos.mirantis.com
installURLLinux: https://get.mirantis.com/
installURLWindows: https://get.mirantis.com/install.ps1
channel: <mke-compatible-version>
prune: true
mke:
version: <mke-compatible-version>
imageRepo: docker.io/mirantis
adminUsername: <admin_username>
adminPassword: <admin_password>
installFlags:
- --default-node-orchestrator=kubernetes
- --nodeport-range=30000-32768
upgradeFlags:
- "--force-recent-backup"
- "--force-minimums"
To create the cluster once the cluster configuration file is set up, run the
launchpad apply command in the same directory where you created the
launchpad.yaml file.
Test using the Sonobuoy tool¶
Use the Sonobuoy testing plugin to verify CNFC conformance.
Download the Sonobuoy CLI.
Connect to the Cluster to download and source your client bundle:
pushd ${HOME}/.mirantis-launchpad/cluster/<metadata.name-from-launchpad.yaml>/bundle/admin && source env.sh && popd
Execute the conformance run:
sonobuoy run \ --wait \ --mode=certified-conformance \ --kube-conformance-image-version=v<kubernetes-version-number> \ --plugin-env='e2e.E2E_EXTRA_ARGS=--non-blocking-taints=com.docker.ucp.manager'
Important
The non-blocking-taints argument is essential for MKE clusters, to ensure that the test pods can schedule on manager nodes when necessary.