github.com/enmand/kubernetes@v1.2.0-alpha.0/docs/getting-started-guides/README.md (about)

     1  <!-- BEGIN MUNGE: UNVERSIONED_WARNING -->
     2  
     3  <!-- BEGIN STRIP_FOR_RELEASE -->
     4  
     5  <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
     6       width="25" height="25">
     7  <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
     8       width="25" height="25">
     9  <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
    10       width="25" height="25">
    11  <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
    12       width="25" height="25">
    13  <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
    14       width="25" height="25">
    15  
    16  <h2>PLEASE NOTE: This document applies to the HEAD of the source tree</h2>
    17  
    18  If you are using a released version of Kubernetes, you should
    19  refer to the docs that go with that version.
    20  
    21  <strong>
    22  The latest 1.0.x release of this document can be found
    23  [here](http://releases.k8s.io/release-1.0/docs/getting-started-guides/README.md).
    24  
    25  Documentation for other releases can be found at
    26  [releases.k8s.io](http://releases.k8s.io).
    27  </strong>
    28  --
    29  
    30  <!-- END STRIP_FOR_RELEASE -->
    31  
    32  <!-- END MUNGE: UNVERSIONED_WARNING -->
    33  
    34  # Creating a Kubernetes Cluster
    35  
    36  Kubernetes can run on a range of platforms, from your laptop, to VMs on a cloud provider, to rack of
    37  bare metal servers.  The effort required to set up a cluster varies from running a single command to
    38  crafting your own customized cluster.  We'll guide you in picking a solution that fits for your needs.
    39  
    40  ## Picking the Right Solution
    41  
    42  If you just want to "kick the tires" on Kubernetes, we recommend the [local Docker-based](docker.md) solution.
    43  
    44  The local Docker-based solution is one of several [Local cluster](#local-machine-solutions) solutions
    45  that are quick to set up, but are limited to running on one machine.
    46  
    47  When you are ready to scale up to more machines and higher availability, a [Hosted](#hosted-solutions)
    48  solution is the easiest to create and maintain.
    49  
    50  [Turn-key cloud solutions](#turn-key-cloud-solutions) require only a few commands to create
    51  and cover a wider range of cloud providers.
    52  
    53  [Custom solutions](#custom-solutions) require more effort to setup but cover and even
    54  they vary from step-by-step instructions to general advice for setting up
    55  a Kubernetes cluster from scratch.
    56  
    57  ### Local-machine Solutions
    58  
    59  Local-machine solutions create a single cluster with one or more Kubernetes nodes on a single
    60  physical machine.  Setup is completely automated and doesn't require a cloud provider account.
    61  But their size and availability is limited to that of a single machine.
    62  
    63  The local-machine solutions are:
    64    - [Local Docker-based](docker.md) (recommended starting point)
    65    - [Vagrant](vagrant.md) (works on any platform with Vagrant: Linux, MacOS, or Windows.)
    66    - [No-VM local cluster](locally.md) (Linux only)
    67  
    68  
    69  ### Hosted Solutions
    70  
    71  [Google Container Engine](https://cloud.google.com/container-engine) offers managed Kubernetes
    72  clusters.
    73  
    74  ### Turn-key Cloud Solutions
    75  
    76  These solutions allow you to create Kubernetes clusters on a range of Cloud IaaS providers with only a
    77  few commands, and have active community support.
    78  - [GCE](gce.md)
    79  - [AWS](aws.md)
    80  - [Azure](coreos/azure/README.md)
    81  
    82  ### Custom Solutions
    83  
    84  Kubernetes can run on a wide range of Cloud providers and bare-metal environments, and with many
    85  base operating systems.
    86  
    87  If you can find a guide below that matches your needs, use it.  It may be a little out of date, but
    88  it will be easier than starting from scratch.  If you do want to start from scratch because you
    89  have special requirements or just because you want to understand what is underneath a Kubernetes
    90  cluster, try the [Getting Started from Scratch](scratch.md) guide.
    91  
    92  If you are interested in supporting Kubernetes on a new platform, check out our [advice for
    93  writing a new solution](../../docs/devel/writing-a-getting-started-guide.md).
    94  
    95  #### Cloud
    96  
    97  These solutions are combinations of cloud provider and OS not covered by the above solutions.
    98  - [AWS + coreos](coreos.md)
    99  - [GCE + CoreOS](coreos.md)
   100  - [AWS + Ubuntu](juju.md)
   101  - [Joyent + Ubuntu](juju.md)
   102  - [Rackspace + CoreOS](rackspace.md)
   103  
   104  #### On-Premises VMs
   105  
   106  - [Vagrant](coreos.md) (uses CoreOS and flannel)
   107  - [CloudStack](cloudstack.md) (uses Ansible, CoreOS and flannel)
   108  - [Vmware](vsphere.md)  (uses Debian)
   109  - [juju.md](juju.md) (uses Juju, Ubuntu and flannel)
   110  - [Vmware](coreos.md)  (uses CoreOS and flannel)
   111  - [libvirt-coreos.md](libvirt-coreos.md)  (uses CoreOS)
   112  - [oVirt](ovirt.md)
   113  - [libvirt](fedora/flannel_multi_node_cluster.md) (uses Fedora and flannel)
   114  - [KVM](fedora/flannel_multi_node_cluster.md)  (uses Fedora and flannel)
   115  
   116  #### Bare Metal
   117  
   118  - [Offline](coreos/bare_metal_offline.md) (no internet required.  Uses CoreOS and Flannel)
   119  - [fedora/fedora_ansible_config.md](fedora/fedora_ansible_config.md)
   120  - [Fedora single node](fedora/fedora_manual_config.md)
   121  - [Fedora multi node](fedora/flannel_multi_node_cluster.md)
   122  - [Centos](centos/centos_manual_config.md)
   123  - [Ubuntu](ubuntu.md)
   124  - [Docker Multi Node](docker-multinode.md)
   125  
   126  #### Integrations
   127  
   128  - [Kubernetes on Mesos](mesos.md) (Uses GCE)
   129  
   130  ## Table of Solutions
   131  
   132  Here are all the solutions mentioned above in table form.
   133  
   134  IaaS Provider        | Config. Mgmt | OS     | Networking  | Docs                                              | Conforms | Support Level
   135  -------------------- | ------------ | ------ | ----------  | ---------------------------------------------     | ---------| ----------------------------
   136  GKE                  |              |        | GCE         | [docs](https://cloud.google.com/container-engine) | [✓][3]   | Commercial
   137  Vagrant              | Saltstack    | Fedora | flannel     | [docs](vagrant.md)                                | [✓][2]   | Project
   138  GCE                  | Saltstack    | Debian | GCE         | [docs](gce.md)                                    | [✓][1]   | Project
   139  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))
   140  Docker Single Node   | custom       | N/A    | local       | [docs](docker.md)                                 |          | Project ([@brendandburns](https://github.com/brendandburns))
   141  Docker Multi Node    | Flannel      | N/A    | local       | [docs](docker-multinode.md)                       |          | Project ([@brendandburns](https://github.com/brendandburns))
   142  Bare-metal           | Ansible      | Fedora | flannel     | [docs](fedora/fedora_ansible_config.md)           |          | Project
   143  Digital Ocean        | custom       | Fedora | Calico      | [docs](fedora/fedora-calico.md)                   |          | Community (@djosborne)
   144  Bare-metal           | custom       | Fedora | _none_      | [docs](fedora/fedora_manual_config.md)            |          | Project
   145  Bare-metal           | custom       | Fedora | flannel     | [docs](fedora/flannel_multi_node_cluster.md)      |          | Community ([@aveshagarwal](https://github.com/aveshagarwal))
   146  libvirt              | custom       | Fedora | flannel     | [docs](fedora/flannel_multi_node_cluster.md)      |          | Community ([@aveshagarwal](https://github.com/aveshagarwal))
   147  KVM                  | custom       | Fedora | flannel     | [docs](fedora/flannel_multi_node_cluster.md)      |          | Community ([@aveshagarwal](https://github.com/aveshagarwal))
   148  Mesos/Docker         | custom       | Ubuntu | Docker      | [docs](mesos-docker.md)                           |          | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md))
   149  Mesos/GCE            |              |        |             | [docs](mesos.md)                                  |          | Community ([Kubernetes-Mesos Authors](https://github.com/mesosphere/kubernetes-mesos/blob/master/AUTHORS.md))
   150  AWS                  | CoreOS       | CoreOS | flannel     | [docs](coreos.md)                                 |          | Community
   151  GCE                  | CoreOS       | CoreOS | flannel     | [docs](coreos.md)                                 |          | Community ([@pires](https://github.com/pires))
   152  Vagrant              | CoreOS       | CoreOS | flannel     | [docs](coreos.md)                                 |          | Community ([@pires](https://github.com/pires), [@AntonioMeireles](https://github.com/AntonioMeireles))
   153  Bare-metal (Offline) | CoreOS       | CoreOS | flannel     | [docs](coreos/bare_metal_offline.md)              |          | Community ([@jeffbean](https://github.com/jeffbean))
   154  Bare-metal           | CoreOS       | CoreOS | Calico      | [docs](coreos/bare_metal_calico.md)               |          | Community ([@caseydavenport](https://github.com/caseydavenport))
   155  CloudStack           | Ansible      | CoreOS | flannel     | [docs](cloudstack.md)                             |          | Community ([@runseb](https://github.com/runseb))
   156  Vmware               |              | Debian | OVS         | [docs](vsphere.md)                                |          | Community ([@pietern](https://github.com/pietern))
   157  Bare-metal           | custom       | CentOS | _none_      | [docs](centos/centos_manual_config.md)            |          | Community ([@coolsvap](https://github.com/coolsvap))
   158  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) )
   159  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) )
   160  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) )
   161  AWS                  | Saltstack    | Ubuntu | OVS         | [docs](aws.md)                                    |          | Community ([@justinsb](https://github.com/justinsb))
   162  Azure                | Saltstack    | Ubuntu | OpenVPN     | [docs](azure.md)                                  |          | Community
   163  Bare-metal           | custom       | Ubuntu | Calico      | [docs](ubuntu-calico.md)                          |          | Community ([@djosborne](https://github.com/djosborne))
   164  Bare-metal           | custom       | Ubuntu | flannel     | [docs](ubuntu.md)                                 |          | Community ([@resouer](https://github.com/resouer), [@WIZARD-CXY](https://github.com/WIZARD-CXY))
   165  Local                |              |        | _none_      | [docs](locally.md)                                |          | Community ([@preillyme](https://github.com/preillyme))
   166  libvirt/KVM          | CoreOS       | CoreOS | libvirt/KVM | [docs](libvirt-coreos.md)                         |          | Community ([@lhuard1A](https://github.com/lhuard1A))
   167  oVirt                |              |        |             | [docs](ovirt.md)                                  |          | Community ([@simon3z](https://github.com/simon3z))
   168  Rackspace            | CoreOS       | CoreOS | flannel     | [docs](rackspace.md)                              |          | Community ([@doublerr](https://github.com/doublerr))
   169  any                  | any          | any    | any         | [docs](scratch.md)                                |          | Community ([@erictune](https://github.com/erictune))
   170  
   171  
   172  *Note*: The above table is ordered by version test/used in notes followed by support level.
   173  
   174  Definition of columns:
   175    - **IaaS Provider** is who/what provides the virtual or physical machines (nodes) that Kubernetes runs on.
   176    - **OS** is the base operating system of the nodes.
   177    - **Config. Mgmt** is the configuration management system that helps install and maintain Kubernetes software on the
   178      nodes.
   179    - **Networking** is what implements the [networking model](../../docs/admin/networking.md).  Those with networking type
   180      _none_ may not support more than one node, or may support multiple VM nodes only in the same physical node.
   181    - **Conformance** indicates whether a cluster created with this configuration has passed the project's conformance
   182      tests for supporting the API and base features of Kubernetes v1.0.0.
   183    - Support Levels
   184      - **Project**:  Kubernetes Committers regularly use this configuration, so it usually works with the latest release
   185        of Kubernetes.
   186      - **Commercial**: A commercial offering with its own support arrangements.
   187      - **Community**: Actively supported by community contributions. May not work with more recent releases of Kubernetes.
   188      - **Inactive**: No active maintainer.  Not recommended for first-time Kubernetes users, and may be deleted soon.
   189    - **Notes** is relevant information such as the version of Kubernetes used.
   190  
   191  <!-- reference style links below here -->
   192  <!-- GCE conformance test result -->
   193  [1]: https://gist.github.com/erictune/4cabc010906afbcc5061
   194  <!-- Vagrant conformance test result -->
   195  [2]: https://gist.github.com/derekwaynecarr/505e56036cdf010bf6b6
   196  <!-- GKE conformance test result -->
   197  [3]: https://gist.github.com/erictune/2f39b22f72565365e59b
   198  
   199  
   200  <!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
   201  [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/getting-started-guides/README.md?pixel)]()
   202  <!-- END MUNGE: GENERATED_ANALYTICS -->