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 -->