Skip to content

Commit 72fcc6f

Browse files
drnickiwosterman
authored andcommitted
FAQ:kops vs. kubeadm (#447)
* add FAQ:kops vs. kubeadm * update kops vs kubeadm * updated kops-vs-kubeadm * add tags to description
1 parent 8cfee41 commit 72fcc6f

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

content/faq/kops-vs-kubeadm.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: "Why use `kops` instead of `kubeadm`?"
3+
description: "`kops` handles everything (top to bottom), so that the output is a Kubernetes cluster and a tool to easily manage the lifecycle of the cluster."
4+
tags:
5+
- kops
6+
- kubeadm
7+
- EKS
8+
- Terraform
9+
---
10+
11+
## Question
12+
13+
Why the `kops` approach vs `kubeadm` or EKS?
14+
15+
16+
## Answer
17+
18+
The `kubeadm` tool only addresses bootstrapping the initialization of the Kubernetes configuration on running nodes. Something else needs to orchestrate the instance creation and zero-downtime upgrade process (e.g. `drain+cordon`).
19+
20+
For the same reason, EKS is less than ideal when managed with `terraform`. Terraform is great at basic CRUD (we have the [Terraform modules to do it](https://github.com/cloudposse/terraform-aws-eks-cluster)). However, if you need to coordinate upgrades as a "human operator", then Terraform is not the right tool. Therefore, custom scripting is necessary. Terraform likes to destroy and create resources, not perform some elaborate and coordinated process. On the other hand, the `kops` tool handles everything (top to bottom), so that the output is a Kubernetes cluster and a tool to easily manage the lifecycle of the cluster. Once AWS Fargate supports Kubernetes, then we think EKS is worth reevaluating. Terraform would then be adequate. The `kubeadm` tool was born after `kops` tool; our guess is that if `kops` was started today, then `kubeadm` would be incorporated into the mix.

0 commit comments

Comments
 (0)