Skip to content
Branch: master
Find file Copy path
192 lines (167 sloc) 13.2 KB

Kubernetes Certified Administration

Online resources that will help you prepare for taking the Kubernetes Certified Administrator Certification exam.

Disclaimer: This is not likely a comprehensive list as the exam will be a moving target with the fast pace of k8s development - please make a pull request if there something wrong or that should be added, or updated in here.

I tried to restrict the cross references of resources to Youtube videos and other blog resources are optional; however, I still found them useful in my k8s learning journey.

Ensure you have the right version of Kubernetes documentation selected (e.g. v1.12 as of December 2018 exam) especially for API objects and annotations.

Exam Objectives

These are the exam objectives you review and understand in order to pass the test. The objectives are current as of December 12, 2017.

Core Concepts 19%

apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
  name: nginx-deployment
  replicas: 3
      app: nginx
        app: nginx
      - name: nginx
        image: nginx:1.7.9
        - containerPort: 80

Installation, Configuration and Validation 12%

$ kubectl cluster-info
$ kubectl get nodes
$ kubectl get componentstatuses
$ kubectl get pods -o wide --show-labels --all-namespaces
$ kubectl get svc  -o wide --show-labels --all-namespaces

Security 12%

Networking 11%

Cluster Maintenance 11%

Troubleshooting 10%

Storage 7%

Application Lifecycle Management 8%

Scheduling 5%

  $kubectl describe pods <POD NAME UNDER Investigation>  | grep -A7 ^Events

Logging/Monitoring 5%


get familiar with:

     $kubectl get pods -o wide --show-labels --all-namespaces
  • In kubectl utilizie --all-namespaces to ensure deployments, pods, objects are on the right name space, and right desired state

  • for events and troubleshooting utilize kubectl describe

     $kubectl describe pods <PODID>
  • the '-o yaml' in conjuction with --dry-run allows you to create a manifest template from an imperative spec, combined with --edit it allows you to modify the object before creation
kubectl create service clusterip my-svc -o yaml --dry-run > /tmp/srv.yaml
kubectl create --edit -f /tmp/srv.yaml

Do you want more?

You can’t perform that action at this time.