add kubespray to the XTesting as it provides newer version of kubenetes and can be...
[it/test.git] / XTesting / kubespray / docs / comparisons.md
1 # Comparison
2
3 ## Kubespray vs Kops
4
5 Kubespray runs on bare metal and most clouds, using Ansible as its substrate for
6 provisioning and orchestration. [Kops](https://github.com/kubernetes/kops) performs the provisioning and orchestration
7 itself, and as such is less flexible in deployment platforms. For people with
8 familiarity with Ansible, existing Ansible deployments or the desire to run a
9 Kubernetes cluster across multiple platforms, Kubespray is a good choice. Kops,
10 however, is more tightly integrated with the unique features of the clouds it
11 supports so it could be a better choice if you know that you will only be using
12 one platform for the foreseeable future.
13
14 ## Kubespray vs Kubeadm
15
16 [Kubeadm](https://github.com/kubernetes/kubeadm) provides domain Knowledge of Kubernetes clusters' life cycle
17 management, including self-hosted layouts, dynamic discovery services and so
18 on. Had it belonged to the new [operators world](https://coreos.com/blog/introducing-operators.html),
19 it may have been named a "Kubernetes cluster operator". Kubespray however,
20 does generic configuration management tasks from the "OS operators" ansible
21 world, plus some initial K8s clustering (with networking plugins included) and
22 control plane bootstrapping.
23
24 Kubespray has started using `kubeadm` internally for cluster creation since v2.3
25 in order to consume life cycle management domain knowledge from it
26 and offload generic OS configuration things from it, which hopefully benefits both sides.