Contents

Preparing for CKNE: What I Learned From the Beta Exam

On September 17, I took the beta of the new Certified Kubernetes Network Engineer, CKNE, exam. It was one of the hardest hands-on certification exams I have taken so far. The challenge was not one extremely deep topic, but moving quickly across a broad Kubernetes networking stack within a two-hour time limit.

CKNE combines core Kubernetes networking with Cilium, Istio, Gateway API, security, observability, and newer areas such as inference traffic. Because the exam is still in beta, difficulty and timing may change before the final version.

TL;DR

For CKNE preparation, focus on Cilium installation with the Cilium CLI, L4 and L7 CiliumNetworkPolicy, CiliumEgressGatewayPolicy, Istio PeerAuthentication and AuthorizationPolicy, Kubernetes Services and EndpointSlices, Gateway API, cert-manager, and the Gateway API Inference Extension with InferencePool. Also be comfortable with Prometheus, Jaeger, and gateway access logs.

Do not spend too much time memorizing CRDs, complete YAML structures, Prometheus metric names, or complex PromQL. For many advanced topics, context, documentation links, or the relevant observability signals are available. Understand the problem, find the right reference, interpret the data, make the change, validate it, and move on.

What to prepare before taking CKNE

The public CKNE domains and competencies cover CNI, service networking, advanced traffic management, security, and observability. Preparation should cover that breadth instead of going extremely deep into one product.

For Cilium, focus on installation with the Cilium CLI and how CLI options map to Helm values. The Cilium Helm reference and masquerading documentation are useful references. L4 and L7 CiliumNetworkPolicy should be familiar, together with the purpose of CiliumEgressGatewayPolicy.

For Istio, focus on workload security. PeerAuthentication defines how workloads authenticate to each other, while AuthorizationPolicy controls which requests are allowed. The important part is understanding authentication versus authorization, not memorizing every field.

Do not forget the Kubernetes basics

Normal Kubernetes networking still matters. A broken Service may simply have the wrong port or targetPort, and understanding how Services discover their backends is fundamental.

Review Services without selectors. Kubernetes does not create EndpointSlices automatically in this case, so the backend endpoints need to be created manually:

apiVersion: v1
kind: Service
metadata:
  name: external-api
spec:
  ports:
    - port: 443
      targetPort: 443
---
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
  name: external-api-1
  labels:
    kubernetes.io/service-name: external-api
addressType: IPv4
ports:
  - port: 443
endpoints:
  - addresses:
      - 192.0.2.10

The key details are the missing Service selector, the kubernetes.io/service-name label on the EndpointSlice, and the explicit backend address.

Gateway API, cert-manager, and inference routing

For Gateway API, understand the relationship between Gateway, HTTPRoute, and the backend, and be able to trace how a request moves through those resources.

With cert-manager, know how a certificate ends up in a Secret and how a Gateway listener references that Secret.

The Gateway API Inference Extension adds inference-aware routing for AI and LLM workloads. Understand InferencePool and why inference traffic may need more than normal Service load balancing. The public CKNE blueprint explicitly includes Optimizing LLM Traffic.

Documentation matters more than memorization

For Cilium, Istio, and Gateway API, memorizing complete YAML structures was not especially useful. In the beta environment, enough context was available to identify the required resource, together with direct links to relevant documentation.

Practice finding the right example and adapting it quickly. Knowing what a resource is supposed to achieve matters more than knowing every field from memory.

Validation and observability

A useful part of the beta environment was being able to validate changes immediately instead of waiting until the end of the exam.

Troubleshooting was more UI-driven than I expected. In my beta experience, I did not need low-level Linux tools such as ip or tcpdump. Preinstalled Prometheus and Jaeger UIs were more relevant. Provided metrics or traces can be used to identify slow, failing, or otherwise unhealthy services without memorizing metric names or writing complex PromQL from scratch.

Gateway access logs are worth understanding as well. Be able to distinguish normal, rejected, and suspicious traffic and extract the relevant information quickly.

The public CKNE blueprint includes network health metrics, distributed tracing, and auditing network traffic with logs. For preparation, focus on navigating the tools, interpreting the provided data, identifying the problematic workload, and translating that finding into the appropriate Kubernetes action.

Browser-based answers compared with CKA and CKS

If you have taken CKA or CKS before, you may remember tasks where a result had to be written into a file below /opt. In the CKNE beta environment, textual results can also be entered through the browser-based exam interface, which then generates the required file.

No exam simulator or dedicated training yet

CKNE is still too new to have the preparation ecosystem around CKA and CKS. Those certifications include access to the Killer Shell exam simulator for practicing the environment and time pressure. Thanks to Kim Wüstkamp for building it.

Killer Shell currently provides simulators for CKA, CKS, CKAD, CNPE, and LFCS, but there is no CKNE simulator yet. I also could not find a dedicated CKNE training course from the Linux Foundation. For now, most preparation comes directly from the Kubernetes, Cilium, Istio, and Gateway API documentation.

Time was my biggest problem

Time was the hardest part for me. Trouble with the in-browser desktop environment at the beginning also cost a few minutes.

Do not try to perfect one task. Solve it, validate it, and move on. If a task consumes too much time, return to it later. Fast navigation through Kubernetes resources, documentation, and kubectl matters almost as much as knowing the concepts.

Beta pricing

I paid €57.94 using the 35% discount code SEPT26BTS35CT, which I found through the Linux Foundation coupon collection maintained by TechiesCamp.

The Linux Foundation CKNE page currently marks new beta registrations as closed. Pricing and available discounts may change once CKNE leaves beta.

Conclusion

CKNE rewards breadth more than memorization. You need to move between Kubernetes networking, Cilium, Istio, Gateway API, security, and observability, use the available documentation and tools efficiently, and troubleshoot under time pressure.