2015-07-12 04:04:52 +00:00
|
|
|
<!-- BEGIN MUNGE: UNVERSIONED_WARNING -->
|
|
|
|
|
|
|
|
<!-- BEGIN STRIP_FOR_RELEASE -->
|
|
|
|
|
2015-07-16 17:02:26 +00:00
|
|
|
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
|
|
|
|
width="25" height="25">
|
|
|
|
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
|
|
|
|
width="25" height="25">
|
|
|
|
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
|
|
|
|
width="25" height="25">
|
|
|
|
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
|
|
|
|
width="25" height="25">
|
|
|
|
<img src="http://kubernetes.io/img/warning.png" alt="WARNING"
|
|
|
|
width="25" height="25">
|
|
|
|
|
|
|
|
<h2>PLEASE NOTE: This document applies to the HEAD of the source tree</h2>
|
|
|
|
|
|
|
|
If you are using a released version of Kubernetes, you should
|
|
|
|
refer to the docs that go with that version.
|
|
|
|
|
|
|
|
<strong>
|
|
|
|
The latest 1.0.x release of this document can be found
|
|
|
|
[here](http://releases.k8s.io/release-1.0/docs/getting-started-guides/README.md).
|
|
|
|
|
|
|
|
Documentation for other releases can be found at
|
|
|
|
[releases.k8s.io](http://releases.k8s.io).
|
|
|
|
</strong>
|
|
|
|
--
|
2015-07-13 22:15:35 +00:00
|
|
|
|
2015-07-12 04:04:52 +00:00
|
|
|
<!-- END STRIP_FOR_RELEASE -->
|
|
|
|
|
|
|
|
<!-- END MUNGE: UNVERSIONED_WARNING -->
|
2015-03-06 17:54:46 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
# Creating a Kubernetes Cluster
|
2015-04-04 00:04:58 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
Kubernetes can run on a range of platforms, from your laptop, to VMs on a cloud provider, to rack of
|
2015-07-20 20:11:58 +00:00
|
|
|
bare metal servers. The effort required to set up a cluster varies from running a single command to
|
2015-07-16 23:37:24 +00:00
|
|
|
crafting your own customized cluster. We'll guide you in picking a solution that fits for your needs.
|
|
|
|
|
|
|
|
## Picking the Right Solution
|
|
|
|
|
2015-07-24 21:52:18 +00:00
|
|
|
If you just want to "kick the tires" on Kubernetes, we recommend the [local Docker-based](docker.md) solution.
|
2015-07-16 23:37:24 +00:00
|
|
|
|
2015-07-20 20:11:58 +00:00
|
|
|
The local Docker-based solution is one of several [Local cluster](#local-machine-solutions) solutions
|
|
|
|
that are quick to set up, but are limited to running on one machine.
|
2015-07-16 23:37:24 +00:00
|
|
|
|
2015-07-20 20:11:58 +00:00
|
|
|
When you are ready to scale up to more machines and higher availability, a [Hosted](#hosted-solutions)
|
2015-07-16 23:37:24 +00:00
|
|
|
solution is the easiest to create and maintain.
|
|
|
|
|
|
|
|
[Turn-key cloud solutions](#turn-key-cloud-solutions) require only a few commands to create
|
|
|
|
and cover a wider range of cloud providers.
|
|
|
|
|
2015-07-24 21:52:18 +00:00
|
|
|
[Custom solutions](#custom-solutions) require more effort to setup but cover and even
|
2015-07-16 23:37:24 +00:00
|
|
|
they vary from step-by-step instructions to general advice for setting up
|
2015-07-24 21:52:18 +00:00
|
|
|
a Kubernetes cluster from scratch.
|
2015-07-16 23:37:24 +00:00
|
|
|
|
|
|
|
### Local-machine Solutions
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-20 20:11:58 +00:00
|
|
|
Local-machine solutions create a single cluster with one or more Kubernetes nodes on a single
|
2015-07-16 23:37:24 +00:00
|
|
|
physical machine. Setup is completely automated and doesn't require a cloud provider account.
|
|
|
|
But their size and availability is limited to that of a single machine.
|
|
|
|
|
|
|
|
The local-machine solutions are:
|
2015-07-20 20:11:58 +00:00
|
|
|
- [Local Docker-based](docker.md) (recommended starting point)
|
2015-07-16 23:37:24 +00:00
|
|
|
- [Vagrant](vagrant.md) (works on any platform with Vagrant: Linux, MacOS, or Windows.)
|
|
|
|
- [No-VM local cluster](locally.md) (Linux only)
|
|
|
|
|
|
|
|
|
|
|
|
### Hosted Solutions
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
[Google Container Engine](https://cloud.google.com/container-engine) offers managed Kubernetes
|
|
|
|
clusters.
|
|
|
|
|
|
|
|
### Turn-key Cloud Solutions
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-20 21:51:13 +00:00
|
|
|
These solutions allow you to create Kubernetes clusters on a range of Cloud IaaS providers with only a
|
2015-07-16 23:37:24 +00:00
|
|
|
few commands, and have active community support.
|
|
|
|
- [GCE](gce.md)
|
|
|
|
- [AWS](aws.md)
|
|
|
|
- [Azure](coreos/azure/README.md)
|
|
|
|
|
|
|
|
### Custom Solutions
|
|
|
|
|
|
|
|
Kubernetes can run on a wide range of Cloud providers and bare-metal environments, and with many
|
|
|
|
base operating systems.
|
|
|
|
|
|
|
|
If you can find a guide below that matches your needs, use it. It may be a little out of date, but
|
2015-07-20 21:51:13 +00:00
|
|
|
it will be easier than starting from scratch. If you do want to start from scratch because you
|
|
|
|
have special requirements or just because you want to understand what is underneath a Kubernetes
|
2015-07-16 23:37:24 +00:00
|
|
|
cluster, try the [Getting Started from Scratch](scratch.md) guide.
|
|
|
|
|
|
|
|
If you are interested in supporting Kubernetes on a new platform, check out our [advice for
|
|
|
|
writing a new solution](../../docs/devel/writing-a-getting-started-guide.md).
|
|
|
|
|
|
|
|
#### Cloud
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
These solutions are combinations of cloud provider and OS not covered by the above solutions.
|
|
|
|
- [AWS + coreos](coreos.md)
|
|
|
|
- [GCE + CoreOS](coreos.md)
|
|
|
|
- [AWS + Ubuntu](juju.md)
|
|
|
|
- [Joyent + Ubuntu](juju.md)
|
|
|
|
- [Rackspace + CoreOS](rackspace.md)
|
|
|
|
|
|
|
|
#### On-Premises VMs
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
- [Vagrant](coreos.md) (uses CoreOS and flannel)
|
|
|
|
- [CloudStack](cloudstack.md) (uses Ansible, CoreOS and flannel)
|
|
|
|
- [Vmware](vsphere.md) (uses Debian)
|
|
|
|
- [juju.md](juju.md) (uses Juju, Ubuntu and flannel)
|
|
|
|
- [Vmware](coreos.md) (uses CoreOS and flannel)
|
|
|
|
- [libvirt-coreos.md](libvirt-coreos.md) (uses CoreOS)
|
|
|
|
- [oVirt](ovirt.md)
|
|
|
|
- [libvirt](fedora/flannel_multi_node_cluster.md) (uses Fedora and flannel)
|
|
|
|
- [KVM](fedora/flannel_multi_node_cluster.md) (uses Fedora and flannel)
|
|
|
|
|
|
|
|
#### Bare Metal
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
- [Offline](coreos/bare_metal_offline.md) (no internet required. Uses CoreOS and Flannel)
|
|
|
|
- [fedora/fedora_ansible_config.md](fedora/fedora_ansible_config.md)
|
2015-07-24 21:52:18 +00:00
|
|
|
- [Fedora single node](fedora/fedora_manual_config.md)
|
|
|
|
- [Fedora multi node](fedora/flannel_multi_node_cluster.md)
|
2015-07-16 23:37:24 +00:00
|
|
|
- [Centos](centos/centos_manual_config.md)
|
|
|
|
- [Ubuntu](ubuntu.md)
|
|
|
|
- [Docker Multi Node](docker-multinode.md)
|
|
|
|
|
|
|
|
#### Integrations
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
- [Kubernetes on Mesos](mesos.md) (Uses GCE)
|
|
|
|
|
|
|
|
## Table of Solutions
|
2015-07-17 22:35:41 +00:00
|
|
|
|
2015-07-16 23:37:24 +00:00
|
|
|
Here are all the solutions mentioned above in table form.
|
2015-03-06 17:54:46 +00:00
|
|
|
|
2015-07-14 22:35:09 +00:00
|
|
|
IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level
|
|
|
|
-------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ----------------------------
|
|
|
|
GKE | | | GCE | [docs](https://cloud.google.com/container-engine) | | Commercial
|
2015-07-27 19:22:45 +00:00
|
|
|
Vagrant | Saltstack | Fedora | OVS | [docs](vagrant.md) | [✓][2] | Project
|
2015-07-14 22:35:09 +00:00
|
|
|
GCE | Saltstack | Debian | GCE | [docs](gce.md) | [✓][1] | Project
|
|
|
|
Azure | CoreOS | CoreOS | Weave | [docs](coreos/azure/README.md) | | Community ([@errordeveloper](https://github.com/errordeveloper), [@squillace](https://github.com/squillace), [@chanezon](https://github.com/chanezon), [@crossorigin](https://github.com/crossorigin))
|
|
|
|
Docker Single Node | custom | N/A | local | [docs](docker.md) | | Project (@brendandburns)
|
|
|
|
Docker Multi Node | Flannel | N/A | local | [docs](docker-multinode.md) | | Project (@brendandburns)
|
|
|
|
Bare-metal | Ansible | Fedora | flannel | [docs](fedora/fedora_ansible_config.md) | | Project
|
|
|
|
Bare-metal | custom | Fedora | _none_ | [docs](fedora/fedora_manual_config.md) | | Project
|
|
|
|
Bare-metal | custom | Fedora | flannel | [docs](fedora/flannel_multi_node_cluster.md) | | Community ([@aveshagarwal](https://github.com/aveshagarwal))
|
|
|
|
libvirt | custom | Fedora | flannel | [docs](fedora/flannel_multi_node_cluster.md) | | Community ([@aveshagarwal](https://github.com/aveshagarwal))
|
|
|
|
KVM | custom | Fedora | flannel | [docs](fedora/flannel_multi_node_cluster.md) | | Community ([@aveshagarwal](https://github.com/aveshagarwal))
|
|
|
|
Mesos/GCE | | | | [docs](mesos.md) | | [Community](https://github.com/mesosphere/kubernetes-mesos) ([@jdef](https://github.com/jdef))
|
|
|
|
AWS | CoreOS | CoreOS | flannel | [docs](coreos.md) | | Community
|
|
|
|
GCE | CoreOS | CoreOS | flannel | [docs](coreos.md) | | Community [@pires](https://github.com/pires)
|
|
|
|
Vagrant | CoreOS | CoreOS | flannel | [docs](coreos.md) | | Community ( [@pires](https://github.com/pires), [@AntonioMeireles](https://github.com/AntonioMeireles) )
|
|
|
|
Bare-metal (Offline) | CoreOS | CoreOS | flannel | [docs](coreos/bare_metal_offline.md) | | Community([@jeffbean](https://github.com/jeffbean))
|
|
|
|
CloudStack | Ansible | CoreOS | flannel | [docs](cloudstack.md) | | Community (@runseb)
|
|
|
|
Vmware | | Debian | OVS | [docs](vsphere.md) | | Community (@pietern)
|
|
|
|
Bare-metal | custom | CentOS | _none_ | [docs](centos/centos_manual_config.md) | | Community(@coolsvap)
|
|
|
|
AWS | Juju | Ubuntu | flannel | [docs](juju.md) | | [Community](https://github.com/whitmo/bundle-kubernetes) ( [@whit](https://github.com/whitmo), [@matt](https://github.com/mbruzek), [@chuck](https://github.com/chuckbutler) )
|
|
|
|
OpenStack/HPCloud | Juju | Ubuntu | flannel | [docs](juju.md) | | [Community](https://github.com/whitmo/bundle-kubernetes) ( [@whit](https://github.com/whitmo), [@matt](https://github.com/mbruzek), [@chuck](https://github.com/chuckbutler) )
|
|
|
|
Joyent | Juju | Ubuntu | flannel | [docs](juju.md) | | [Community](https://github.com/whitmo/bundle-kubernetes) ( [@whit](https://github.com/whitmo), [@matt](https://github.com/mbruzek), [@chuck](https://github.com/chuckbutler) )
|
|
|
|
AWS | Saltstack | Ubuntu | OVS | [docs](aws.md) | | Community (@justinsb)
|
|
|
|
Vmware | CoreOS | CoreOS | flannel | [docs](coreos.md) | | Community (@kelseyhightower)
|
|
|
|
Azure | Saltstack | Ubuntu | OpenVPN | [docs](azure.md) | | Community
|
2015-07-10 02:25:24 +00:00
|
|
|
Bare-metal | custom | Ubuntu | calico | [docs](ubuntu-calico.md) | | Community (@djosborne)
|
2015-07-14 22:35:09 +00:00
|
|
|
Bare-metal | custom | Ubuntu | flannel | [docs](ubuntu.md) | | Community (@resouer @WIZARD-CXY)
|
|
|
|
Local | | | _none_ | [docs](locally.md) | | Community (@preillyme)
|
|
|
|
libvirt/KVM | CoreOS | CoreOS | libvirt/KVM | [docs](libvirt-coreos.md) | | Community (@lhuard1A)
|
|
|
|
oVirt | | | | [docs](ovirt.md) | | Community (@simon3z)
|
|
|
|
Rackspace | CoreOS | CoreOS | flannel | [docs](rackspace.md) | | Community (@doublerr)
|
2015-07-27 23:26:42 +00:00
|
|
|
any | any | any | any | [docs](scratch.md) | | Community (@erictune)
|
2015-04-21 14:45:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
*Note*: The above table is ordered by version test/used in notes followed by support level.
|
2015-03-05 21:23:11 +00:00
|
|
|
|
2015-01-29 05:46:32 +00:00
|
|
|
Definition of columns:
|
|
|
|
- **IaaS Provider** is who/what provides the virtual or physical machines (nodes) that Kubernetes runs on.
|
|
|
|
- **OS** is the base operating system of the nodes.
|
2015-07-20 20:11:58 +00:00
|
|
|
- **Config. Mgmt** is the configuration management system that helps install and maintain Kubernetes software on the
|
2015-01-29 05:46:32 +00:00
|
|
|
nodes.
|
2015-07-09 20:33:48 +00:00
|
|
|
- **Networking** is what implements the [networking model](../../docs/admin/networking.md). Those with networking type
|
2015-03-05 21:23:11 +00:00
|
|
|
_none_ may not support more than one node, or may support multiple VM nodes only in the same physical node.
|
2015-06-15 19:51:01 +00:00
|
|
|
- **Conformance** indicates whether a cluster created with this configuration has passed the project's conformance
|
2015-07-14 22:21:47 +00:00
|
|
|
tests for supporting the API and base features of Kubernetes v1.0.0.
|
2015-01-29 05:46:32 +00:00
|
|
|
- Support Levels
|
|
|
|
- **Project**: Kubernetes Committers regularly use this configuration, so it usually works with the latest release
|
2015-02-04 19:08:12 +00:00
|
|
|
of Kubernetes.
|
2015-01-29 05:46:32 +00:00
|
|
|
- **Commercial**: A commercial offering with its own support arrangements.
|
2015-07-20 20:11:58 +00:00
|
|
|
- **Community**: Actively supported by community contributions. May not work with more recent releases of Kubernetes.
|
|
|
|
- **Inactive**: No active maintainer. Not recommended for first-time Kubernetes users, and may be deleted soon.
|
|
|
|
- **Notes** is relevant information such as the version of Kubernetes used.
|
2015-05-14 22:12:45 +00:00
|
|
|
|
2015-07-14 22:35:09 +00:00
|
|
|
<!-- reference style links below here -->
|
|
|
|
<!-- GCE conformance test result -->
|
|
|
|
[1]: https://gist.github.com/erictune/4cabc010906afbcc5061
|
2015-07-27 19:22:45 +00:00
|
|
|
<!-- Vagrant conformance test result -->
|
|
|
|
[2]: https://gist.github.com/derekwaynecarr/505e56036cdf010bf6b6
|
2015-05-14 22:12:45 +00:00
|
|
|
|
2015-07-14 00:13:09 +00:00
|
|
|
|
|
|
|
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
2015-05-14 22:12:45 +00:00
|
|
|
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/getting-started-guides/README.md?pixel)]()
|
2015-07-14 00:13:09 +00:00
|
|
|
<!-- END MUNGE: GENERATED_ANALYTICS -->
|