<p>Does Kubernetes have the ability/need to hook into a cloud provider (AWS, Rackspace) to spin up new nodes? If so, how does it then provision the node - does it run Ansible etc? Or will Kubernetes need to have all the nodes available to it manually?</p>

<p>The short answer is no.</p>

<p>The longer answer is explained in the following blog posting that describes the new <a href="http://kubernetes.io/docs/getting-started-guides/kubeadm/" rel="nofollow noreferrer">kubeadm</a> command:</p>

<p><a href="http://blog.kubernetes.io/2016/09/how-we-made-kubernetes-easy-to-install.html" rel="nofollow noreferrer">http://blog.kubernetes.io/2016/09/how-we-made-kubernetes-easy-to-install.html</a></p>

<blockquote>
  <p>There are three stages in setting up a Kubernetes cluster, and we
  decided to focus on the second two (to begin with):</p>
  
  <ol>
  <li>Provisioning: getting some machines</li>
  <li>Bootstrapping: installing Kubernetes on them and configuring certificates</li>
  <li>Add-ons: installing necessary cluster add-ons like DNS and monitoring  services, a pod network, etc</li>
  </ol>
  
  <p>We realized early on that there's enormous variety in the way that
  users want to provision their machines.</p>
  
  <p>They use lots of different cloud providers, private clouds, bare
  metal, or even Raspberry Pi's, and almost always have their own
  preferred tools for automating provisioning machines: Terraform or
  CloudFormation, Chef, Puppet or Ansible, or even PXE booting bare
  metal. <strong>So we made an important decision: kubeadm would not provision
  machines.</strong> Instead, the only assumption it makes is that the user has
  some computers running Linux.</p>
</blockquote>

<hr>

<p>Update</p>

<ul>
<li><a href="http://blog.kubernetes.io/2017/01/stronger-foundation-for-creating-and-managing-kubernetes-clusters.html" rel="nofollow noreferrer">http://blog.kubernetes.io/2017/01/stronger-foundation-for-creating-and-managing-kubernetes-clusters.html</a></li>
</ul>
