Skip to content

Latest commit

 

History

History
192 lines (168 loc) · 13.2 KB

File metadata and controls

192 lines (168 loc) · 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 kubernetes.io. 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.11.1 as of 31st July 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.

apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
$ 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%

Cluster Maintenance 11%

Application Lifecycle Management 8%

Scheduling 5%

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

Tips:

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?