So, one of my clients I have been working for for a great number of years is looking to expand their business. Their current project is running on one Windows server running Apache, PHP, MySQL. In the next version we’re looking to move to a Linux based platform and I thought Docker could work and I was able to quickly set up a basic set of Docker containers with PHP and MySQL. My next thought was using Kubernetes as means of load balancing instead of running everything on just 1 server or 1 set of containers. I have watched Network Chuck’s explanation on the topic and I’m confident I’ll be able to get this to work. I have looked into a couple of cloud providers like TransIP, Linode and Vultr and based on my experience with the latter, I think I might go with them, but before I set anything up just yet, I have a few questions:
Cronjobs: The application is a web application and contains a couple of cronjobs. I first installed crontab on my PHP container, but that would mean the job will run on all containers, right? Is there a way of of just running it on 1 container?
Store data: I have created a number of volumes that host the PHP files as well as the MySQL databases, so far so good. But how does this work within a Kubernetes cluster? Do all pods get their data from the same centralized volume? And I’m able to access this data via (for example) FTP or SSH?
Vultr specific: Could ask this directly with them of course, but I’d rather have a non biased opinion. Vultr states on their website they have a “Free Controle Plane”. Is this Kubectl?
Let’s Encrypt: is it possible to add LE to the mix?
Just a few things. When I go ahead and set this up I’ll probably run into a few things, but these are things I’d like to know before “inserting the boot disk”. Thanks for taking the time reading this.
I would strongly advise not jumping right into Kubernetes, especially self-managed on a platform like Vultr. Kubernetes is incredibly powerful with an extreme amount of flexibility, but that flexibility comes with a high level of complexity and a lot of potential landmines.
If you’d still like to explore K8s as an option, I’d suggest pursuing the CKA which should prepare you for self-managing K8s.
Certified Kubernetes Administrator. Even if you do not pursue getting the cert itself, doing the research and such you’d need to take the test will teach you everything you need to know to be successful with getting started.