Certified Kubernetes Application Developer CKAD

Fragen und Antworten zur Vorbereitung des Certified Kubernetes Application Developer CKAD Zertifikats.

Fragen und Antworten zur Vorbereitung des Certified Kubernetes Application Developer CKAD Zertifikats.


A. S.
Diese Lernkarten decken zentrale Konzepte und praktische Anwendungen für die CKAD-Zertifizierung ab, von Pod-Management über Sicherheitskontexte bis hin zu Helm-Releases. Sie vermitteln essenzielle Kubernetes-Befehle wie das Ändern von Service-Typen, das Arbeiten mit Labels und Annotationen sowie das Debuggen von Deployments. Ideal für Entwickler, die sich auf die Prüfung vorbereiten oder ihre Kubernetes-Kenntnisse vertiefen möchten.
Flashcards
12
Students
1
Language
English
Category
Computer Science
Level
University
Created / Updated
17.02.2026 / 03.06.2026

Flashcards

There seems to be a broken helm release, stuck in pending-install state. Find it and delete it

"helm -n ls -a" and "helm uninstall -n "

Use curl from a temporary nginx:alpine Pod  in namespace pluto to get the response from the Service project-plt-6cc-svc with port 3333.

k run tmp --restart=Never --rm --image=nginx:alpine -i -- curl http://project-plt-6cc-svc.pluto:3333

Build the image using sudo docker, tag it registry.killer.sh:5000/sun-cipher:v1-docker and push it to the registry

"sudo docker build -t registry.killer.sh:5000/sun-cipher:v1-docker ." and "sudo docker push registry.killer.sh:5000/sun-cipher:v1-docker"

Run a container using sudo podman, which keeps running detached in the background, named sun-cipher using image registry.killer.sh:5000/sun-cipher:v1-podman

sudo podman run -d --name sun-cipher registry.killer.sh:5000/sun-cipher:v1-podman

Where are the ServiceAccount and Request/Limits located in a pod?

template:

  metadata:

    creationTimestamp: null

    labels:

      app: neptune-10ab

  spec:

    serviceAccountName: neptune-sa-v2 # add

    containers:

    - image: httpd:2.4-alpine

      name: neptune-pod-10ab 

      resources: 

        limits: 

          memory: 50Mi 

        requests: 

          memory: 20Mi 

How do you retrieve all pods of a specific label?

k -n sun get pod -l type=runner

How do I add another label to all pods with a specific label?

k -n sun label pod -l type=runner protected=true

How do I add an annotation to all pods with a specific label?

k -n sun annotate pod -l protected=true protected="do not delete this pod"

Test using: wget www.google.com and wget api:2222 from a Pod of Deployment frontend.

 k -n venus exec frontend-789cbdc677-c9v8h -- wget -O- www.google.de 

k -n venus exec frontend-789cbdc677-c9v8h -- wget -O- api:2222 

How can I undo a faulty rollout?

k rollout undo deploy test-deploy

How do you set allowPrivilegeEscalation: false and privileged: false for the security context on container level.

  template:
    metadata:
      name: holy-api
    spec:
      containers:
        image: nginx:1.17.3-alpine
        name: holy-api-container
        securityContext:                   
          allowPrivilegeEscalation: false 
          privileged: false   

Change this service to a NodePort one to make it available on all nodes on port 30100.

apiVersion: v1
kind: Service
metadata:
  name: jupiter-crew-svc
  namespace: jupiter
...
spec:
  clusterIP: 10.3.245.70
  ports:
  - name: 8080-80
    port: 8080
    protocol: TCP
    targetPort: 80
  selector:
    id: jupiter-crew
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

apiVersion: v1
kind: Service
metadata:
  name: jupiter-crew-svc
  namespace: jupiter
...
spec:
  clusterIP: 10.3.245.70
  ports:
  - name: 8080-80
    port: 8080
    protocol: TCP
    targetPort: 80
    nodePort: 30100 # add the nodePort
  selector:
    id: jupiter-crew
  sessionAffinity: None
  #type: ClusterIP
  type: NodePort    # change type
status:
  loadBalancer: {}

Study