I'm new to DevOps and working on a university project that involves deploying an application on our university's existing servers. Because of privacy and project constraints, I'm not planning to use a public cloud. Most of the material I've found, including books about DevOps and Kubernetes, focuses heavily on cloud-based services. I already have learning resources for Docker and Kubernetes, so they don't need to cover those topics in depth. I'm mainly looking for a beginner-friendly book or set of resources explaining the infrastructure and operational considerations of running an application on-premises, such as networking, ingress, TLS certificates, DNS, storage, upgrades, and cluster maintenance. Any recommendations?
4 Answers
The answer depends on whether you’re deploying the application or building the infrastructure underneath it. Your physical servers become Kubernetes nodes, and Kubernetes can handle scheduling, networking, and rescheduling workloads when a node fails. In many environments, the process is conceptually similar to cloud deployment; you’re essentially creating and operating the platform yourself. For a small university project, avoid overengineering the setup and focus on a simple, documented cluster.
There probably isn’t one book that covers the whole on-premises experience, because the main difference is that you have to provide the services a cloud platform normally gives you. You’ll need to understand things like load balancing with MetalLB or kube-vip, persistent storage with something such as Longhorn or Rook/Ceph, and managing ingress, certificates, and DNS yourself. Kubernetes the Hard Way, combined with the official documentation for those components, would be a useful learning path.
Kubernetes the Hard Way is a good hands-on starting point because it makes you build and understand the cluster components instead of hiding them behind a managed service. It should also help you learn about node management, keeping environments consistent, upgrades, and general cluster maintenance. It’s more of a practical guide than a traditional beginner book, but that may be especially useful for an on-premises project.
For a more advanced and automated approach, look at the Cluster API Book and its bare-metal providers. Cluster API can automate provisioning, upgrades, and lifecycle management for Kubernetes nodes, although it has a lot of moving parts and may be excessive for a first project. Talos Linux is another option worth investigating because it provides a minimal, purpose-built operating system that simplifies Kubernetes installation and management.

For a small number of machines, running Kubernetes directly on the servers may be simpler than adding a virtualization layer. If you do need virtual machines, choose a platform that your team can realistically maintain rather than trying to recreate a full enterprise private cloud.