For a quick test of horizontal autoscaling of an NginX deployment, we need the following ingredients: a metrics server installation to be able to measure the POD's CPU an nginx deployment with a CPU reservation an auto scaler configuration a…
How I earned the Certified Kubernetes Administrator (CKA) badge – what would I do differently today?
What is the CKA? The Certified Kubernetes Administrator (CKA) certification proves you have hands-on experience managing Kubernetes clusters. How did I learn Kubernetes? Three years ago, I purchased a 4-day classroom Kubernetes Administration course (LFS458) from FastLane. It was not…
Kubernetes etcd backup and restore – cheat sheet
This is a cheat sheet on how to perform backup&restore of the etcd server in kubernetes quickly. Test this on Killercoda Play with Kubernetes tl;dr Find reference: https://kubernetes.io --> Documentation --> Search "etcd backup restore" --> you will find: Operating etcd…
Cheat Sheet: Install non-privileged podman v3 in a CentOS 7 Container
See how you can run a user space podman container inside another non-privileged container. For that, we create a CentOS 7 image with podman v3 installed. We spin up a Kubernetes non-privileged container from this image, and we show that…
Upgrade Kubernetes Cluster – Cheat sheet
This is a cheat sheet created during the last upgrade of a CentOS-based Kubernetes cluster serving Developer's Cloud Desktops to our customers. TLDR; style. The commands are tested on CentOS 7. For Ubuntu, replace sudo yum install -y kubeadm-1.25.4-00 --disableexcludes=kubernetes…
Migrate Kubernetes Runtime from Docker to containerd
Migration of the kubeadm-based Kubernetes from Docker to containerd should be easy. In my case, it wasn't. Wrong information found on the Internet combined with the incompatibility of the used Kubernetes and containerd versions has caused major problems. Fortunately, I…
CKA Labs (19): Kubernetes Logging
In this article, we will have a look at Kubernetes logging. We will look, how Kubernetes logging is related to Docker logging. References: kubernetes.io: Logging Architecture Docker Logging: A Complete Guide by sematext.com Docker's official documentation on Logging Step 0:…
CKA Labs (17): Kubernetes Readiness and Liveness Probes
In this article, we will learn how Kubernetes Liveness Probes and Kubernetes Readiness Probes help us improve the continuity and availability of Kubernetes Services. For that, we will learn how Kubernetes uses probes to decide, whether an application is up…
CKA Labs (18): Kubernetes Metrics Server for CPU and Memory Monitoring
Install and explore the Kubernetes Metrics Server in a hands-on lab. View the CPU and Memory consumption of cluster nodes, applications, and containers.
CKA Labs (16): Kubernetes Persistent Volumes
In this article, we will create Kubernetes Persistent Volumes, change access modes, and add Kubernetes Persistent Volume Claims. Moreover, we will gain some understanding of Kubernetes Storage Objects.
CKA Labs (15): Kubernetes Ingress
We use NginX-based Kubernetes Ingress Controllers to make Kubernetes Services available to the outside world. In our example, three separate applications share the same IP address and port. We show, how to retrieve the NginX configuration from the Ingress Controller. Moreover, we show how to install a newer NginX version provided by NginX INC.
CKA Labs (14): Kubernetes Node Selector vs. Affinity and Anti-Affinity
How to get hands-on experience with Kubernetes affinity and anti-affinity for both, node affinity as well as POD affinity for "soft" and "hard" rules.
CKA Labs (13): Kubernetes Taints and Tolerations
In this blog post, we will get hands-on experience on Kubernetes taints and tolerations. Taints are used to repel PODs from running on a certain set of nodes, while tolerations in the POD's specification allows the POD to ignore the corresponding matching taint.
CKA Labs (12): Kubernetes Labels and Node Selectors
Tutorial with a hands-on lab on Kubernetes Labels and Node Selectors, which are used to control, which PODs are scheduled on which set of Kubernetes Nodes.
CKA Labs (11) — Kubernetes Services
Kubernetes Services provide us with a means to load-balance between many instances of an application running on a data center. Moreover, they help make accessible the service from the Internet. Here, we will show, how PODs, endpoints, container-ports, and node ports are bound together by means of Kubwernetes Services.
CKA Labs (10) — Kubernetes DaemonSets
In this blog post, we have created a Kubernetes DaemonSet. We have observed that and POD template changes are not propagated to existing PODs if we choose the OnDelete update strategy. However, if we choose the RollingUpdate strategy, POD renewal is triggered with any update of the DaemonSet's POD template.
CKA Labs (9) — Kubernetes Deployments
In this blog post, we will have a closer look to Deployments, how they relate to ReplicaSets of the last post, and which features in terms of the rollout/rollback they offer to the Kubernetes administrator.
CKA Labs (8) — Kubernetes ReplicaSets
In this lab, we will have a closer look at Kubernetes Replicasets. First, we will learn how ReplicaSets control, how many POD replicas are up and running at any time. We will learn, how ReplicaSets and PODs are connected: via labels. We will show that manually creating PODs with matching labels can have weird cuckoo's eggs effects. Moreover, a POD can be detached from a ReplicaSet without stopping it by manipulating its label.
CKA Labs (7) — Kubernetes Jobs and CronJobs
In this Kubernetes lab, we will explore Kubernetes Jobs and CronJobs. Unlike Kubernetes Deployments, Kubernetes Jobs are designed to quit after they have accomplished the task (successful or not). Kubernetes CronJobs are the jobs that are repeated according to a schedule pattern Linux administrators know from crontab.
CKA Labs (6) — Kubernetes API
In this lab, we will explore the Kubernetes API. We will read and create PODs before we explore the API resources.