Difference between Setup tool and production running tool in Kubernetes clustering

4/16/2018

I am trying to create Kubernetes cluster by using tool kubeadm. When I am exploring I found that by using kubeadm we can create our Kubernetes clusters and also kops is an advanced type tool. When I am reading about Kubernetes, comments are like - Kubeadm is a cluster set up tool. Not a production runtime tool.

I found this information in my previous discussion - In this, answer for 5 the point I found. Let me add here:

Kubernetes Architecture - Kubernetes Cluster Management And Initializing Nodes

I am totally confused about Kubernetes architecture now. Let me add my confusions here:

  1. What is the difference between setup tool and production runtime tool in Kubernetes?
  2. If I am using kubeadm for setup, what are my options for production runtime tool for Kubernetes ? (According to the comments that I found that kubeadm is not a production runtime tool)
  3. If I am using Kops instead of kubeadm, Is this strategy is same? Do I need to use separate production running tool?
  4. Which is the best practice for doing this?

When I am reading each link, I am not properly understanding the concept.

-- Jacob
kubernetes

1 Answer

4/16/2018

What is the difference between setup tool and production runtime tool in kubernetes?

Setup tool is a special tool for creating and initializing a Kubernetes cluster. It is not clear for me what you mean by "production runtime tool," and I've never heard about that in Kubernetes, but Kubeadm and Kops are specially designed for the same functions - create, initialize and upgrade a cluster, so they are setup tools.

If I am using kubeadm for setup, what are my options for production runtime tool for kubernetes ? (According to the comments that I found that kubeadm is not a production runtime tool)

You don't need any other tools except Kubernetes itself to manage cluster after you created it. Moreover, you can create cluster manually without any special setup tools.

If I am using Kops instead of kubeadm, Is this strategy is same? Do I need to use separate production running tool?

Yes, the strategy is the same. No, you don't need any other tools.

Which is the best practice for doing this?

Just use a proper tool to create and initialize a Kubernetes cluster on your platform and start to use it. For AWS - I can recommend Kops (or Amazon EKS), for in-premise - Kubeadm, in Google Cloud you can use GKE.

UPD

Ok, I got what you meant by "production runtime tool." In that context, the "production runtime tool" is a part of Kubernetes or something which is always running as a part of a cluster (like flannel, etc.). Kubeadm and Kops is not a part of it, those are just optional tools.

Can I use kubeadm in aws Ec2 machine instead of going EKS service? Can I choose? Is that also a feasibility ?

Yes, you can use it, it's for you to choose. EKS is just a "Kubernetes as a service", but you can create your own installation.

If I am choosing kubeadm in AWS EC2 ( I have one Ubuntu 16.04 LTS VM), Can I create another 3 for my 4 node + master cluster requirement?

If I understood you right, then yes. You can create as many nodes as you want.

-- Anton Kostenko
Source: StackOverflow