Skip to content
verthais edited this page Apr 24, 2023 · 3 revisions

Below are some references:

Certified Kubernetes Administrator: https://www.cncf.io/certification/cka/

Exam Curriculum (Topics): https://github.com/cncf/curriculum

Candidate Handbook: https://www.cncf.io/certification/candidate-handbook

Exam Tips: http://training.linuxfoundation.org/go//Important-Tips-CKA-CKAD

Core Concepts

Cluster Architecture

Master Node

Manage, Plan, Schedule, Monitor Nodes

ETCD Cluster - Database

kube-scheduler - identify the write node to put the pod on.

Controller-Manager Node-Controller Replication-Controller

kube-apiserver

Worker Nodes

Docker-vs-ContainerD

Standard: Open Container Initiative

  • imagespec
  • runtimespec

ETCD

ETCD – Commands (Optional)

(Optional) Additional information about ETCDCTL UtilityETCDCTL is the CLI tool used to interact with ETCD.ETCDCTL can interact with ETCD Server using 2 API versions – Version 2 and Version 3. By default it’s set to use Version 2. Each version has different sets of commands.

For example, ETCDCTL version 2 supports the following commands:

etcdctl backup etcdctl cluster-health etcdctl mk etcdctl mkdir etcdctl set

Whereas the commands are different in version 3

etcdctl snapshot save etcdctl endpoint health etcdctl get etcdctl put

To set the right version of API set the environment variable ETCDCTL_API command

export ETCDCTL_API=3

When the API version is not set, it is assumed to be set to version 2. And version 3 commands listed above don’t work. When API version is set to version 3, version 2 commands listed above don’t work.

Apart from that, you must also specify the path to certificate files so that ETCDCTL can authenticate to the ETCD API Server. The certificate files are available in the etcd-master at the following path. We discuss more about certificates in the security section of this course. So don’t worry if this looks complex:

--cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key

So for the commands, I showed in the previous video to work you must specify the ETCDCTL API version and path to certificate files. Below is the final form:

kubectl exec etcd-controlplane -n kube-system -- sh -c "ETCDCTL_API=3 etcdctl get / --prefix --keys-only --limit=10 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key"

Kube API Server

Kube Controller Manager

Kube Scheduler

Kublet

Kube Proxy

Pods

Pods With Yaml

ReplicaSets

Deployments

Services

Services Cluster IP

Loadbalancer

Namespaces

Imperative vs Declarative

Kubectl Apply Command

Clone this wiki locally