Is there any way to deploy multi-container application in K8S single node for production?

11/19/2019

What i want do is deployment of multiple container application in...

  • In RHEL os
    • RedHat Supportable product (if possible)
  • In single node K8S cluster (Bare metal machine)

So I found several way but I concerned about..

  • minikube, minishift, OKD, CodeReady Container
    • First, they run in VM but what I want is run in HOST.
    • Second, their doc said they are not for production environment.
    • So, Is there any PaaS for single-node cluster as production environment?
  • Docker, Docker-compose
    • Deployment target OS should maybe RHEL8. I guess it is not good idea to use docker because RedHat product is moving away from docker. Even in RHEL8 repository, there is no docker rpm for el8 yet.

My question is

  • Is there any PaaS for single-node cluster as production environment?
  • If not exist, docker-compose is best?
-- Hwang Seonbi
deployment
docker-compose
kubernetes
openshift
rhel

2 Answers

11/19/2019

Single node cluster is not recommended for production applications. You need scalability, high availability, fault tolerance for production apps. You must have more than one node to have these features.

-- P Ekambaram
Source: StackOverflow

11/21/2019

It was already mentioned, you should not use single node setup in production environment.

You should not do that because, if your servers drops you have service offline. There is nothing to switch to, nothing that might continue the process that was being worked on.

If you still want to setup a single node Kubernetes cluster you can do that using kubeadm. I think this would be closest to production grade as you can get.

Other then that as an alternative you can play with Installing Kubernetes with Minikube or Install a local Kubernetes with MicroK8s.

It's up to you which one you will choose but you need to remember this should not be running as a production, this should be a lab or a test environment which if works as expected will be migrated into few node production grade cluster.

As for PaaS as a single node there is Dokku.

Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.

And if you would consider using a cloud for PaaS, you can choose from AWS Cloud9, Azure App Service or Google App Engine.

-- Crou
Source: StackOverflow