Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix dead links and apply template #9476

Merged
merged 5 commits into from
Jul 18, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 34 additions & 25 deletions content/en/docs/setup/pick-right-solution.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ reviewers:
- erictune
- mikedanese
title: Picking the Right Solution
content_template: templates/concept
---

{{% capture overview %}}

Kubernetes can run on various platforms: from your laptop, to VMs on a cloud provider, to a rack of
bare metal servers. The effort required to set up a cluster varies from running a single command to
crafting your own customized cluster. Use this guide to choose a solution that fits your needs.
Expand All @@ -22,11 +25,13 @@ If you already have a way to configure hosting resources, use [kubeadm](/docs/se
[Custom solutions](#custom-solutions) vary from step-by-step instructions to general advice for setting up
a Kubernetes cluster from scratch.

{{< toc >}}
{{% /capture %}}

{{% capture body %}}

# Local-machine Solutions
## Local-machine Solutions

* [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.
* [Minikube](/docs/setup/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.

* [Kubeadm-dind](https://github.com/kubernetes-sigs/kubeadm-dind-cluster) is a multi-node (while minikube is single-node) Kubernetes cluster which only requires a docker daemon. It uses docker-in-docker technique to spawn the Kubernetes cluster.

Expand All @@ -36,7 +41,7 @@ a Kubernetes cluster from scratch.

* [IBM Cloud Private-CE (Community Edition) on Linux Containers](https://github.com/HSBawa/icp-ce-on-linux-containers) is a Terraform/Packer/BASH based Infrastructure as Code (IaC) scripts to create a seven node (1 Boot, 1 Master, 1 Management, 1 Proxy and 3 Workers) LXD cluster on Linux Host.

# Hosted Solutions
## Hosted Solutions

* [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) offers managed Kubernetes clusters.

Expand Down Expand Up @@ -88,7 +93,7 @@ few commands. These solutions are actively developed and have active community s
* [Gardener](https://gardener.cloud/)
* [Kublr](https://kublr.com/)

# On-Premises turnkey cloud solutions
## On-Premises turnkey cloud solutions
These solutions allow you to create Kubernetes clusters on your internal, secure, cloud network with only a
few commands.

Expand All @@ -99,62 +104,62 @@ few commands.
* [Rancher 2.0](https://rancher.com/docs/rancher/v2.x/en/)
* [Kublr](https://kublr.com/)

# Custom Solutions
## 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
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
cluster, try the [Getting Started from Scratch](/docs/getting-started-guides/scratch/) guide.
cluster, try the [Getting Started from Scratch](/docs/setup/scratch/) guide.

If you are interested in supporting Kubernetes on a new platform, see
[Writing a Getting Started Guide](https://git.k8s.io/community/contributors/devel/writing-a-getting-started-guide.md).

## Universal
### Universal

If you already have a way to configure hosting resources, use
[kubeadm](/docs/setup/independent/create-cluster-kubeadm/) to easily bring up a cluster
with a single command per machine.

## Cloud
### Cloud

These solutions are combinations of cloud providers and operating systems not covered by the above solutions.

* [CoreOS on AWS or GCE](/docs/getting-started-guides/coreos/)
* [CoreOS on AWS or GCE](/docs/setup/custom-cloud/coreos/)
* [Kubernetes on Ubuntu](/docs/getting-started-guides/ubuntu/)
* [Kubespray](/docs/getting-started-guides/kubespray/)
* [Kubespray](/docs/setup/custom-cloud/kubespray/)
* [Rancher Kubernetes Engine (RKE)](https://github.com/rancher/rke)
* [Gardener](https://gardener.cloud/)
* [Kublr](https://kublr.com/)

## On-Premises VMs
### On-Premises VMs

* [Vagrant](/docs/getting-started-guides/coreos/) (uses CoreOS and flannel)
* [CloudStack](/docs/getting-started-guides/cloudstack/) (uses Ansible, CoreOS and flannel)
* [Vagrant](/docs/setup/custom-cloud/coreos/) (uses CoreOS and flannel)
* [CloudStack](/docs/setup/on-premises-vm/cloudstack/) (uses Ansible, CoreOS and flannel)
* [VMware vSphere](https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/)
* [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)
* [oVirt](/docs/getting-started-guides/ovirt/)
* [VMware](/docs/setup/custom-cloud/coreos/) (uses CoreOS and flannel)
* [oVirt](/docs/setup/on-premises-vm/ovirt/)
* [Fedora (Multi Node)](/docs/getting-started-guides/fedora/flannel_multi_node_cluster/) (uses Fedora and flannel)

## Bare Metal
### Bare Metal

* [Fedora (Single Node)](/docs/getting-started-guides/fedora/fedora_manual_config/)
* [Fedora (Multi Node)](/docs/getting-started-guides/fedora/flannel_multi_node_cluster/)
* [Kubernetes on Ubuntu](/docs/getting-started-guides/ubuntu/)
* [CoreOS](/docs/getting-started-guides/coreos/)
* [CoreOS](/docs/setup/custom-cloud/coreos/)

## Integrations
### Integrations

These solutions provide integration with third-party schedulers, resource managers, and/or lower level platforms.

* [DCOS](/docs/getting-started-guides/dcos/)
* [DCOS](/docs/setup/on-premises-vm/dcos/)
* Community Edition DCOS uses AWS
* Enterprise Edition DCOS supports cloud hosting, on-premises VMs, and bare metal

# Table of Solutions
## Table of Solutions

Below is a table of all of the solutions listed above.

Expand Down Expand Up @@ -194,15 +199,17 @@ Bare Metal | Juju | Ubuntu | flannel/calico/canal | [docs]
AWS | Saltstack | Debian | AWS | [docs](/docs/setup/turnkey/aws/) | Community ([@justinsb](https://github.com/justinsb))
AWS | kops | Debian | AWS | [docs](https://github.com/kubernetes/kops/) | Community ([@justinsb](https://github.com/justinsb))
Bare-metal | custom | Ubuntu | flannel | [docs](/docs/getting-started-guides/ubuntu/) | Community ([@resouer](https://github.com/resouer), [@WIZARD-CXY](https://github.com/WIZARD-CXY))
oVirt | | | | [docs](/docs/getting-started-guides/ovirt/) | Community ([@simon3z](https://github.com/simon3z))
any | any | any | any | [docs](/docs/getting-started-guides/scratch/) | Community ([@erictune](https://github.com/erictune))
oVirt | | | | [docs](/docs/setup/on-premises-vm/ovirt/) | Community ([@simon3z](https://github.com/simon3z))
any | any | any | any | [docs](/docs/setup/scratch/) | Community ([@erictune](https://github.com/erictune))
any | any | any | any | [docs](http://docs.projectcalico.org/v2.2/getting-started/kubernetes/installation/) | Commercial and Community
any | RKE | multi-support | flannel or canal | [docs](https://rancher.com/docs/rancher/v2.x/en/quick-start-guide/) | [Commercial](https://rancher.com/what-is-rancher/overview/) and [Community](https://github.com/rancher/rancher)
any | [Gardener Cluster-Operator](https://kubernetes.io/blog/2018/05/17/gardener/) | multi-support | multi-support | [docs](https://gardener.cloud) | [Project/Community](https://github.com/gardener) and [Commercial]( https://cloudplatform.sap.com/)

**Note**: The above table is ordered by version test/used in nodes, followed by support level.
{{< note >}}
**Note:** The above table is ordered by version test/used in nodes, followed by support level.
{{< /note >}}

## Definition of columns
### Definition of columns

* **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.
Expand All @@ -228,3 +235,5 @@ any | [Gardener Cluster-Operator](https://kubernetes.io/blog/20
[2]: https://gist.github.com/derekwaynecarr/505e56036cdf010bf6b6
<!-- Google Kubernetes Engine conformance test result -->
[3]: https://gist.github.com/erictune/2f39b22f72565365e59b

{{% /capture %}}