Kubespray vs Kops

Kubespray runs on bare metal and most clouds, using Ansible as its substrate forprovisioning and orchestration. Kops performs the provisioning and orchestrationitself, and as such is less flexible in deployment platforms. For people withfamiliarity with Ansible, existing Ansible deployments or the desire to run aKubernetes cluster across multiple platforms, Kubespray is a good choice. Kops,however, is more tightly integrated with the unique features of the clouds itsupports so it could be a better choice if you know that you will only be usingone platform for the foreseeable future.

Kubespray vs Kubeadm

Kubeadm provides domain Knowledge of Kubernetes clusters’ life cyclemanagement, including self-hosted layouts, dynamic discovery services and soon. Had it belonged to the new operators world,it may have been named a “Kubernetes cluster operator”. Kubespray however,does generic configuration management tasks from the “OS operators” ansibleworld, plus some initial K8s clustering (with networking plugins included) andcontrol plane bootstrapping.

Kubespray supports kubeadm for cluster creation since v2.3(and deprecated non-kubeadm deployment starting from v2.8)in order to consume life cycle management domain knowledge from itand offload generic OS configuration things from it, which hopefully benefits both sides.