I'm new to DevOps and working on a university project that involves deploying an application on the university's own servers. I'm not using a public cloud because the environment has privacy requirements, and the servers are already available. Most of the material I've found, including books about DevOps delivery and Kubernetes, focuses on cloud deployments. I already have resources for learning Docker and Kubernetes, so I'm mainly looking for beginner-friendly guidance on the on-premises parts: preparing the infrastructure, handling networking and ingress, managing storage, configuring DNS and certificates, and maintaining the cluster over time. The recommendation does not need to explain Docker or Kubernetes fundamentals in depth.
4 Answers
It helps to separate deploying the infrastructure from deploying the application. Your physical servers become Kubernetes nodes, but you still need to decide how the operating system and cluster will be installed, upgraded, monitored, and recovered. For a student project, keep the design simple and document every assumption rather than trying to recreate a large enterprise platform. Once the cluster is working, application deployment is mostly the same as it would be in the cloud.
If you want to automate the cluster lifecycle, the Cluster API documentation and book are worth looking at. It covers provisioning and managing Kubernetes clusters, including upgrades and node replacement. It can be fairly complex for a small project, so I’d treat it as a next step rather than a prerequisite. A simpler Kubernetes-focused operating system such as Talos Linux is another option if your goal is to reduce the amount of host configuration you need to manage yourself.
Be careful not to assume that virtualization is mandatory. Kubernetes can run directly on physical Linux servers, although you’ll be responsible for the hardware, networking, storage, and failure recovery. Virtual machines can provide useful isolation and make testing easier, but they also add another layer to operate. For a university project with a limited number of servers, a small, well-documented bare-metal or virtualized setup is usually more realistic than building a full private-cloud platform.
The Kubernetes concepts in those books still apply on premises. The main difference is that you have to provide services a cloud platform normally handles for you, such as load balancing, persistent storage, ingress, DNS, certificates, backups, and node maintenance. A practical approach is to study Kubernetes The Hard Way, then learn the specific on-premises components you plan to use, such as MetalLB or kube-vip for load balancing and a storage solution such as Longhorn or Ceph. That combination will probably teach you more than a single book focused only on on-premises deployment.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures