I imagine this article will be one in many about my journey through the tedious learning process of the world of Kubernetes and Microservices.
One thing has to be clarified - We are two people working on this massive project, building and orchestrating an entire hosting environment, working environment, development environment, not to mention being the ones having to design and develop every single site, service and microservice for this project… And I think we are doing a pretty darn good job!
I just never imagined so many services, pods and containers running 😱
When we started building the Gitlab + Kubernetes environment I didn’t take into account, review, staging and production for every single microservice.. I have deployed 3 repos to the Gitlab server, which have individually few branches with review apps, and slowly I am approaching the first 30 pods running just for a few services already..
When we purchased the servers for this environment, we knew we were going to need some space. RAM and disk storage. And one would think that 20 TB in RAID, and 2 x 128 GB RAM would be sufficient, but once you set up ESXI, each with 20 Virtual Machines all carrying Gitlab, ETCD, Kubernetes Cluster, GlusterFS cluster, HAProxy, IPFire, VPN secure, firewalls, Heketi and god knows what, and then afterwords, int he Kubernetes cluster, having 4 worker nodes orchestrating 30 virtual containers already, you realise that storage and RAM is essential for building this setup.
And to think we even considered creating multiple Kubernetes clusters in the same environment. damn…
My quick lesson to be learned here would be: “Don’t go down on storage - Kubernetes requires loads of machinery.”