CKAD Mock Exam 1, Q13 - unclear why check is failing

The check for Q13 is indicating that the pod I created is not of QoS Burstable.

Here is my original yaml to create the pod:

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: ckad17-qos-aecs-3
  name: ckad17-qos-aecs-3
  namespace: ckad17-nqoss-aecs
spec:
  containers:
  - image: nginx
    name: ckad17-qos-aecs-ctr-3
    resources:
      limits:
        memory: "200Mi"
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

here is my get-po status check:

student-node ~ ➜  cat qos_status_aecs 
NAME                QOS
ckad17-qos-aecs-2   Guaranteed
ckad17-qos-aecs-1   BestEffort
ckad17-qos-aecs-3   Burstable

here is the -o yaml output for the running pod:

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2024-12-11T20:46:22Z"
  labels:
    run: ckad17-qos-aecs-3
  name: ckad17-qos-aecs-3
  namespace: ckad17-nqoss-aecs
  resourceVersion: "3910"
  uid: e67589bd-9fd0-43b4-834b-eda479d58f14
spec:
  containers:
  - image: nginx
    imagePullPolicy: Always
    name: ckad17-qos-aecs-ctr-3
    resources:
      limits:
        memory: 200Mi
      requests:
        memory: 200Mi
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-gdmm7
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeName: cluster1-node02
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: kube-api-access-gdmm7
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2024-12-11T20:46:24Z"
    status: "True"
    type: PodReadyToStartContainers
  - lastProbeTime: null
    lastTransitionTime: "2024-12-11T20:46:22Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2024-12-11T20:46:24Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2024-12-11T20:46:24Z"
    status: "True"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2024-12-11T20:46:22Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: containerd://dd32ad341c83227794c413128b1a950bb696d40c94b9b3d05d467a5b26007ce
0
    image: docker.io/library/nginx:latest
    imageID: docker.io/library/nginx@sha256:fb197595ebe76b9c0c14ab68159fd3c08bd067ec623005835
43f0ebda353b5be
    lastState: {}
    name: ckad17-qos-aecs-ctr-3
    ready: true
    restartCount: 0
    started: true
    state:
      running:
        startedAt: "2024-12-11T20:46:24Z"
  hostIP: 192.17.55.9
  hostIPs:
  - ip: 192.17.55.9
  phase: Running
  podIP: 10.42.3.7
  podIPs:
  - ip: 10.42.3.7
  qosClass: Burstable
  startTime: "2024-12-11T20:46:22Z"

I don’t know why the checker thinks the QoS is not set to Burstable.

I think the grader is wrong; I did the problem using similar parameters, and it likes the custom columns output, but not the actual pod3 that created part of it. I’ll flag this for the lab team. Thanks for telling us.

thanks Rob.
I also like to make sure I’m not missing something myself!

The problem’s posted solution works, but not yours (or mine). Unless there’s some specification of what to try, I think that any solution that results in a status.qosClass of Burstable should pass, and they don’t. Which is what I reported over to Engineering.