Kubernetes Operations
Kubernetes operations covers the day-to-day management of production clusters: upgrades, scaling, backup, disaster recovery, certificate rotation, resource quota management, and the operational practices that keep a Kubernetes platform reliable.
itCloud native tools and technologies | OpenSkills.info
Recommended first:kubernetes-fundamentals
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Kubernetes Operations
Kubernetes operations is the work of keeping the cluster itself alive while applications continue their busy little lives on top of it. This is not the same job as deploying an application. One job concerns Deployments and Services; the other concerns upgrades, nodes, certificates, capacity, backups, and the machinery that remembers where everything is. The machinery has not volunteered to remember its own instructions, naturally.
The useful picture is cattle around a precious core. A node is replaceable. You can stop scheduling onto it, move eligible Pods away, update or replace the machine, and put it back. The precious core is etcd, the cluster's memory of every API object. Nodes are expected to come and go. etcd is expected to be protected, backed up, and restored in rehearsal before it is needed in anger.
The first surprise is that an upgrade is not a button with a reassuring progress bar. Kubernetes components follow a version skew policy: the API server leads, kubelets may lag but never lead, and minor versions are crossed one at a time. That is why a quiet maintenance calendar matters. Release notes, deprecated API cleanup, and add-on compatibility are not preamble; they are the part that stops a routine upgrade becoming an archaeological dig.
The operational verb to remember is drain. First cordon the node so new Pods do not arrive. Then drain it so eligible Pods are evicted while PodDisruptionBudgets enforce the availability limits declared for the workload. A blocked drain is not the cluster being difficult for sport. It is the cluster pointing at an unmet condition: perhaps one replica, insufficient capacity, or a disruption budget that cannot be honored. The correct response is inspection, not force.
Managed control planes make the precious-core duties smaller, which is welcome. They do not make the remaining work vanish into a tasteful mist. Node strategy, upgrade cadence, add-ons, workload disruption readiness, and application-state backup still belong to somebody. Automation can reduce repeated effort, but it also becomes another component with an upgrade path and failure modes.
Read the Intro for the full map of the control plane, nodes, etcd, certificates, and capacity. Use Slides when the relationships need to fit on one page. Keep the Cheatsheet nearby for skew rules, drain commands, and backup layers. Then use the practice reference and exercise to make a maintenance change in a disposable cluster, where the only endangered asset is an afternoon.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://kubernetes.io/docs/concepts/cluster-administration/
Supports
- Scope of cluster administration — lifecycle, securing, managing a cluster, add-ons
- Managed vs self-managed responsibility framing
- https://kubernetes.io/docs/concepts/architecture/nodes/
Supports
- Node registration, conditions (Ready, MemoryPressure, DiskPressure, PIDPressure)
- Node controller behavior — tainting unreachable nodes, eviction of their Pods
- https://kubernetes.io/releases/version-skew-policy/
Supports
- kube-apiserver as version leader; kubelet up to 3 minors older, never newer
- Component upgrade ordering; sequential minor upgrades
- https://kubernetes.io/releases/
Supports
- Approximately 3 minor releases per year with ~14 months of patch support
- https://kubernetes.io/docs/tasks/administer-cluster/cluster-upgrade/
Supports
- Upgrade strategy — control plane then nodes then add-ons; release note review; deprecated API migration
- https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/
Supports
- Cordon/drain/uncordon workflow; PDB-honoring graceful eviction; --ignore-daemonsets behavior
- https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
Supports
- Voluntary vs involuntary disruptions; PDB semantics during maintenance
- https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/
Supports
- Odd-member quorum sizing and failure tolerance
- Hardware/latency sensitivity, TLS for peers and clients
- Snapshot backup (etcdctl snapshot save) and restore procedures
- https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/
Supports
- One-year certificate validity for kubeadm clusters; renewal on upgrade; check-expiration and renew commands
- https://kubernetes.io/docs/concepts/cluster-administration/cluster-autoscaling/
Supports
- Node-axis autoscaling — scale-up on unschedulable Pods, drain-based scale-down of underutilized nodes
- https://kubernetes.io/docs/reference/using-api/deprecation-guide/
Supports
- Deprecated API migration guidance ahead of removals
- https://kind.sigs.k8s.io/docs/user/configuration/
Supports
- Multi-node kind configuration for a disposable local maintenance lab
- https://kubernetes.io/blog/2024/06/06/10-years-of-kubernetes/
Supports
- June 2014 project announcement; July 2015 Kubernetes 1.0 release and CNCF donation
- https://kubernetes.io/blog/2016/09/kubernetes-1-4-making-it-easy-to-run-on-kuberentes-anywhere/
Supports
- Kubernetes 1.4 introduction of kubeadm
- https://kubernetes.io/blog/2017/01/stronger-foundation-for-creating-and-managing-kubernetes-clusters/
Supports
- Kubernetes 1.6 lifecycle tooling and kubeadm release planning
- https://kubernetes.io/blog/2018/03/26/kubernetes-1.10-stabilizing-storage-security-networking/
Supports
- Kubernetes 1.10 StorageClass defaulting milestone
- https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
Supports
- Kubernetes 1.16 deprecated API removals
- https://kubernetes.io/blog/2020/08/31/kubernetes-1-19-feature-one-year-support/
Supports
- Kubernetes 1.19 extension of patch support to one year
- https://kubernetes.io/blog/2021/07/20/new-kubernetes-release-cadence/
Supports
- Change to three Kubernetes minor releases per year
- https://kubernetes.io/blog/2022/02/17/dockershim-faq/
Supports
- Kubernetes 1.24 dockershim removal and operator migration implications
- https://kubernetes.io/blog/2024/04/17/kubernetes-v1-30-release/
Supports
- Kubernetes 1.30 release and feature graduation cadence
- https://aws.amazon.com/eks/features/
Supports
- EKS managed control plane and managed node group lifecycle behavior
- https://cloud.google.com/kubernetes-engine/docs/concepts/kubernetes-engine-overview
Supports
- Google Kubernetes Engine managed Kubernetes service
- https://learn.microsoft.com/en-us/azure/aks/
Supports
- Azure Kubernetes Service documentation and operational guidance
- https://www.redhat.com/en/technologies/cloud-computing/openshift/container-platform
Supports
- OpenShift platform updates through Operators
- https://www.rancher.com/products/rancher
Supports
- Rancher multi-cluster Kubernetes management
- https://www.reddit.com/r/RedditEng/comments/1id01im/unseen_catalyst_a_simple_rollout_caused_a/
Supports
- Primary incident report describing a DaemonSet rollout that overloaded a Kubernetes control plane
