Minimal Kubernetes Cluster on Ubuntu in production

3/6/2019

I have a working production environment on a Ubuntu 18.04 machine with an application running with docker-compose (dedicated 8gb RAM and a Intel i7-4790). As an intermediate step for going cloud, I am migrating it to Kubernetes with Kompose. For the development environment, I am using minikube which is not intended for production.

From reading Out of the Clouds onto the Ground: How to Make Kubernetes Production Grade Anywhere I’ve seen some recommended standards for production-grade, but I can sacrifice some of the distributed advantages of Kubernetes in the beginning because this applications availability is not critical.

I would like to give a step ahead of using minikube in production, for further cloud deployment, but I only have this machine to start with. What would you recommend in my case?

-- staticdev
cluster-computing
docker
kubernetes
ubuntu

2 Answers

3/7/2019

If you consider to bootstrap Kubernetes cluster on bare metal platform, then I would take a look at kubeadm. It is most suitable for Kubernetes clusters with multi nodes support and provides a lot of features and customization options.

  • Infrastructure provisioning - Cluster API
  • Third-party network CNI plugins support
  • Addons for monitoring, logging, and visualization.
  • Specific cloud provider integrations (Load balancers, Storage classes, etc.)

However, moving Kubernetes to cloud environment can bring a more efficient way for managing Kubernetes cluster. As most of cloud providers natively offer Kubernetes engine (GKE, EKS, AKS, etc.).

-- mk_sta
Source: StackOverflow

3/6/2019

Moving from Minikube or microk8s to On Premises Kubernetes is huge leapfrog.

You are right about not using Minikube on production since according to Dan Lorenc (help create Minikube):

Anything that you need reliability for, like anything you're going to use in production, you should not use Minikube for. You should use something that has at least two or three nodes so, if something crashes, you don't lose all of your data.

I would suggest if possible having managed kubernetes on some of the big cloud providers AWS, Azure, GCP , DigitalOcean and etc. This way you skip setting up Kuberenetes and you are provided by buildin cloud provider Load Balancer.

If you are for option to start working on your Kubernetes in On Premises I would start from materials provided by Kelsey Hightower like material on this link.

Rancher labs have opensourced project k3s for easy installation of kubernetes for situations where a PhD in k8s clusterology is infeasible. Check their project on github.

-- Gile Champion
Source: StackOverflow