WtD: Picking the Right Solution (#3772)
* WtD: Picking the Right Solution - Comprehensive edit for readability - Fixes dead and redirecting links - Fixes headings * md format change
This commit is contained in:
committed by
Andrew Chen
parent
2ea01f58d0
commit
6e4c5f1abd
@@ -9,154 +9,144 @@ redirect_from:
|
|||||||
- "/docs/getting-started-guides/index.html"
|
- "/docs/getting-started-guides/index.html"
|
||||||
---
|
---
|
||||||
|
|
||||||
Kubernetes can run on a range of platforms, from your laptop, to VMs on a cloud provider, to rack of
|
Kubernetes can run on various platforms: from your laptop, to VMs on a cloud provider, to rack of
|
||||||
bare metal servers. The effort required to set up a cluster varies from running a single command to
|
bare metal servers. The effort required to set up a cluster varies from running a single command to
|
||||||
crafting your own customized cluster. We'll guide you in picking a solution that fits for your needs.
|
crafting your own customized cluster. Use this guide to choose a solution that fits your needs.
|
||||||
|
|
||||||
If you just want to "kick the tires" on Kubernetes, we recommend the [local Docker-based solution using MiniKube](#local-machine-solutions).
|
If you just want to "kick the tires" on Kubernetes, use the [local Docker-based solution using MiniKube](#local-machine-solutions).
|
||||||
|
|
||||||
When you are ready to scale up to more machines and higher availability, a [Hosted](#hosted-solutions)
|
When you are ready to scale up to more machines and higher availability, a [hosted solution](#hosted-solutions) is the easiest to create and maintain.
|
||||||
solution is the easiest to create and maintain.
|
|
||||||
|
|
||||||
[Turn-key cloud solutions](#turn-key-cloud-solutions) require only a few commands to create
|
[Turnkey cloud solutions](#turnkey-cloud-solutions) require only a few commands to create
|
||||||
and cover a wider range of cloud providers.
|
and cover a wide range of cloud providers.
|
||||||
|
|
||||||
If you already have a way to configure hosting resources, you can use
|
If you already have a way to configure hosting resources, use [kubeadm](/docs/getting-started-guides/kubeadm/) to easily bring up a cluster with a single command per machine.
|
||||||
[kubeadm](/docs/getting-started-guides/kubeadm/) to easily bring up a cluster
|
|
||||||
with a single command per machine.
|
|
||||||
|
|
||||||
[Custom solutions](#custom-solutions) require more effort to setup but cover and even
|
[Custom solutions](#custom-solutions) vary from step-by-step instructions to general advice for setting up
|
||||||
they vary from step-by-step instructions to general advice for setting up
|
|
||||||
a Kubernetes cluster from scratch.
|
a Kubernetes cluster from scratch.
|
||||||
|
|
||||||
* TOC
|
|
||||||
{:toc}
|
{:toc}
|
||||||
|
|
||||||
### Local-machine Solutions
|
# Local-machine Solutions
|
||||||
|
|
||||||
[Minikube](/docs/getting-started-guides/minikube/) is the recommended method for you to create a single node kubernetes cluster locally for purposes of development and testing. Setup is completely automated and doesn't require a cloud provider account.
|
* [Minikube](/docs/getting-started-guides/minikube/) is the recommended method for creating a local, single-node Kubernetes cluster for development and testing. Setup is completely automated and doesn't require a cloud provider account.
|
||||||
|
|
||||||
Use the [Minikube getting started guide](/docs/getting-started-guides/minikube/) to try it out.
|
* [Ubuntu on LXD](/docs/getting-started-guides/ubuntu/local) supports a nine-instance deployment on localhost.
|
||||||
|
|
||||||
[Ubuntu on LXD](/docs/getting-started-guides/ubuntu/local) - Ubuntu supports a 9-instance deployment on localhost via LXD.
|
# Hosted Solutions
|
||||||
|
|
||||||
### Hosted Solutions
|
* [Google Container Engine](https://cloud.google.com/container-engine) offers managed Kubernetes clusters.
|
||||||
|
|
||||||
[Google Container Engine](https://cloud.google.com/container-engine) offers managed Kubernetes
|
* [Azure Container Service](https://azure.microsoft.com/en-us/services/container-service/) can easily deploy Kubernetes clusters.
|
||||||
clusters.
|
|
||||||
|
|
||||||
[Azure Container Service](https://azure.microsoft.com/en-us/services/container-service/) can easily deploy Kubernetes
|
* [Stackpoint.io](https://stackpoint.io) provides Kubernetes infrastructure automation and management for multiple public clouds.
|
||||||
clusters.
|
|
||||||
|
|
||||||
[Stackpoint.io](https://stackpoint.io) provides Kubernetes infrastructure automation and management for multiple public clouds.
|
* [AppsCode.com](https://appscode.com/products/cloud-deployment/) provides managed Kubernetes clusters for various public clouds, including AWS and Google Cloud Platform.
|
||||||
|
|
||||||
[AppsCode.com](https://appscode.com/products/cloud-deployment/) provides managed Kubernetes clusters for various public clouds (including AWS and Google Cloud Platform).
|
* [KCluster.io](https://kcluster.io) provides highly available and scalable managed Kubernetes clusters for AWS.
|
||||||
|
|
||||||
[KCluster.io](https://kcluster.io) provides highly available and scalable managed Kubernetes clusters for AWS.
|
* [KUBE2GO.io](https://kube2go.io) get started with highly available Kubernetes clusters on multiple public clouds along with useful tools for development, debugging, monitoring.
|
||||||
|
|
||||||
[KUBE2GO.io](https://kube2go.io) get started with highly available Kubernetes clusters on multiple public clouds along with useful tools for development, debugging, monitoring.
|
* [Madcore.Ai](https://madcore.ai) is devops-focused CLI tool for deploying Kubernetes infrastructure in AWS. Master, auto-scaling group nodes with spot-instances, ingress-ssl-lego, Heapster, and Grafana.
|
||||||
|
|
||||||
[Madcore.Ai](https://madcore.ai) CLI tool to deploy Kubernetes infrastructure in AWS with focus on devops. Master, auto-scaling-group nodes with spot-instances, ingress-ssl-lego, Heapster, Grafana. Based on latest containers.
|
* [Platform9](https://platform9.com/products/kubernetes/) offers managed Kubernetes on-premises or on any public cloud, and provides 24/7 health monitoring and alerting.
|
||||||
|
|
||||||
[Platform9](https://platform9.com/products/kubernetes/) offers managed Kubernetes on-premises or any public cloud, and provides 24/7 health monitoring and alerting.
|
* [OpenShift Dedicated](https://www.openshift.com/dedicated/) offers managed Kubernetes clusters powered by OpenShift.
|
||||||
|
|
||||||
[OpenShift Dedicated](https://www.openshift.com/dedicated/) offers managed Kubernetes clusters powered by OpenShift and [OpenShift Online](https://www.openshift.com/features/) provides free hosted access for Kubernetes applications.
|
* [OpenShift Online](https://www.openshift.com/features/) provides free hosted access for Kubernetes applications.
|
||||||
|
|
||||||
[IBM Bluemix Container Service](https://console.ng.bluemix.net/docs/containers/container_index.html) offers managed Kubernetes clusters (currently in beta).
|
* [IBM Bluemix Container Service](https://console.ng.bluemix.net/docs/containers/container_index.html) offers managed Kubernetes clusters. Currently in beta.
|
||||||
|
|
||||||
### Turn-key Cloud Solutions
|
# Turnkey Cloud Solutions
|
||||||
|
|
||||||
These solutions allow you to create Kubernetes clusters on a range of Cloud IaaS providers with only a
|
These solutions allow you to create Kubernetes clusters on a range of Cloud IaaS providers with only a
|
||||||
few commands, and have active community support.
|
few commands. These solutions are actively developed and have active community support.
|
||||||
|
|
||||||
- [GCE](/docs/getting-started-guides/gce)
|
* [Google Compute Engine (GCE)](/docs/getting-started-guides/gce)
|
||||||
- [AWS](/docs/getting-started-guides/aws)
|
* [AWS](/docs/getting-started-guides/aws)
|
||||||
- [Azure](/docs/getting-started-guides/azure)
|
* [Azure](/docs/getting-started-guides/azure)
|
||||||
- [Tectonic by CoreOS](https://coreos.com/tectonic)
|
* [Tectonic by CoreOS](https://coreos.com/tectonic)
|
||||||
- [CenturyLink Cloud](/docs/getting-started-guides/clc)
|
* [CenturyLink Cloud](/docs/getting-started-guides/clc)
|
||||||
- [IBM Bluemix](https://github.com/patrocinio/kubernetes-softlayer)
|
* [IBM Bluemix](https://github.com/patrocinio/kubernetes-softlayer)
|
||||||
- [Stackpoint.io](/docs/getting-started-guides/stackpoint/)
|
* [Stackpoint.io](/docs/getting-started-guides/stackpoint/)
|
||||||
- [KUBE2GO.io](https://kube2go.io/)
|
* [KUBE2GO.io](https://kube2go.io/)
|
||||||
- [Madcore.Ai](https://madcore.ai/)
|
* [Madcore.Ai](https://madcore.ai/)
|
||||||
|
|
||||||
### Custom Solutions
|
# Custom Solutions
|
||||||
|
|
||||||
Kubernetes can run on a wide range of Cloud providers and bare-metal environments, and with many
|
Kubernetes can run on a wide range of Cloud providers and bare-metal environments, and with many
|
||||||
base operating systems.
|
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
|
If you can find a guide below that matches your needs, use it. It may be a little out of date, but
|
||||||
it will be easier than starting from scratch. If you do want to start from scratch because you
|
it will be easier than starting from scratch. If you do want to start from scratch, either because you
|
||||||
have special requirements or just because you want to understand what is underneath a Kubernetes
|
have special requirements, or just because you want to understand what is underneath a Kubernetes
|
||||||
cluster, try the [Getting Started from Scratch](/docs/getting-started-guides/scratch) guide.
|
cluster, try the [Getting Started from Scratch](/docs/getting-started-guides/scratch) guide.
|
||||||
|
|
||||||
If you are interested in supporting Kubernetes on a new platform, check out our [advice for
|
If you are interested in supporting Kubernetes on a new platform, see
|
||||||
writing a new solution](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/writing-a-getting-started-guide.md).
|
[Writing a Getting Started Guide](https://github.com/kubernetes/community/blob/master/contributors/devel/writing-a-getting-started-guide.md).
|
||||||
|
|
||||||
#### Universal
|
## Universal
|
||||||
|
|
||||||
|
If you already have a way to configure hosting resources, use
|
||||||
If you already have a way to configure hosting resources, you can use
|
|
||||||
[kubeadm](/docs/getting-started-guides/kubeadm/) to easily bring up a cluster
|
[kubeadm](/docs/getting-started-guides/kubeadm/) to easily bring up a cluster
|
||||||
with a single command per machine.
|
with a single command per machine.
|
||||||
|
|
||||||
#### Cloud
|
## Cloud
|
||||||
|
|
||||||
These solutions are combinations of cloud provider and OS not covered by the above solutions.
|
These solutions are combinations of cloud providers and operating systems not covered by the above solutions.
|
||||||
|
|
||||||
- [AWS + CoreOS](/docs/getting-started-guides/coreos)
|
* [CoreOS on AWS or GCE](/docs/getting-started-guides/coreos)
|
||||||
- [GCE + CoreOS](/docs/getting-started-guides/coreos)
|
* [Kubernetes on Ubuntu](/docs/getting-started-guides/ubuntu/)
|
||||||
- [Ubuntu + AWS/GCE/Rackspace/Joyent](/docs/getting-started-guides/ubuntu/)
|
* [CoreOS on Rackspace](/docs/getting-started-guides/rackspace)
|
||||||
- [Rackspace + CoreOS](/docs/getting-started-guides/rackspace)
|
|
||||||
|
|
||||||
#### On-Premises VMs
|
## On-Premises VMs
|
||||||
|
|
||||||
- [Vagrant](/docs/getting-started-guides/coreos) (uses CoreOS and flannel)
|
* [Vagrant](/docs/getting-started-guides/coreos) (uses CoreOS and flannel)
|
||||||
- [CloudStack](/docs/getting-started-guides/cloudstack) (uses Ansible, CoreOS and flannel)
|
* [CloudStack](/docs/getting-started-guides/cloudstack) (uses Ansible, CoreOS and flannel)
|
||||||
- [Vmware vSphere](/docs/getting-started-guides/vsphere) (uses Debian)
|
* [Vmware vSphere](/docs/getting-started-guides/vsphere) (uses Debian)
|
||||||
- [Vmware Photon Controller](/docs/getting-started-guides/photon-controller) (uses Debian)
|
* [Vmware Photon Controller](/docs/getting-started-guides/photon-controller) (uses Debian)
|
||||||
- [Vmware vSphere, OpenStack, or Bare Metal](/docs/getting-started-guides/ubuntu/) (uses Juju, Ubuntu and flannel)
|
* [Vmware vSphere, OpenStack, or Bare Metal](/docs/getting-started-guides/ubuntu/) (uses Juju, Ubuntu and flannel)
|
||||||
- [Vmware](/docs/getting-started-guides/coreos) (uses CoreOS and flannel)
|
* [Vmware](/docs/getting-started-guides/coreos) (uses CoreOS and flannel)
|
||||||
- [libvirt-coreos](/docs/getting-started-guides/libvirt-coreos) (uses CoreOS)
|
* [CoreOS on libvirt](/docs/getting-started-guides/libvirt-coreos) (uses CoreOS)
|
||||||
- [oVirt](/docs/getting-started-guides/ovirt)
|
* [oVirt](/docs/getting-started-guides/ovirt)
|
||||||
- [OpenStack Heat](/docs/getting-started-guides/openstack-heat) (uses CentOS and flannel)
|
* [OpenStack Heat](/docs/getting-started-guides/openstack-heat) (uses CentOS and flannel)
|
||||||
- [libvirt](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) (uses Fedora and flannel)
|
* [Fedora (Multi Node)](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) (uses Fedora and flannel)
|
||||||
- [KVM](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) (uses Fedora and flannel)
|
|
||||||
|
|
||||||
#### Bare Metal
|
## Bare Metal
|
||||||
|
|
||||||
- [Offline](/docs/getting-started-guides/coreos/bare_metal_offline) (no internet required. Uses CoreOS and Flannel)
|
* [Offline](/docs/getting-started-guides/coreos/bare_metal_offline) (no internet required. Uses CoreOS and Flannel)
|
||||||
- [fedora/fedora_ansible_config](/docs/getting-started-guides/fedora/fedora_ansible_config)
|
* [Fedora via Ansible](/docs/getting-started-guides/fedora/fedora_ansible_config)
|
||||||
- [Fedora single node](/docs/getting-started-guides/fedora/fedora_manual_config)
|
* [Fedora (Single Node)](/docs/getting-started-guides/fedora/fedora_manual_config)
|
||||||
- [Fedora multi node](/docs/getting-started-guides/fedora/flannel_multi_node_cluster)
|
* [Fedora (Multi Node)](/docs/getting-started-guides/fedora/flannel_multi_node_cluster)
|
||||||
- [Centos](/docs/getting-started-guides/centos/centos_manual_config)
|
* [CentOS](/docs/getting-started-guides/centos/centos_manual_config)
|
||||||
- [Bare Metal with Ubuntu](/docs/getting-started-guides/ubuntu/)
|
* [Kubernetes on Ubuntu](/docs/getting-started-guides/ubuntu/)
|
||||||
- [Ubuntu Manual](/docs/getting-started-guides/ubuntu/manual)
|
* [Manually Deploying Kubernetes on Ubuntu Nodes](/docs/getting-started-guides/ubuntu/manual)
|
||||||
- [CoreOS](/docs/getting-started-guides/coreos)
|
* [CoreOS on AWS or GCE](/docs/getting-started-guides/coreos)
|
||||||
|
|
||||||
#### Integrations
|
## Integrations
|
||||||
|
|
||||||
These solutions provide integration with 3rd party schedulers, resource managers, and/or lower level platforms.
|
These solutions provide integration with third-party schedulers, resource managers, and/or lower level platforms.
|
||||||
|
|
||||||
- [Kubernetes on Mesos](/docs/getting-started-guides/mesos)
|
* [Kubernetes on Mesos](/docs/getting-started-guides/mesos)
|
||||||
- Instructions specify GCE, but are generic enough to be adapted to most existing Mesos clusters
|
* Instructions specify GCE, but are generic enough to be adapted to most existing Mesos clusters
|
||||||
- [Kubernetes on DCOS](/docs/getting-started-guides/dcos)
|
* [DCOS](/docs/getting-started-guides/dcos)
|
||||||
- Community Edition DCOS uses AWS
|
* Community Edition DCOS uses AWS
|
||||||
- Enterprise Edition DCOS supports cloud hosting, on-premise VMs, and bare metal
|
* Enterprise Edition DCOS supports cloud hosting, on-premise VMs, and bare metal
|
||||||
|
|
||||||
## Table of Solutions
|
# Table of Solutions
|
||||||
|
|
||||||
Here are all the solutions mentioned above in table form.
|
Below is a table of all of the solutions listed above.
|
||||||
|
|
||||||
IaaS Provider | Config. Mgmt | OS | Networking | Docs | Support Level
|
IaaS Provider | Config. Mgmt. | OS | Networking | Docs | Support Level
|
||||||
-------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ----------------------------
|
-------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ----------------------------
|
||||||
any | any | multi-support | any CNI | [docs](https://kubernetes.io/docs/getting-started-guides/kubeadm/) | Project ([SIG-cluster-lifecycle](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle))
|
any | any | multi-support | any CNI | [docs](https://kubernetes.io/docs/getting-started-guides/kubeadm/) | Project ([SIG-cluster-lifecycle](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle))
|
||||||
GKE | | | GCE | [docs](https://cloud.google.com/container-engine) | Commercial
|
GKE | | | GCE | [docs](https://cloud.google.com/container-engine) | Commercial
|
||||||
Stackpoint.io | | multi-support | multi-support | [docs](http://www.stackpointcloud.com) | Commercial
|
Stackpoint.io | | multi-support | multi-support | [docs](https://stackpoint.io/) | Commercial
|
||||||
AppsCode.com | Saltstack | Debian | multi-support | [docs](https://appscode.com/products/cloud-deployment/) | Commercial
|
AppsCode.com | Saltstack | Debian | multi-support | [docs](https://appscode.com/products/cloud-deployment/) | Commercial
|
||||||
KCluster.io | | multi-support | multi-support | [docs](https://kcluster.io) | Commercial
|
KCluster.io | | multi-support | multi-support | [docs](https://kcluster.io) | Commercial
|
||||||
KUBE2GO.io | | multi-support | multi-support | [docs](https://kube2go.io) | Commercial
|
KUBE2GO.io | | multi-support | multi-support | [docs](https://kube2go.io) | Commercial
|
||||||
Madcore.Ai | Jenkins DSL | Ubuntu | flannel | [docs](https://madcore.ai) | Community ([@madcore-ai](https://github.com/madcore-ai))
|
Madcore.Ai | Jenkins DSL | Ubuntu | flannel | [docs](https://madcore.ai) | Community ([@madcore-ai](https://github.com/madcore-ai))
|
||||||
Platform9 | | multi-support | multi-support | [docs](https://platform9.com/products/kubernetes/) | Commercial
|
Platform9 | | multi-support | multi-support | [docs](https://platform9.com/managed-kubernetes/) | Commercial
|
||||||
GCE | Saltstack | Debian | GCE | [docs](/docs/getting-started-guides/gce) | Project
|
GCE | Saltstack | Debian | GCE | [docs](/docs/getting-started-guides/gce) | Project
|
||||||
Azure Container Service | | Ubuntu | Azure | [docs](https://azure.microsoft.com/en-us/services/container-service/) | Commercial
|
Azure Container Service | | Ubuntu | Azure | [docs](https://azure.microsoft.com/en-us/services/container-service/) | Commercial
|
||||||
Azure (IaaS) | | Ubuntu | Azure | [docs](/docs/getting-started-guides/azure) | [Community (Microsoft)](https://github.com/Azure/acs-engine)
|
Azure (IaaS) | | Ubuntu | Azure | [docs](/docs/getting-started-guides/azure) | [Community (Microsoft)](https://github.com/Azure/acs-engine)
|
||||||
@@ -190,25 +180,25 @@ OpenStack Heat | Saltstack | CentOS | Neutron + flannel hostgw | [docs]
|
|||||||
Rackspace | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/rackspace) | Community ([@doublerr](https://github.com/doublerr))
|
Rackspace | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/rackspace) | Community ([@doublerr](https://github.com/doublerr))
|
||||||
any | any | any | any | [docs](/docs/getting-started-guides/scratch) | Community ([@erictune](https://github.com/erictune))
|
any | any | any | any | [docs](/docs/getting-started-guides/scratch) | Community ([@erictune](https://github.com/erictune))
|
||||||
|
|
||||||
*Note*: The above table is ordered by version test/used in notes followed by support level.
|
**Note**: The above table is ordered by version test/used in nodes, followed by support level.
|
||||||
|
|
||||||
Definition of columns
|
## Definition of columns
|
||||||
|
|
||||||
- **IaaS Provider** is who/what provides the virtual or physical machines (nodes) that Kubernetes runs on.
|
* **IaaS Provider** is the product or organization which provides the virtual or physical machines (nodes) that Kubernetes runs on.
|
||||||
- **OS** is the base operating system of the nodes.
|
* **OS** is the base operating system of the nodes.
|
||||||
- **Config. Mgmt** is the configuration management system that helps install and maintain Kubernetes software on the
|
* **Config. Mgmt.** is the configuration management system that helps install and maintain Kubernetes on the
|
||||||
nodes.
|
nodes.
|
||||||
- **Networking** is what implements the [networking model](/docs/admin/networking). Those with networking type
|
* **Networking** is what implements the [networking model](/docs/concepts/cluster-administration/networking/). Those with networking type
|
||||||
_none_ may not support more than one node, or may support multiple VM nodes only in the same physical node.
|
_none_ may not support more than a single node, or may support multiple VM nodes in a single physical node.
|
||||||
- **Conformance** indicates whether a cluster created with this configuration has passed the project's conformance
|
* **Conformance** indicates whether a cluster created with this configuration has passed the project's conformance
|
||||||
tests for supporting the API and base features of Kubernetes v1.0.0.
|
tests for supporting the API and base features of Kubernetes v1.0.0.
|
||||||
- Support Levels
|
* **Support Levels**
|
||||||
- **Project**: Kubernetes Committers regularly use this configuration, so it usually works with the latest release
|
* **Project**: Kubernetes committers regularly use this configuration, so it usually works with the latest release
|
||||||
of Kubernetes.
|
of Kubernetes.
|
||||||
- **Commercial**: A commercial offering with its own support arrangements.
|
* **Commercial**: A commercial offering with its own support arrangements.
|
||||||
- **Community**: Actively supported by community contributions. May not work with more recent releases of Kubernetes.
|
* **Community**: Actively supported by community contributions. May not work with recent releases of Kubernetes.
|
||||||
- **Inactive**: No active maintainer. Not recommended for first-time Kubernetes users, and may be deleted soon.
|
* **Inactive**: Not actively maintained. Not recommended for first-time Kubernetes users, and may be removed.
|
||||||
- **Notes** is relevant information such as the version of Kubernetes used.
|
* **Notes** has other relevant information, such as the version of Kubernetes used.
|
||||||
|
|
||||||
|
|
||||||
<!-- reference style links below here -->
|
<!-- reference style links below here -->
|
||||||
|
|||||||
Reference in New Issue
Block a user