Riassunto analitico
Kubernetes has become the industry standard for orchestrating containerized workloads, enabling scalable, declarative, and automated infrastructure. This thesis presents a practical exploration of building and operating production-ready Kubernetes clusters through hands-on experience with real-world workloads.
The work begins by introducing the containerization model and analyzing why Kubernetes is a powerful fit for modern applications. It then compares different cluster provisioning strategies—ranging from manual setups with \texttt{kubeadm} to advanced tools like ClusterAPI and Rancher—highlighting trade-offs in scalability and automation.
A significant portion of the thesis is dedicated to application lifecycle management. It evaluates declarative deployment strategies using manifests, Kustomize, and Helm, and contrasts CI/CD pipelines with GitOps approaches based on Flux. Special attention is given to structuring Git repositories for multi-cluster deployments and securing sensitive data through encrypted secrets using SOPS.
The core operational components of a production Kubernetes cluster are examined in detail, including networking (CNI), storage (CSI), ingress and certificate management (cert-manager), centralized logging, and observability using Prometheus and Grafana. Security practices such as RBAC, network policies, and secret handling are also addressed.
The final part of the thesis analyzes real deployment scenarios developed during the author's work experience: adapting monolithic applications like iTop from VMs to containers, migrating Python automation scripts to Kubernetes, deploying shared services like MinIO and Harbor, and exposing database services through Gateway API. These case studies illustrate concrete challenges in Kubernetes adoption and demonstrate the benefits of automation, modularity, and reproducibility enabled by GitOps.
Overall, this thesis serves as a practical guide for designing, operating, and evolving Kubernetes clusters in enterprise contexts, with a strong focus on hands-on implementation and real-world constraints.
|