Skip to content
comparisons.md 1.45 KiB
Newer Older
# Comparison
## Kubespray vs Kops
Bogdan Dobrelya's avatar
Bogdan Dobrelya committed

Kubespray runs on bare metal and most clouds, using Ansible as its substrate for
provisioning and orchestration. [Kops](https://github.com/kubernetes/kops) performs the provisioning and orchestration
Bogdan Dobrelya's avatar
Bogdan Dobrelya committed
itself, and as such is less flexible in deployment platforms. For people with
familiarity with Ansible, existing Ansible deployments or the desire to run a
Kubernetes cluster across multiple platforms, Kubespray is a good choice. Kops,
Bogdan Dobrelya's avatar
Bogdan Dobrelya committed
however, is more tightly integrated with the unique features of the clouds it
supports so it could be a better choice if you know that you will only be using
one platform for the foreseeable future.

## Kubespray vs Kubeadm
Bogdan Dobrelya's avatar
Bogdan Dobrelya committed

[Kubeadm](https://github.com/kubernetes/kubeadm) provides domain Knowledge of Kubernetes clusters' life cycle
Bogdan Dobrelya's avatar
Bogdan Dobrelya committed
management, including self-hosted layouts, dynamic discovery services and so
on. Had it belonged to the new [operators world](https://coreos.com/blog/introducing-operators.html),
it may have been named a "Kubernetes cluster operator". Kubespray however,
Bogdan Dobrelya's avatar
Bogdan Dobrelya committed
does generic configuration management tasks from the "OS operators" ansible
world, plus some initial K8s clustering (with networking plugins included) and
Maxime Guyot's avatar
Maxime Guyot committed
control plane bootstrapping.
Kubespray has started using `kubeadm` internally for cluster creation since v2.3
in order to consume life cycle management domain knowledge from it
and offload generic OS configuration things from it, which hopefully benefits both sides.