Skip to content

Commit

Permalink
Merge pull request #7252 from medyagh/kic_docs
Browse files Browse the repository at this point in the history
add site docs for docker/podman driver
  • Loading branch information
tstromberg committed Mar 26, 2020
2 parents ef7d5fb + 26bdbfe commit f0feff0
Show file tree
Hide file tree
Showing 20 changed files with 169 additions and 67 deletions.
8 changes: 5 additions & 3 deletions site/content/en/_index.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,14 @@ <h3>Highlights</h3>
{{% /blocks/feature %}}

{{% blocks/feature icon="fa-thumbs-up" title="Cross-platform" %}}
- Bare-metal
- HyperKit
- Hyper-V
- KVM
- Docker
- HyperKit
- Bare-metal
- VirtualBox
- Hyper-V
- VMware
- Podman
{{% /blocks/feature %}}
{{< /blocks/section >}}

Expand Down
1 change: 1 addition & 0 deletions site/content/en/docs/Contributing/triage.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ If the issue is specific to an operating system, hypervisor, container, addon, o
- `co/kvm2`
- `co/none-driver`
- `co/docker-driver`
- `co/podman-driver`
- `co/virtualbox`

**co/[kubernetes component]** - When the issue appears specific to a k8s component
Expand Down
22 changes: 6 additions & 16 deletions site/content/en/docs/Reference/Drivers/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,18 @@ linkTitle: "docker"
weight: 3
date: 2020-02-05
description: >
Docker driver (EXPERIMENTAL)
Docker driver
---

## Overview

The Docker driver is an experimental VM-free driver that ships with minikube v1.7.
The Docker driver is the newest minikube driver. which runs kubernetes in container VM-free ! with full feature parity with minikube in VM.

This driver was inspired by the [kind project](https://kind.sigs.k8s.io/), and uses a modified version of its base image.
{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}}

## Special features

No hypervisor required when run on Linux.

## Limitations

As an experimental driver, not all commands are supported on all platforms. Notably: `mount,` `service`, `tunnel`, and others. Most of these limitations will be addressed by minikube v1.8 (March 2020)

## Issues

* [Full list of open 'kic-driver' issues](https://github.com/kubernetes/minikube/labels/co%2Fkic-driver)
## Special features
- Cross platform (linux, macos, windows)
- No hypervisor required when run on Linux.

## Troubleshooting

* Run `minikube start --alsologtostderr -v=1` to debug crashes
* If your docker is too slow on mac os try [Improving docker performance](https://docs.docker.com/docker-for-mac/osxfs-caching/)
1 change: 0 additions & 1 deletion site/content/en/docs/Reference/Drivers/hyperv.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ date: 2018-08-05
description: >
Microsoft Hyper-V driver
---

## Overview

Hyper-V is a native hypervisor built in to modern versions of Microsoft Windows.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
To use baremetal driver (none driver). verify that your operating system is Linux and also have 'systemd' installed.

```shell
pidof systemd && echo "yes" || echo "no"
```
If the above command outputs "no":
Your system is not suitable for none driver.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
To use VM drivers, verify that your system has virtualization support enabled:

```shell
egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no
```

If the above command outputs "no":

- If you are running within a VM, your hypervisor does not allow nested virtualization. You will need to use the *None (bare-metal)* driver
- If you are running on a physical machine, ensure that your BIOS has hardware virtualization enabled

Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
To check if virtualization is supported, run the following command on your Windows terminal or command prompt.

```shell
systeminfo
```
If you see the following output, virtualization is supported:

```shell
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
```

If you see the following output, your system already has a Hypervisor installed and you can skip the next step.

```shell
Hyper-V Requirements: A hypervisor has been detected.
```
16 changes: 16 additions & 0 deletions site/content/en/docs/Reference/Drivers/includes/docker_usage.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Install Docker

- [Docker Desktop](https://hub.docker.com/search?q=&type=edition&offering=community&sort=updated_at&order=desc)

## Usage

Start a cluster using the docker driver:

```shell
minikube start --driver=docker
```
To make docker the default driver:

```shell
minikube config set driver docker
```
21 changes: 21 additions & 0 deletions site/content/en/docs/Reference/Drivers/includes/podman_usage.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## experimental

This is an experimental driver. please use it only for experimental reasons.
for a better kubernetes in container experience, use docker [driver](https://minikube.sigs.k8s.io/docs/reference/drivers/docker).

## Install Podman

- [Podman](https://podman.io/getting-started/installation.html)

## Usage

Start a cluster using the docker driver:

```shell
minikube start --driver=podman
```
To make docker the default driver:

```shell
minikube config set driver podman
```
5 changes: 5 additions & 0 deletions site/content/en/docs/Reference/Drivers/kvm2.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,17 @@ description: >
Linux KVM (Kernel-based Virtual Machine) driver
---


## Overview

[KVM (Kernel-based Virtual Machine)](https://www.linux-kvm.org/page/Main_Page) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions. To work with KVM, minikube uses the [libvirt virtualization API](https://libvirt.org/)

{{% readfile file="/docs/Reference/Drivers/includes/kvm2_usage.inc" %}}

## Check virtualization support

{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_linux.inc" %}}

## Special features

The `minikube start` command supports 3 additional kvm specific flags:
Expand Down
26 changes: 26 additions & 0 deletions site/content/en/docs/Reference/Drivers/podman.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: "podman"
linkTitle: "podman"
weight: 3
date: 2020-03-26
description: >
Podman driver
---

## Overview

The podman driver is another kubernetes in container driver for minikube. simmilar to [docker](https://minikube.sigs.k8s.io/docs/reference/drivers/docker/) driver.
podman driver is currently experimental.
and only supported on Linux and MacOs (with a remote podman server)


## Try it with CRI-O container runtime.
```shell
minikube start --driver=podman --container-runtime=cri-o
```


{{% readfile file="/docs/Reference/Drivers/includes/podman_usage.inc" %}}



2 changes: 1 addition & 1 deletion site/content/en/docs/Reference/disk_cache.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linkTitle: "Disk cache"
weight: 6
date: 2019-08-01
description: >
Cache Rules Everything Around Minikube
Cache Rules Everything Around minikube
---

minikube has built-in support for caching downloaded resources into `$MINIKUBE_HOME/cache`. Here are the important file locations:
Expand Down
2 changes: 1 addition & 1 deletion site/content/en/docs/Reference/persistent_volumes.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >
About persistent volumes (hostPath)
---

minikube supports [PersistentVolumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) of type `hostPath` out of the box. These PersistentVolumes are mapped to a directory inside the running Minikube instance (usually a VM, unless you use `--driver=none`, `--driver=docker`, or `--driver=podman`). For more information on how this works, read the Dynamic Provisioning section below.
minikube supports [PersistentVolumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) of type `hostPath` out of the box. These PersistentVolumes are mapped to a directory inside the running minikube instance (usually a VM, unless you use `--driver=none`, `--driver=docker`, or `--driver=podman`). For more information on how this works, read the Dynamic Provisioning section below.

## A note on mounts, persistence, and minikube hosts

Expand Down
10 changes: 5 additions & 5 deletions site/content/en/docs/Start/includes/post_install.inc
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
### Getting to know Kubernetes
## Getting to know Kubernetes

Once started, you can use any regular Kubernetes command to interact with your minikube cluster. For example, you can see the pod states by running:

```shell
kubectl get po -A
```

### Increasing memory allocation
## Increasing memory allocation

minikube only allocates 2GB of RAM by default, which is only enough for trivial deployments. For larger
minikube auto-selects the memory size based on your system up to 6000mb. For larger
deployments, increase the memory allocation using the `--memory` flag, or make the setting persistent using:

```shell
minikube config set memory 4096
minikube config set memory 8096
```

### Where to go next?
## Where to go next?

Visit the [examples](/docs/examples) page to get an idea of what you can do with minikube.

Expand Down
31 changes: 19 additions & 12 deletions site/content/en/docs/Start/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,32 +39,39 @@ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-{{< la
{{% /tab %}}
{{% /tabs %}}

## Hypervisor Setup

Verify that your system has virtualization support enabled:

```shell
egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no
```

If the above command outputs "no":

- If you are running within a VM, your hypervisor does not allow nested virtualization. You will need to use the *None (bare-metal)* driver
- If you are running on a physical machine, ensure that your BIOS has hardware virtualization enabled
## Driver Setup

{{% tabs %}}
{{% tab "Docker" %}}
## Check container support
{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}}
{{% /tab %}}

{{% tab "KVM" %}}
## Check virtualization support
{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_linux.inc" %}}

{{% readfile file="/docs/Reference/Drivers/includes/kvm2_usage.inc" %}}
{{% /tab %}}
{{% tab "VirtualBox" %}}
## Check virtualization support
{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_linux.inc" %}}

{{% readfile file="/docs/Reference/Drivers/includes/virtualbox_usage.inc" %}}
{{% /tab %}}
{{% tab "None (bare-metal)" %}}
## Check baremetal support
{{% readfile file="/docs/Reference/Drivers/includes/check_baremetal_linux.inc" %}}

If you are already running minikube from inside a VM, it is possible to skip the creation of an additional VM layer by using the `none` driver.

{{% readfile file="/docs/Reference/Drivers/includes/none_usage.inc" %}}
{{% /tab %}}
{{% tab "Podman (experimental)" %}}
{{% readfile file="/docs/Reference/Drivers/includes/podman_usage.inc" %}}
{{% /tab %}}


{{% /tabs %}}

{{% readfile file="/docs/Start/includes/post_install.inc" %}}
6 changes: 6 additions & 0 deletions site/content/en/docs/Start/macos.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ brew upgrade minikube
## Hypervisor Setup

{{% tabs %}}
{{% tab "Docker" %}}
{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}}
{{% /tab %}}
{{% tab "Hyperkit" %}}
{{% readfile file="/docs/Reference/Drivers/includes/hyperkit_usage.inc" %}}
{{% /tab %}}
Expand All @@ -62,6 +65,9 @@ brew upgrade minikube
{{% tab "VMware" %}}
{{% readfile file="/docs/Reference/Drivers/includes/vmware_macos_usage.inc" %}}
{{% /tab %}}
{{% tab "Podman (experimental)" %}}
{{% readfile file="/docs/Reference/Drivers/includes/podman_usage.inc" %}}
{{% /tab %}}

{{% /tabs %}}

Expand Down
32 changes: 10 additions & 22 deletions site/content/en/docs/Start/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ weight: 3
### Prerequisites

* Windows 8 or above
* A hypervisor, such as Hyper-V or VirtualBox
* Hardware virtualization support must be enabled in BIOS
* 4GB of RAM

### Installation
Expand All @@ -30,33 +28,23 @@ After it has installed, close the current CLI session and reopen it. minikube sh
{{% /tab %}}
{{% /tabs %}}

## Hypervisor Setup

To check if virtualization is supported, run the following command on your Windows terminal or command prompt.

```shell
systeminfo
```
If you see the following output, virtualization is supported:

```shell
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
```

If you see the following output, your system already has a Hypervisor installed and you can skip the next step.

```shell
Hyper-V Requirements: A hypervisor has been detected.
```

{{% tabs %}}
{{% tab "Docker" %}}
{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}}
{{% /tab %}}

{{% tab "Hyper-V" %}}
## Check Hypervisor
{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_windows.inc" %}}

{{% readfile file="/docs/Reference/Drivers/includes/hyperv_usage.inc" %}}
{{% /tab %}}
{{% tab "VirtualBox" %}}
## Check Hypervisor
{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_windows.inc" %}}

{{% readfile file="/docs/Reference/Drivers/includes/virtualbox_usage.inc" %}}
{{% /tab %}}
{{% /tabs %}}
Expand Down
8 changes: 6 additions & 2 deletions site/content/en/docs/Tutorials/continuous_integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ description: >

## Overview

Most continuous integration environments are already running inside a VM, and may not support nested virtualization. The `none` driver was designed for this use case.
Most continuous integration environments are already running inside a VM, and may not support nested virtualization. The `none` driver was designed for this use case. or you could alternatively use the [Docker](https://minikube.sigs.k8s.io/docs/reference/drivers/docker).

## Prerequisites

- VM running a systemd based Linux distribution

## Tutorial
## using none driver

Here is an example, that runs minikube from a non-root user, and ensures that the latest stable kubectl is installed:

Expand All @@ -39,3 +39,7 @@ touch $KUBECONFIG

sudo -E minikube start --driver=none
```

## Alternative ways

you could alternatively use minikube's container drivers such as [Docker](https://minikube.sigs.k8s.io/docs/reference/drivers/docker) or [Podman](https://minikube.sigs.k8s.io/docs/reference/drivers/podman).
2 changes: 1 addition & 1 deletion site/content/en/docs/Tutorials/nvidia_gpu.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ to expose GPUs with `--driver=kvm2`. Please don't mix these instructions.
## Why does minikube not support NVIDIA GPUs on macOS?
VM drivers supported by minikube for macOS doesn't support GPU passthrough:
drivers supported by minikube for macOS doesn't support GPU passthrough:

- [mist64/xhyve#108](https://github.com/mist64/xhyve/issues/108)
- [moby/hyperkit#159](https://github.com/moby/hyperkit/issues/159)
Expand Down
Loading

0 comments on commit f0feff0

Please sign in to comment.