Skip to content

Latest commit

 

History

History
190 lines (167 loc) · 13 KB

File metadata and controls

190 lines (167 loc) · 13 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.9 for the current 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
  • Monitoring Kubernetes
  • Understand how to monitor all cluster components
  • Understand how to monitor applications
  • Manage cluster component logs
    • Master
      • /var/log/kube-apiserver.log - API Server, responsible for serving the API
      • /var/log/kube-scheduler.log - Scheduler, responsible for making scheduling decisions
      • /var/log/kube-controller-manager.log - Controller that manages replication controllers
    • Worker Nodes
      • /var/log/kubelet.log - Kubelet, responsible for running containers on the node
      • /var/log/kube-proxy.log - Kube Proxy, responsible for service load balancing
  • Manage application logs

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?