HomeCKS practice tasks › Configure Istio Mutual TLS (mTLS) Authentication
CKS · Cluster Hardening

Configure Istio Mutual TLS (mTLS) Authentication

Istio is installed in the cluster. Deployment target-app runs in namespace app-ns; client-pod runs in namespace client-ns.

Solve this on a real cluster - free → All CKS tasks
🗓️ Free Task of the Week: one CKS task is unlocked free for everyone every week - no card, real cluster, auto-graded (2 tries/week). Create a free account and check whether this one is live now.

The task

Task

Istio is installed in the cluster. Deployment target-app runs in namespace app-ns; client-pod runs in namespace client-ns.

Requirements

  1. Create a PeerAuthentication named target-mtls in namespace app-ns that requires STRICT mutual TLS for the target-app workload (selector app: target-app)
  2. Add a port-level exception so port 8080 uses PERMISSIVE mode (allowing non-mTLS health/probe traffic)
  3. Create an AuthorizationPolicy named allow-client in namespace app-ns that allows requests to target-app only from namespace client-ns

Verify that the workload requires mTLS, port 8080 is permissive, and only client-ns is authorized.

Exam
CKS
Domain
Cluster Hardening
Grading
Programmatic · partial credit

What this tests

Restrict RBAC and service accounts, tighten API server flags, and keep the cluster patched. On the CKS exam, Cluster Hardening tasks are graded purely on what you build in the cluster - not multiple choice - so the only way to get faster is to do them on a real cluster against a clock.

Practice it for real

prepium.sh drops you into your own isolated Kubernetes cluster in the browser - no install, no credit card. You solve the task in a real terminal, hit validate, and a programmatic checker scores exactly what you got right and wrong (with partial credit). The canonical solution unlocks after you attempt it, so you learn the fast, exam-ready way to do it.

Related CKS tasks