Courseiva

CKS Minimize Microservice Vulnerabilities Practice Question

A pod fails to start with the error 'Container runtime network not ready', and the node uses Kata Containers (RuntimeClass: kata). What is the most likely cause?

⚠ Common exam trap

Candidates often overlook the need for RuntimeClass-specific CNI configuration when using Kata Containers, assuming that the network error is always due to a cluster-wide CNI issue.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

The CNI plugin is not configured correctly for the kata RuntimeClass

Kata Containers use lightweight VMs for pod isolation, which require a separate CNI plugin (e.g., flannel, calico) to be configured specifically for the kata RuntimeClass. The error 'Container runtime network not ready' indicates that the CNI plugin is either missing, misconfigured, or not compatible with the kata runtime, preventing the pod's network namespace from being set up.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    The node has insufficient memory

    Why it's wrong here

    Insufficient memory causes the kubelet to evict the pod or the container to be OOMKilled, producing events like 'The node was low on resource: memory' or an exit code 137 — never a message about the container runtime network. The error 'container runtime network not ready' is a sandbox-level failure indicating the CNI network setup for the pod's network namespace failed, which memory pressure does not affect. Memory exhaustion occurs after the pod is started and processes allocate memory, while the network not ready error occurs during pod sandbox creation, long before any container process runs.

  • ✗

    The pod is trying to mount a hostPath volume

    Why it's wrong here

    HostPath volumes are incompatible with the traditional local filesystem assumptions of runC, but Kata Containers explicitly supports them by sharing the host directory into the guest VM via virtiofs or 9p, with only minor restrictions such as the directory needing to exist. A problem with a hostPath volume would surface as a volume mount failure, e.g. 'failed to mount volume' or 'MountVolume.SetUp failed', not as a network readiness error from the container runtime. Since the reported error is specifically about network readiness, the selected option points to a CNI/network configuration failure, not storage.

  • ✓

    The CNI plugin is not configured correctly for the kata RuntimeClass

    Why this is correct

    Kata Containers runs each pod inside a lightweight VM, so CNI must do more than create a veth pair in the host namespace: it must set up a virtual network interface (e.g., TAP or virtio-net) that connects the guest VM to the host's network infrastructure. If the CNI plugin in use is not compatible with Kata's VM-based model — for example, a plugin that assumes the container's network namespace is a regular host netns — the plugin's ADD command may fail or return before the VM's network interface is ready. This causes the containerd/kubelet sandbox creation to fail with a network not ready error, exactly as described in the scenario.

  • ✗

    The pod's securityContext sets runAsNonRoot: true

    Why it's wrong here

    The runAsNonRoot security context only constrains the UID of the process running inside the container; it does not interact with the network stack or the CNI plugins. If the image's user is root and runAsNonRoot is true, the container runtime refuses to start the container with a message about 'runAsNonRoot' and the image's user, but this is a container-level security check, totally separate from the pod sandbox network setup. Therefore, this setting cannot produce the reported 'container runtime network not ready' error, which is caused by the sandbox's network interface failing to initialize during CNI configuration.

About these practice questions

This CKS question is part of Courseiva's 845-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CKS practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKS exam.