MLSysOps Hackathon: An Inspiring Adventure in AI Production Systems

🌍 An Inspiring and Hands-On Adventure for SysOps, DevOps, MLOps Enthusiasts This weekend I joined the MLSysOps Hackathon, an intense and rewarding experience for anyone passionate about SysOps, DevOps and MLOps. It was a powerful reminder of how collaboration and teamwork accelerate innovation: working side by side with talented people from all over the world at the Università della Calabria made the journey both exciting and deeply enriching. 📚 A Valuable Step for AI & ML Growth Beyond the challenge itself, this hackathon was an incredible opportunity to deepen my understanding of AI in production, from model lifecycle management to infrastructure orchestration. Experiences like this are essential for anyone who wants to master MLOps and build real-world, production-ready AI systems. ...

October 24, 2025 · 2 min · Umberto Domenico Ciccia

How I Passed the CKA (Certified Kubernetes Administrator) Exam

I’ve just passed the CKA. 🎉 Here’s exactly how I prepared, what I practiced, how I set up my terminal, and the mindset I used on exam day. No spoilers, no NDA violations,just the process that worked for me. TL;DR Learn by doing: daily labs > passive videos. Automate muscle memory: aliases, completion, templates. Use kubectl explain + --dry-run=client -o yaml to avoid YAML typos. Be ruthless with time: solve, verify, move on, return later. My 4-Week Study Plan Week 1, Core Workloads & Kubectl Pods, Deployments, DaemonSets, Jobs/CronJobs Services (ClusterIP/NodePort/LoadBalancer), Probes, ConfigMaps, Secrets Hands-on: create → tweak → roll back → scale Week 2, Cluster Admin Basics Control plane components, kubelet & static Pods, kubeadm basics Node ops: cordon/drain/uncordon, taints/tolerations Backups (etcd snapshot/restore concepts), upgrades flow Week 3, Networking & Storage CNI basics, NetworkPolicies, Ingress StorageClasses, PV/PVC, CSI, access modes, reclaim policies Week 4, Security & Troubleshooting RBAC (Roles, ClusterRoles, Bindings), ServiceAccounts Scheduling (affinity/anti-affinity, topology spread), resources/limits Troubleshooting: events/logs, image pulls, CrashLoopBackOff, DNS Daily rhythm: 60–90 min labbing + 15–30 min notes + quick review of mistakes. ...

August 27, 2025 · 5 min · Umberto Domenico Ciccia

Building a Raspberry Pi 4 K3s Cluster

Introduction After some tinkering, I decided to build an homebalb with 2-node Raspberry Pi 4 cluster running K3s, one master and one worker, to learn better Kubernetes and host my own services. In this post, I’ll walk you through the process: from hardware setup to K3s installation and homepage deployment with ingress access. Hardware Setup Here’s the base hardware I used: 2× Raspberry Pi 4 (4GB RAM each) Mini rack with dual fans for cooling Gigabit network switch Ethernet cables Personal PC (used as a proxy to manage the cluster) Raspberry Pi OS installed on both Pis (SSH enabled) The Raspberry Pis are connected to the switch, and my DHCP server handles: ...

August 8, 2025 · 2 min · Umberto Domenico Ciccia

Cka Notes

Core concepts Cluster Architecture Master node: orchestrate nodes → schedule, monitor, worker, state, manage cluster Worker node: host applications as container Master node components: ETCD: database of the state of the cluster KUBE-SCHEDULER: schedule pods to worker nodes CONTROLLER-MANAGER NODE-CONTROLLER: orchestrate nodes REPLICATION-CONTROLLER: orchestrate replication groups KUBE-APISERVER: expose k8s cluster from external thought api Worker node components: CONTAINER RUNTIME: container runtime engine KUBELET: agent that run in every node, for receive api call from api server KUBE-PROXY: manage communication between container, nodes Container runtime interface Container runtime interface CRI: allow to use k8s with all container runtime ...

August 6, 2025 · 22 min · Umberto Domenico Ciccia

How to Develop a Jenkins Pipeline with a Custom Agent Pod Template from an External Repository

Jenkins pipelines running on Kubernetes offer powerful customization using pod templates. In this post, you’ll learn how to define a custom Kubernetes agent pod in a YAML template located in a different Git repository, and then use that in your Jenkins pipeline. 🧱 Requirements Jenkins with the Kubernetes plugin A Git repo hosting your custom pod template YAML Access to a Kubernetes cluster (like EKS, GKE, or Minikube) Git credentials stored in Jenkins (e.g., via credentialsId) 📁 Repository Structure We assume you have two Git repositories: ...

July 31, 2025 · 2 min · Umberto Domenico Ciccia