This project aims to learn Kubernetes to prepare for the CKA certification and CKAD certification based on a local cluster consisting of virtual machines.
- Linux CLI skills
vi
/nano
as editor for yaml filesgrep
/awk
/head
/tail
/cat
for providing output from commandsscp
for copying files from one server to anothertmux
for running commands on more than one server at a timesystemd
/journalctl
for debugging clusters and changing systemd unit files etc.- experience with
docker
to run standard containers, used commands to keep docker containers running, understanding images, tags etc.
- https://kubernetes.io/docs/
- https://kubernetes.io/docs/tasks/
- https://github.com/kelseyhightower/kubernetes-the-hard-way
- https://github.com/cncf/curriculum
The Udemy course Certified Kubernetes Administrator with practice tests is also used in terms of understanding Kubernetes and preparation for the certification.
Topic in CKAD
- multi-container pods design patterns
- ambassador pattern
- adapter pattern
- Self-healing applications
- self-healing applications through ReplicaSets and Replication Controllers
- Replication Controller: ensures that pod is recreates automatically and ensures that enough replicas are running at all times
- Liveness and Readiness Probes
- Storage
- StatefulSets
- Service Accounts
- tool to switch contexts between clusters in a multi-cluster environment
- installation
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
- to list all contexts
kubectx
- to switch to a new context
kubectx <context_name>
- switch back to previous context
kubectx -
- to see the current context
kubectx -c
- toll allowing users to switch between namespaces with a simple command
- installation
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
- to switch to a namespace
kubens <new_namespaces>
- to switch back to previous namespace
kubens -
- which VMs?
- what network in VirtualBox?
- what servers to use?
- ...
- install container runtimes on cluster servers
- setting up local cluster
- setup network tool for kubernetes
- ...