<p>I have been trying to wrap my head around how Rancher (or DC/OS) is different from Kubernetes. Both of them say they are Container management tools. Why we do we need both? How are they different?</p>

<h1>Author's note</h1>

<p>This question was originally posted 3 years ago. Since then the technology landscape has moved on. </p>

<p>For example Mesosphere, the company behind DCOS has <a href="https://techcrunch.com/2019/08/05/mesosphere-changes-name-to-d2iq-shifts-focus-to-kubernetes-cloud-native/" rel="nofollow noreferrer">renamed itself and refocused it's efforts on Kubernetes</a>. Similarily <a href="https://rancher.com/" rel="nofollow noreferrer">Rancher</a> positioned itself as a Kubernetes installation and management layer.</p>

<p>If this issue is still a puzzle I'd suggest posing new question.</p>

<hr>

<h1>Original answer</h1>

<p>Rancher is a neat tool that is best described as a deployment tool for Kubernetes that additionally has integrated itself to provide networking and load balancing support.</p>

<p>Rancher initially created it's own framework, called Cattle, to coordinate docker containers across multiple hosts. At that time Docker was limited to running on a single host. Rancher offered an interesting solution to this problem by providing networking between hosts, something that was eventually to become part of Docker Swarm.</p>

<p>Now Rancher enables users to deploy a choice of Cattle, Docker Swarm, Apache Mesos (upstream project for DCOS) or Kubernetes to manage your containers.</p>

<hr>

<p><strong>Response to <a href="https://stackoverflow.com/users/113173/jdc0589">jdc0589</a></strong></p>

<p>You're quite correct. To the container user Kubernetes abstracts away the underlying implementation details of compute, networking and storage. It's in the setup of this underlying detail where Rancher helps. Rancher's networking provides a consistent solution across a variety of platforms. I have found it particularly useful when running on bare metal or standard (non cloud) virtual servers. </p>

<p>If you're only using AWS, I would use <a href="https://github.com/kubernetes/kops" rel="nofollow noreferrer">kops</a> and take advantage the native integration you've mentioned. </p>

<p>While I'm k8s fixated, it must be acknowledged that Rancher also allows the easy install of other frameworks (Swarm and Mesos). I recommend trying it out, if only to understand why you don't need it. </p>

<ul>
<li><a href="http://docs.rancher.com/rancher/v1.5/en/quick-start-guide/" rel="nofollow noreferrer">http://docs.rancher.com/rancher/v1.5/en/quick-start-guide/</a></li>
<li><a href="http://docs.rancher.com/rancher/v1.5/en/kubernetes/" rel="nofollow noreferrer">http://docs.rancher.com/rancher/v1.5/en/kubernetes/</a></li>
</ul>

<hr>

<h2>Update 2017-10-11</h2>

<p>Rancher have announced a preview of <a href="https://rancher.com/rancher2-0/" rel="nofollow noreferrer">Rancher 2.0</a>. The new answer to your question is that soon Rancher will be an admin UI and set of additional services designed to be deployed on top of Kubernetes.</p>
