Skip to content

Commit 40a3f49

Browse files
carminek8s-ci-robot
authored andcommitted
Refactor getting started - streamlined hierarchy (kubeflow#1051)
* Refactor getting started - streamlined hierarchy A number of changes / benefits: 1) eliminated some duplicate information 2) added three main top level areas for installation: - cloud - workstation / server - existing kubernetes 3) Adding workstation operating systems - there are some slight variances in experience. For instance, for MacOS, we can emphasize brew to install some of the assets. For Windows, we'll want to add WSL2, and potentially chocolatey. * Updated PR kubeflow#1051 with recommended changes This commit holds a set of minor changes that were requested in kubeflow#1051 * Move VM based local workstation to reference Moving the VM instructions out of getting started directory tree so that the navigation bar remains clean / less busy. * Add deleted assets files, reword k8s _index A previous commit deleted the resources/_gen/assets/*/search*.content file. This commit adds it back in. Additionally, fixed the grammar in k8s/_index.md
1 parent 05d3d92 commit 40a3f49

17 files changed

+282
-113
lines changed

content/docs/reference/_index.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ weight = 900
77
<a id="tfjob">
88
## TFJob
99

10-
TFJob is a Kubernetes
10+
TFJob is a Kubernetes
1111
[custom resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
12-
that you can use to run TensorFlow training jobs on Kubernetes. For help with
13-
using TFJob with Kubeflow, see the [user guide](/docs/components/tftraining/).
12+
that you can use to run [TensorFlow](https://www.tensorflow.org/get_started/) training
13+
jobs on Kubernetes. For help with using TFJob with Kubeflow, see the
14+
[user guide](/docs/components/tftraining/).
1415

1516
API references:
1617

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
title = "Virtual Developer Environments"
3+
description = "Detailed instructions for using VM appliances for Kubeflow"
4+
weight = 2
5+
+++

content/docs/started/getting-started-minikube.md content/docs/reference/virtual-dev/getting-started-minikube.md

+8-32
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ description = "Quickly get Kubeflow running locally"
44
weight = 2
55
+++
66

7-
This document outlines the steps you can take to get your local installation
8-
of Kubeflow running on top of Minikube. Minikube runs a simple, single-node
7+
This document outlines the steps you can take to get your local installation
8+
of Kubeflow running on top of Minikube. Minikube runs a simple, single-node
99
Kubernetes cluster inside a virtual machine (VM).
1010

1111
By the end of this document, you'll have a local installation of Minikube kubernetes cluster along with all the default core components of
@@ -206,35 +206,11 @@ $ minikube delete
206206
$ minikube start --cpus 4 --memory 8096 --disk-size=40g
207207
```
208208

209-
### Installing Kubeflow using kfctl
210-
The following steps will deploy Kubeflow components and start them on the Minikube you created above.
209+
### Install Kubeflow on an existing Kubernetes cluster
211210

212-
1. Download Kubeflow source
213-
214-
```
215-
mkdir ${KUBEFLOW_SRC}
216-
cd ${KUBEFLOW_SRC}
217-
export KUBEFLOW_TAG={{% kf-latest-version %}}
218-
curl https://raw.githubusercontent.com/kubeflow/kubeflow/${KUBEFLOW_TAG}/scripts/download.sh | bash
219-
```
220-
- **KUBEFLOW_SRC** directory where you want kubeflow source to be downloaded
221-
- **KUBEFLOW_TAG** is a tag corresponding to the version to checkout such as {{% kf-latest-version %}}
222-
223-
1. Run the following to setup and deploy Kubeflow:
224-
225-
```
226-
KUBEFLOW_REPO=${KUBEFLOW_SRC} ${KUBEFLOW_SRC}/scripts/kfctl.sh init ${KFAPP} --platform minikube
227-
cd ${KFAPP}
228-
${KUBEFLOW_SRC}/scripts/kfctl.sh generate all
229-
${KUBEFLOW_SRC}/scripts/kfctl.sh apply all
230-
```
231-
- **KFAPP** the _name_ of a directory where you want kubeflow configurations to be stored. This directory will be created when you run init. Please see [understanding the deployment process](/docs/gke/deploy/deploy-cli/#understanding-the-deployment-process) for more details.
232-
233-
The above installation may take a few minutes. At the end of the installation you should see:
234-
```
235-
Access Kubeflow dashboard at http://localhost:8080/
236-
Access Jupyter notebooks at http://localhost:8080/notebooks/
237-
```
211+
Now that you have a Kubernetes cluster running - the Minikube cluster - follow the
212+
[existing Kubernetes cluster]((/docs/started/k8s/overview/)) instructions for installing
213+
Kubeflow.
238214

239215
### Where to go next
240216

@@ -245,7 +221,7 @@ You can use the following command to set up port forwarding and access the Web U
245221
Now you can access the Kubeflow dashboard at http://localhost:8080/ and Jupyter
246222
notebooks at http://localhost:8080/notebooks/.
247223

248-
For Jupyter notebooks, you can use any username and password to log in.
224+
For Jupyter notebooks, you can use any username and password to log in.
249225
Follow the guide to [setting up your Jupyter notebooks on Kubeflow](/docs/notebooks/setup/).
250226

251-
For further exploration refer to the [documentation](/docs/).
227+
For further exploration refer to the [documentation](/docs/).

content/docs/started/cloud/_index.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
title = "Cloud Installation"
3+
description = "Instructions for installing Kubeflow on a public cloud"
4+
weight = 2
5+
+++

content/docs/started/getting-started.md

+30-73
Original file line numberDiff line numberDiff line change
@@ -11,87 +11,40 @@ This document provides information about setting up Kubeflow in various environm
1111
It's important that you have some knowledge of the following systems and tools:
1212

1313
* [Kubernetes](https://kubernetes.io/docs/tutorials/kubernetes-basics/)
14-
* [TensorFlow](https://www.tensorflow.org/get_started/)
15-
* [kustomize](https://kustomize.io/)
14+
* [Kustomize](https://kustomize.io/)
1615

17-
### Kubeflow requirements
16+
If you plan to deploy Kubeflow on an existing Kubernetes cluster, review these
17+
[Kubernetes system requirements](/docs/started/k8s/overview#minimum-system-requirements).
1818

19-
Before installing Kubeflow, ensure that your environment meets the
20-
following requirements:
2119

22-
* You need kustomize version {{% kustomize-min-version %}} or later. See the
23-
[kustomize component guide](/docs/components/misc/kustomize/)
24-
for details about installing kustomize.
20+
## Installing Kubeflow
2521

26-
* If you intend to install Kubeflow on an existing Kubernetes cluster, the
27-
cluster must meet the following requirements:
22+
There are various ways to install Kubeflow. Choose one of the following options
23+
to suit your environment (desktop or server, existing Kubernetes cluster or public cloud):
2824

29-
* Kubernetes version {{% kubernetes-min-version %}} or later.
30-
* A minimum of 0.6 CPU in cluster. (Reserved for 3 replicated ambassador pods
31-
and according to your needs add additional CPUs.)
32-
* Node with storage >= 10 GB. (Due to the ML libraries and third party packages
33-
bundled in the Kubeflow Docker images.)
3425

35-
## Get your machine-learning workflow up and running on Kubeflow
26+
* Installing Kubeflow on a **desktop** or **server**:
3627

37-
There are various ways to install Kubeflow. Choose one of the following options
38-
to suit your environment (cloud, on premises (on prem), or local):
28+
* To use Kubeflow on Windows,
29+
follow the [Windows deployment guide](/docs/started/workstation/getting-started-windows/).
30+
* To use Kubeflow on MacOS,
31+
follow the [MacOS deployment guide](/docs/started/workstation/getting-started-macos/).
32+
* To use Kubeflow on Linux,
33+
follow the [Linux deployment guide](/docs/started/workstation/getting-started-linux/).
34+
35+
* Installing Kubeflow on a **existing Kubernetes cluster** or a **public cloud**:
3936

40-
* To use Kubeflow on Google Cloud Platform (GCP) and Kubernetes Engine (GKE),
37+
* Installing Kubeflow on a Kubernetes cluster, follow the
38+
[guide to deploying Kubeflow on Kubernetes](/docs/started/k8s/overview/).
39+
* To use Kubeflow on Google Cloud Platform (GCP) and Kubernetes Engine (GKE),
4140
follow the [GCP deployment guide](/docs/gke/deploy/).
42-
* To use Kubeflow on Amazon Web Services (AWS),
41+
* To use Kubeflow on Amazon Web Services (AWS),
4342
follow the [AWS deployment guide](/docs/aws/deploy/).
44-
* To use Kubeflow on Microsoft Azure Kubernetes Service (AKS),
43+
* To use Kubeflow on Microsoft Azure Kubernetes Service (AKS),
4544
follow the [AKS deployment guide](/docs/azure/deploy/).
46-
* To use Kubeflow on IBM Cloud Private (ICP),
47-
follow the [ICP deployment guide](/docs/started/getting-started-icp/).
48-
* If you have an existing Kubernetes cluster or want to use Kubeflow on prem,
49-
follow the [guide to deploying Kubeflow on
50-
Kubernetes](/docs/started/k8s/overview/).
51-
* If you want to run Kubernetes locally in a virtual machine (VM), choose one of
52-
the following options:
53-
54-
* [MiniKF setup](/docs/started/getting-started-minikf/)
55-
* MiniKF is a fast and easy way to get started with Kubeflow.
56-
* It installs with just two commands and then you are up for
57-
experimentation, and for running complete Kubeflow Pipelines.
58-
* MiniKF runs on all major operating systems (Linux, macOS, Windows).
59-
60-
* [Minikube setup](/docs/started/getting-started-minikube/)
61-
* Minikube uses virtualization applications like
62-
[VirtualBox](https://www.virtualbox.org/) or [VMware
63-
Fusion](https://www.vmware.com/products/fusion.html) to host the VM
64-
and provides a CLI that you can use outside the VM.
65-
* Minikube defines a fully-baked
66-
[ISO image](https://en.wikipedia.org/wiki/ISO_image) that contains a
67-
minimal operating system and Kubernetes already installed.
68-
* This option may be useful if you are just starting to learn and already
69-
have one of the virtualization applications installed.
70-
71-
* [MicroK8s setup](/docs/started/getting-started-multipass/)
72-
* [MicroK8s](https://microk8s.io/) can provide the following benefits:
73-
- A small, fast, secure, single node Kubernetes installation that installs on any
74-
Linux system as a [snap](https://snapcraft.io/microk8s).
75-
- Strong isolation and update semantics - your cluster
76-
is updated within a short period after upstream Kubernetes
77-
releases.
78-
- Built-in support to enable an installed GPU:
79-
`microk8s.enable gpu`
80-
* MicroK8s requires Linux. If you are not on a Linux machine, or you want
81-
to confine your Kubeflow to a disposable machine, the installation guide
82-
show you how to use
83-
[Multipass](https://github.com/CanonicalLtd/multipass) to launch a VM.
84-
Benefits include:
85-
- [Ubuntu Cloud Images](http://cloud-images.ubuntu.com/) already
86-
integrated.
87-
- Lightweight hypervisor using native operating system mechanisms
88-
(for example, [Hypervisor
89-
Framework](https://developer.apple.com/documentation/hypervisor) on
90-
macOS, [Hyper-V on Windows
91-
10](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v), or
92-
QEMU/KVM for Linux).
93-
- No need to install a separate virtualization application.
94-
- Use of `cloud-init` to customize the VM.
45+
* To use Kubeflow on IBM Cloud Private (ICP),
46+
follow the [ICP deployment guide](/docs/started/cloud/getting-started-icp/).
47+
9548

9649
## Installing command line tools
9750

@@ -101,20 +54,24 @@ tools for deploying and managing Kubeflow:
10154
* Download the `kfctl` binary from the
10255
[Kubeflow releases page](https://github.com/kubeflow/kubeflow/releases/).
10356

104-
* Follow the `kubectl` installation and setup from the [Kubernetes
57+
* Follow the `kubectl` installation and setup instructions from the [Kubernetes
10558
documentation](https://kubernetes.io/docs/tasks/tools/install-kubectl/).
106-
As described in the Kubernetes documentation, your kubectl
59+
As described in the Kubernetes documentation, your kubectl
10760
version must be within one minor version of the Kubernetes version that you
10861
use in your Kubeflow cluster.
10962

63+
* Follow the `kustomize` installation and setup instructions from the
64+
[kustomize component guide](/docs/components/misc/kustomize/).
65+
66+
11067
## Troubleshooting
11168

11269
See the [Kubeflow troubleshooting guide](/docs/other-guides/troubleshooting/).
11370

11471
## Next steps
11572

11673
* Read the [documentation](/docs/) for in-depth instructions on using Kubeflow.
117-
* Explore the [tutorials and
74+
* Explore the [tutorials and
11875
codelabs](/docs/examples/codelabs-tutorials/) for learning and trying out Kubeflow.
11976
* Build machine-learning pipelines with the [Kubeflow Pipelines
12077
SDK](/docs/pipelines/sdk/sdk-overview/).

content/docs/started/k8s/_index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
+++
2-
title = "Kubeflow on Existing Kubernetes Clusters"
3-
description = "Instructions for installing Kubeflow on your existing clusters"
2+
title = "Kubernetes Installation"
3+
description = "Instructions for installing Kubeflow on an existing Kubernetes cluster"
44
weight = 2
55
+++

content/docs/started/k8s/overview.md

+17-3
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,25 @@ description = "Instructions for installing Kubeflow on your existing Kubernetes
44
weight = 1
55
+++
66

7-
Follow these instructions if you want to install Kubeflow on an existing Kubernetes cluster.
7+
Follow these instructions if you want to install Kubeflow on an existing Kubernetes
8+
cluster. Some [clouds](/docs/started/cloud) and Kubernetes distributions provide
9+
Kubeflow specific instructions for getting the most out of their Kubernetes. If your
10+
existing Kubernetes cluster is from one of those, consider following those instructions.
811

9-
If you are using a Kubernetes distribution or Cloud Provider which has specific instructions for installing Kubeflow we recommend following those instructions. Those instructions do additional Cloud specific setup to create a really great Kubeflow experience.
12+
## Minimum system requirements
1013

11-
The following table lists the options for installing Kubeflow on an existing Kubernetes Cluster and links to detailed instructions.
14+
The Kubernetes cluster must meet the following minimum requirements:
15+
16+
* Kubernetes version {{% kubernetes-min-version %}} or later.
17+
* At least one worker node with a minimum of:
18+
* 4 CPU
19+
* 50 GB storage
20+
* 12 GB memory
21+
22+
## Kubeflow Deployment Configurations
23+
24+
The following tables list the options for installing Kubeflow on an existing Kubernetes
25+
Cluster and links to detailed instructions.
1226

1327
### Community maintained
1428

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
title = "Workstation Installation"
3+
description = "Instructions for installing Kubeflow on a workstation or server"
4+
weight = 2
5+
+++
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
+++
2+
title = "Kubeflow on Linux"
3+
description = "Install Kubeflow on Linux"
4+
weight = 2
5+
+++
6+
7+
<!--
8+
TODO: Create a table that summarizes the options below, helping the user choose
9+
more quickly
10+
-->
11+
12+
For Linux systems you have options for servers (physical or virtual) and desktops.
13+
The server options apply to the desktop as well.
14+
15+
## Linux Server
16+
17+
For linux servers you can install Kubeflow natively. This is perfect for
18+
linux hosts and virtual machines, such as VMs in OpenStack, VMware or public clouds like
19+
GCP, AWS and Azure.
20+
21+
### MicroK8s
22+
23+
[MicroK8s](https://microk8s.io) runs natively on most Linux distributions. It requires
24+
[snapd](https://snapcraft.io/docs/getting-started), which is pre-installed on Ubuntu
25+
and Ubuntu derivative operating systems.
26+
27+
1. Install MicroK8s - `snap install microk8s --classic`
28+
2. Follow the getting started guid for Kubeflow on an
29+
[existing Kubernetes cluster](/docs/started/k8s/overview/).
30+
31+
## Linux Desktop
32+
33+
### Kubeflow Appliance
34+
35+
A Kubeflow appliance is a virtual machine that has Kubeflow already installed. Once the
36+
necessary supporting software is installed no further installation steps are required.
37+
38+
#### MiniKF
39+
40+
MiniKF is a predefined virtual machine that installs onto VirtualBox through Vagrant.
41+
The only following applications are required to use MiniKF:
42+
43+
- Install [Vagrant](https://www.vagrantup.com/downloads.html)
44+
- Install [Virtual Box](https://www.virtualbox.org/wiki/Downloads)
45+
46+
The full set of instructions are available on the
47+
[MiniKF getting started](/docs/reference/virtual-dev/getting-started-minikf/) page.
48+
49+
### Linux Appliance
50+
51+
A Linux appliance is a virtual machine that holds the linux operating system. From there
52+
you have complete choice over Kubernetes and Kubeflow, which offers the greatest degree
53+
of flexibility. You only need to install a single application to follow this path:
54+
55+
- Install [Multipass](https://multipass.run/#install)
56+
57+
The instructions on [Multipass and MicroK8s getting started](/docs/reference/virtual-dev/getting-started-multipass/)
58+
page will complete this path.
59+
60+
### Kubernetes Appliance
61+
62+
Similar to the Kubeflow appliance, the Kubernetes appliance is a virtual machine has a
63+
Kubernetes cluster already installed. After starting the virtual machine you will need
64+
to install Kubeflow. This option gives you full control over your Kubeflow setup.
65+
66+
#### Minikube
67+
68+
Minikube runs a simple, single-node Kubernetes cluster inside a virtual machine (VM).
69+
You can choose amongst a couple of hypervisor applications. Similar to the Kubeflow
70+
appliance, you only need to install a couple of applications, and then install Kubeflow:
71+
72+
- Install a Hypervisor (*one of the following*)
73+
- Install [Vagrant](https://www.vagrantup.com/downloads.html)
74+
- Install [VMware Fusion](https://www.vmware.com/products/fusion)
75+
- Install [Minikube](https://github.com/kubernetes/minikube/releases)
76+
77+
The full set of instructions are available on the
78+
[Minikube getting started](/docs/reference/virtual-dev/getting-started-minikube/) page.

0 commit comments

Comments
 (0)