Run markdownlint on all the md files in docs
parent
fbd3da22e9
commit
8e6dbf8053
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"no-inline-html": false,
|
"no-inline-html": false,
|
||||||
"no-trailing-punctuation": false,
|
"no-trailing-punctuation": false,
|
||||||
|
"blanks-around-fences": false,
|
||||||
|
"commands-show-output": false,
|
||||||
"ul-style": false,
|
"ul-style": false,
|
||||||
"line_length": false
|
"line-length": false
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
## Advanced Topics and Tutorials
|
# Advanced Topics and Tutorials
|
||||||
|
|
||||||
### Cluster Configuration
|
## Cluster Configuration
|
||||||
|
|
||||||
* **Alternative Runtimes** ([alternative_runtimes.md](alternative_runtimes.md)): How to run minikube with rkt as the container runtime
|
* **Alternative Runtimes** ([alternative_runtimes.md](alternative_runtimes.md)): How to run minikube with rkt as the container runtime
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
## Accessing Host Resources From Inside A Pod
|
# Accessing Host Resources From Inside A Pod
|
||||||
### When you have a VirtualBox driver
|
|
||||||
|
## When you have a VirtualBox driver
|
||||||
|
|
||||||
In order to access host resources from inside a pod, run the following command to determine the host IP you can use:
|
In order to access host resources from inside a pod, run the following command to determine the host IP you can use:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
ip addr
|
ip addr
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
## Add-ons
|
# Add-ons
|
||||||
|
|
||||||
Minikube has a set of built in addons that can be used enabled, disabled, and opened inside of the local k8s environment. Below is an example of this functionality for the `heapster` addon:
|
Minikube has a set of built in addons that can be used enabled, disabled, and opened inside of the local k8s environment. Below is an example of this functionality for the `heapster` addon:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ minikube addons list
|
$ minikube addons list
|
||||||
- registry: disabled
|
- registry: disabled
|
||||||
|
|
@ -26,6 +27,7 @@ Waiting, endpoint for service is not ready yet...
|
||||||
Waiting, endpoint for service is not ready yet...
|
Waiting, endpoint for service is not ready yet...
|
||||||
Created new window in existing browser session.
|
Created new window in existing browser session.
|
||||||
```
|
```
|
||||||
|
|
||||||
The currently supported addons include:
|
The currently supported addons include:
|
||||||
|
|
||||||
* [Kubernetes Dashboard](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard)
|
* [Kubernetes Dashboard](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
### Using rkt container engine
|
# Alternative runtimes
|
||||||
|
|
||||||
|
## Using rkt container engine
|
||||||
|
|
||||||
To use [rkt](https://github.com/coreos/rkt) as the container runtime run:
|
To use [rkt](https://github.com/coreos/rkt) as the container runtime run:
|
||||||
|
|
||||||
|
|
@ -6,8 +8,7 @@ To use [rkt](https://github.com/coreos/rkt) as the container runtime run:
|
||||||
$ minikube start --container-runtime=rkt
|
$ minikube start --container-runtime=rkt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Using CRI-O
|
||||||
### Using CRI-O
|
|
||||||
|
|
||||||
To use [CRI-O](https://github.com/kubernetes-sigs/cri-o) as the container runtime, run:
|
To use [CRI-O](https://github.com/kubernetes-sigs/cri-o) as the container runtime, run:
|
||||||
|
|
||||||
|
|
@ -27,7 +28,7 @@ $ minikube start --container-runtime=cri-o \
|
||||||
--extra-config=kubelet.image-service-endpoint=unix:///var/run/crio/crio.sock
|
--extra-config=kubelet.image-service-endpoint=unix:///var/run/crio/crio.sock
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using containerd
|
## Using containerd
|
||||||
|
|
||||||
To use [containerd](https://github.com/containerd/containerd) as the container runtime, run:
|
To use [containerd](https://github.com/containerd/containerd) as the container runtime, run:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
## Caching Images
|
# Caching Images
|
||||||
|
|
||||||
Minikube supports caching non-minikube images using the `minikube cache` command. Images can be added to the cache by running `minikube cache add <img>`, and deleted by running `minikube cache delete <img>`.
|
Minikube supports caching non-minikube images using the `minikube cache` command. Images can be added to the cache by running `minikube cache add <img>`, and deleted by running `minikube cache delete <img>`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
## Configuring Kubernetes
|
# Configuring Kubernetes
|
||||||
|
|
||||||
Minikube has a "configurator" feature that allows users to configure the Kubernetes components with arbitrary values.
|
Minikube has a "configurator" feature that allows users to configure the Kubernetes components with arbitrary values.
|
||||||
To use this feature, you can use the `--extra-config` flag on the `minikube start` command.
|
To use this feature, you can use the `--extra-config` flag on the `minikube start` command.
|
||||||
|
|
||||||
This flag is repeated, so you can pass it several times with several different values to set multiple options.
|
This flag is repeated, so you can pass it several times with several different values to set multiple options.
|
||||||
|
|
||||||
### Kubeadm bootstrapper
|
## Kubeadm bootstrapper
|
||||||
|
|
||||||
The kubeadm bootstrapper can be configured by the `--extra-config` flag on the `minikube start` command. It takes a string of the form `component.key=value` where `component` is one of the strings
|
The kubeadm bootstrapper can be configured by the `--extra-config` flag on the `minikube start` command. It takes a string of the form `component.key=value` where `component` is one of the strings
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
## Contributing
|
# Contributing
|
||||||
|
|
||||||
* **New contributors** ([contributors.md](https://github.com/kubernetes/minikube/blob/master/CONTRIBUTING.md)): Process for new contributors, CLA instructions
|
* **New contributors** ([contributors.md](https://github.com/kubernetes/minikube/blob/master/CONTRIBUTING.md)): Process for new contributors, CLA instructions
|
||||||
|
|
||||||
* **Roadmap** ([roadmap.md](roadmap.md)): The roadmap for future minikube development
|
* **Roadmap** ([roadmap.md](roadmap.md)): The roadmap for future minikube development
|
||||||
|
|
||||||
## New Features and Dependencies
|
## New Features and Dependencies
|
||||||
|
|
||||||
* **Adding a dependency** ([adding_a_dependency.md](adding_a_dependency.md)): How to add or update vendored code
|
* **Adding a dependency** ([adding_a_dependency.md](adding_a_dependency.md)): How to add or update vendored code
|
||||||
|
|
||||||
* **Adding a new addon** ([adding_an_addon.md](adding_an_addon.md)): How to add a new addon to minikube for `minikube addons`
|
* **Adding a new addon** ([adding_an_addon.md](adding_an_addon.md)): How to add a new addon to minikube for `minikube addons`
|
||||||
|
|
@ -12,6 +13,7 @@
|
||||||
* **Adding a new driver** ([adding_driver.md](adding_driver.md)): How to add a new driver to minikube for `minikube create --vm-driver=<driver>`
|
* **Adding a new driver** ([adding_driver.md](adding_driver.md)): How to add a new driver to minikube for `minikube create --vm-driver=<driver>`
|
||||||
|
|
||||||
## Building and Releasing
|
## Building and Releasing
|
||||||
|
|
||||||
* **Build Guide** ([build_guide.md](build_guide.md)): How to build minikube from source
|
* **Build Guide** ([build_guide.md](build_guide.md)): How to build minikube from source
|
||||||
|
|
||||||
* **ISO Build Guide** ([minikube_iso.md](minikube_iso.md)): How to build and hack on the ISO image that minikube uses
|
* **ISO Build Guide** ([minikube_iso.md](minikube_iso.md)): How to build and hack on the ISO image that minikube uses
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#### Adding a New Dependency
|
# Adding a New Dependency
|
||||||
|
|
||||||
Minikube uses `dep` to manage vendored dependencies.
|
Minikube uses `dep` to manage vendored dependencies.
|
||||||
|
|
||||||
See the `dep` [documentation](https://golang.github.io/dep/docs/introduction.html) for installation and usage instructions.
|
See the `dep` [documentation](https://golang.github.io/dep/docs/introduction.html) for installation and usage instructions.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#### Adding a New Addon
|
# Adding a New Addon
|
||||||
|
|
||||||
To add a new addon to minikube the following steps are required:
|
To add a new addon to minikube the following steps are required:
|
||||||
|
|
||||||
* For the new addon's .yaml file(s):
|
* For the new addon's .yaml file(s):
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Adding new driver (Deprecated)
|
# Adding new driver (Deprecated)
|
||||||
|
|
||||||
New drivers should be added into https://github.com/machine-drivers
|
New drivers should be added into <https://github.com/machine-drivers>
|
||||||
|
|
||||||
Minikube relies on docker machine drivers to manage machines. This document talks about how to
|
Minikube relies on docker machine drivers to manage machines. This document talks about how to
|
||||||
add an existing docker machine driver into minikube registry, so that minikube can use the driver
|
add an existing docker machine driver into minikube registry, so that minikube can use the driver
|
||||||
|
|
@ -26,7 +26,7 @@ Registry is what minikube uses to register all the supported drivers. The driver
|
||||||
their drivers in registry, and minikube runtime will look at the registry to find a driver and use the
|
their drivers in registry, and minikube runtime will look at the registry to find a driver and use the
|
||||||
driver metadata to determine what workflow to apply while those drivers are being used.
|
driver metadata to determine what workflow to apply while those drivers are being used.
|
||||||
|
|
||||||
The godoc of registry is available here: https://godoc.org/k8s.io/minikube/pkg/minikube/registry
|
The godoc of registry is available here: <https://godoc.org/k8s.io/minikube/pkg/minikube/registry>
|
||||||
|
|
||||||
[DriverDef](https://godoc.org/k8s.io/minikube/pkg/minikube/registry#DriverDef) is the main
|
[DriverDef](https://godoc.org/k8s.io/minikube/pkg/minikube/registry#DriverDef) is the main
|
||||||
struct to define a driver metadata. Essentially, you need to define 4 things at most, which is
|
struct to define a driver metadata. Essentially, you need to define 4 things at most, which is
|
||||||
|
|
@ -98,4 +98,3 @@ In summary, the process includes the following steps:
|
||||||
2. Add import in `pkg/minikube/cluster/default_drivers.go`
|
2. Add import in `pkg/minikube/cluster/default_drivers.go`
|
||||||
|
|
||||||
Any Questions: please ping your friend [@anfernee](https://github.com/anfernee)
|
Any Questions: please ping your friend [@anfernee](https://github.com/anfernee)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,23 @@
|
||||||
### Build Requirements
|
# Build Guide
|
||||||
|
|
||||||
|
## Build Requirements
|
||||||
|
|
||||||
* A recent Go distribution (>=1.12)
|
* A recent Go distribution (>=1.12)
|
||||||
* If you're not on Linux, you'll need a Docker installation
|
* If you're not on Linux, you'll need a Docker installation
|
||||||
* minikube requires at least 4GB of RAM to compile, which can be problematic when using docker-machine
|
* minikube requires at least 4GB of RAM to compile, which can be problematic when using docker-machine
|
||||||
|
|
||||||
#### Prerequisites for different GNU/Linux distributions
|
### Prerequisites for different GNU/Linux distributions
|
||||||
|
|
||||||
|
#### Fedora
|
||||||
|
|
||||||
##### Fedora
|
|
||||||
On Fedora you need to install _glibc-static_
|
On Fedora you need to install _glibc-static_
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ sudo dnf install -y glibc-static
|
$ sudo dnf install -y glibc-static
|
||||||
```
|
```
|
||||||
|
|
||||||
### Building from Source
|
### Building from Source
|
||||||
Clone minikube into your go path under `$GOPATH/src/k8s.io`
|
|
||||||
|
|
||||||
|
Clone minikube into your go path under `$GOPATH/src/k8s.io`
|
||||||
```shell
|
```shell
|
||||||
$ git clone https://github.com/kubernetes/minikube.git $GOPATH/src/k8s.io/minikube
|
$ git clone https://github.com/kubernetes/minikube.git $GOPATH/src/k8s.io/minikube
|
||||||
$ cd $GOPATH/src/k8s.io/minikube
|
$ cd $GOPATH/src/k8s.io/minikube
|
||||||
|
|
@ -25,15 +28,18 @@ Note: Make sure that you uninstall any previous versions of minikube before buil
|
||||||
from the source.
|
from the source.
|
||||||
|
|
||||||
### Building from Source in Docker (using Debian stretch image with golang)
|
### Building from Source in Docker (using Debian stretch image with golang)
|
||||||
|
|
||||||
Clone minikube:
|
Clone minikube:
|
||||||
```shell
|
```shell
|
||||||
$ git clone https://github.com/kubernetes/minikube.git
|
$ git clone https://github.com/kubernetes/minikube.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Build (cross compile for linux / OS X and Windows) using make:
|
Build (cross compile for linux / OS X and Windows) using make:
|
||||||
```shell
|
```shell
|
||||||
$ cd minikube
|
$ cd minikube
|
||||||
$ docker run --rm -v "$PWD":/go/src/k8s.io/minikube -w /go/src/k8s.io/minikube golang:stretch make cross
|
$ docker run --rm -v "$PWD":/go/src/k8s.io/minikube -w /go/src/k8s.io/minikube golang:stretch make cross
|
||||||
```
|
```
|
||||||
|
|
||||||
Check "out" directory:
|
Check "out" directory:
|
||||||
```shell
|
```shell
|
||||||
$ ls out/
|
$ ls out/
|
||||||
|
|
@ -77,11 +83,14 @@ You can run these against minikube by following these steps:
|
||||||
* Run `make quick-release` in the k8s repo.
|
* Run `make quick-release` in the k8s repo.
|
||||||
* Start up a minikube cluster with: `minikube start`.
|
* Start up a minikube cluster with: `minikube start`.
|
||||||
* Set following two environment variables:
|
* Set following two environment variables:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
export KUBECONFIG=$HOME/.kube/config
|
export KUBECONFIG=$HOME/.kube/config
|
||||||
export KUBERNETES_CONFORMANCE_TEST=y
|
export KUBERNETES_CONFORMANCE_TEST=y
|
||||||
```
|
```
|
||||||
|
|
||||||
* Run the tests (from the k8s repo):
|
* Run the tests (from the k8s repo):
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
go run hack/e2e.go -v --test --test_args="--ginkgo.focus=\[Conformance\]" --check-version-skew=false
|
go run hack/e2e.go -v --test --test_args="--ginkgo.focus=\[Conformance\]" --check-version-skew=false
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
### CI Builds
|
# CI Builds
|
||||||
|
|
||||||
We publish CI builds of minikube, built at every Pull Request. Builds are available at (substitute in the relevant PR number):
|
We publish CI builds of minikube, built at every Pull Request. Builds are available at (substitute in the relevant PR number):
|
||||||
- https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-darwin-amd64
|
|
||||||
- https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-linux-amd64
|
- <https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-darwin-amd64>
|
||||||
- https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-windows-amd64.exe
|
- <https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-linux-amd64>
|
||||||
|
- <https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-windows-amd64.exe>
|
||||||
|
|
||||||
We also publish CI builds of minikube-iso, built at every Pull Request that touches deploy/iso/minikube-iso. Builds are available at:
|
We also publish CI builds of minikube-iso, built at every Pull Request that touches deploy/iso/minikube-iso. Builds are available at:
|
||||||
- https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-testing.iso
|
|
||||||
|
- <https://storage.googleapis.com/minikube-builds/PR_NUMBER/minikube-testing.iso>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
## minikube ISO image
|
# minikube ISO image
|
||||||
|
|
||||||
This includes the configuration for an alternative bootable ISO image meant to be used in conjunction with minikube.
|
This includes the configuration for an alternative bootable ISO image meant to be used in conjunction with minikube.
|
||||||
|
|
||||||
It includes:
|
It includes:
|
||||||
|
|
||||||
- systemd as the init system
|
- systemd as the init system
|
||||||
- rkt
|
- rkt
|
||||||
- docker
|
- docker
|
||||||
|
|
@ -13,6 +14,7 @@ It includes:
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
* Linux
|
* Linux
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt-get install build-essential gnupg2 p7zip-full git wget cpio python \
|
sudo apt-get install build-essential gnupg2 p7zip-full git wget cpio python \
|
||||||
unzip bc gcc-multilib automake libtool locales
|
unzip bc gcc-multilib automake libtool locales
|
||||||
|
|
@ -69,7 +71,6 @@ $ git status
|
||||||
|
|
||||||
### Saving buildroot/kernel configuration changes
|
### Saving buildroot/kernel configuration changes
|
||||||
|
|
||||||
|
|
||||||
To make any kernel configuration changes and save them, execute:
|
To make any kernel configuration changes and save them, execute:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,3 @@ Here are some specific minikube features that align with our goal:
|
||||||
|
|
||||||
* Simplifying Kubernetes production deployment experience
|
* Simplifying Kubernetes production deployment experience
|
||||||
* Supporting all possible deployment configurations of Kubernetes like various types of storage, networking, etc.
|
* Supporting all possible deployment configurations of Kubernetes like various types of storage, networking, etc.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ NOTE: Confirm that all release-related PR's have been submitted before doing thi
|
||||||
|
|
||||||
Do this in a direct clone of the upstream kubernetes/minikube repository (not your fork!):
|
Do this in a direct clone of the upstream kubernetes/minikube repository (not your fork!):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
version=<new version number>
|
version=<new version number>
|
||||||
git fetch
|
git fetch
|
||||||
git checkout master
|
git checkout master
|
||||||
|
|
@ -95,8 +95,8 @@ These are downstream packages that are being maintained by others and how to upg
|
||||||
|
|
||||||
| Package Manager | URL | TODO |
|
| Package Manager | URL | TODO |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| Arch Linux AUR | https://aur.archlinux.org/packages/minikube/ | "Flag as package out-of-date"
|
| Arch Linux AUR | <https://aur.archlinux.org/packages/minikube/> | "Flag as package out-of-date"
|
||||||
| Brew Cask | https://github.com/Homebrew/homebrew-cask/blob/master/Casks/minikube.rb | The release job creates a new PR in [Homebrew/homebrew-cask](https://github.com/Homebrew/homebrew-cask) with an updated version and SHA256, double check that it's created.
|
| Brew Cask | <https://github.com/Homebrew/homebrew-cask/blob/master/Casks/minikube.rb> | The release job creates a new PR in [Homebrew/homebrew-cask](https://github.com/Homebrew/homebrew-cask) with an updated version and SHA256, double check that it's created.
|
||||||
|
|
||||||
## Verification
|
## Verification
|
||||||
|
|
||||||
|
|
@ -104,7 +104,7 @@ Verify release checksums by running`make check-release`
|
||||||
|
|
||||||
## Update docs
|
## Update docs
|
||||||
|
|
||||||
If there are major changes, please send a PR to update https://kubernetes.io/docs/setup/minikube/
|
If there are major changes, please send a PR to update <https://kubernetes.io/docs/setup/minikube/>
|
||||||
|
|
||||||
## Announce!
|
## Announce!
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
### Debugging Issues With Minikube
|
# Debugging Issues With Minikube
|
||||||
|
|
||||||
To debug issues with minikube (not *Kubernetes* but **minikube** itself), you can use the `-v` flag to see debug level info. The specified values for `-v` will do the following (the values are all encompassing in that higher values will give you all lower value outputs as well):
|
To debug issues with minikube (not *Kubernetes* but **minikube** itself), you can use the `-v` flag to see debug level info. The specified values for `-v` will do the following (the values are all encompassing in that higher values will give you all lower value outputs as well):
|
||||||
|
|
||||||
* `--v=0` will output **INFO** level logs
|
* `--v=0` will output **INFO** level logs
|
||||||
* `--v=1` will output **WARNING** level logs
|
* `--v=1` will output **WARNING** level logs
|
||||||
* `--v=2` will output **ERROR** level logs
|
* `--v=2` will output **ERROR** level logs
|
||||||
|
|
@ -11,6 +13,5 @@ Example:
|
||||||
|
|
||||||
If you need to access additional tools for debugging, minikube also includes the [CoreOS toolbox](https://github.com/coreos/toolbox)
|
If you need to access additional tools for debugging, minikube also includes the [CoreOS toolbox](https://github.com/coreos/toolbox)
|
||||||
|
|
||||||
|
|
||||||
You can ssh into the toolbox and access these additional commands using:
|
You can ssh into the toolbox and access these additional commands using:
|
||||||
`minikube ssh toolbox`
|
`minikube ssh toolbox`
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ the host PATH:
|
||||||
* [HyperV](#hyperv-driver)
|
* [HyperV](#hyperv-driver)
|
||||||
* [VMware](#vmware-unified-driver)
|
* [VMware](#vmware-unified-driver)
|
||||||
|
|
||||||
#### KVM2 driver
|
## KVM2 driver
|
||||||
|
|
||||||
To install the KVM2 driver, first install and configure the prereqs:
|
To install the KVM2 driver, first install and configure the prereqs:
|
||||||
|
|
||||||
|
|
@ -37,13 +37,13 @@ sudo yum install libvirt-daemon-kvm qemu-kvm
|
||||||
```
|
```
|
||||||
|
|
||||||
Enable,start, and verify the libvirtd service has started.
|
Enable,start, and verify the libvirtd service has started.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo systemctl enable libvirtd.service
|
sudo systemctl enable libvirtd.service
|
||||||
sudo systemctl start libvirtd.service
|
sudo systemctl start libvirtd.service
|
||||||
sudo systemctl status libvirtd.service
|
sudo systemctl status libvirtd.service
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Then you will need to add yourself to libvirt group (older distributions may use libvirtd instead)
|
Then you will need to add yourself to libvirt group (older distributions may use libvirtd instead)
|
||||||
|
|
||||||
`sudo usermod -a -G libvirt $(whoami)`
|
`sudo usermod -a -G libvirt $(whoami)`
|
||||||
|
|
@ -59,7 +59,6 @@ curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-
|
||||||
&& sudo install docker-machine-driver-kvm2 /usr/local/bin/
|
&& sudo install docker-machine-driver-kvm2 /usr/local/bin/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
NOTE: Ubuntu users on a release older than 18.04, or anyone experiencing [#3206: Error creating new host: dial tcp: missing address.](https://github.com/kubernetes/minikube/issues/3206) you will need to build your own driver until [#3689](https://github.com/kubernetes/minikube/issues/3689) is resolved. Building this binary will require [Go v1.11](https://golang.org/dl/) or newer to be installed.
|
NOTE: Ubuntu users on a release older than 18.04, or anyone experiencing [#3206: Error creating new host: dial tcp: missing address.](https://github.com/kubernetes/minikube/issues/3206) you will need to build your own driver until [#3689](https://github.com/kubernetes/minikube/issues/3689) is resolved. Building this binary will require [Go v1.11](https://golang.org/dl/) or newer to be installed.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
@ -90,14 +89,13 @@ and run minikube as usual:
|
||||||
minikube start
|
minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Hyperkit driver
|
## Hyperkit driver
|
||||||
|
|
||||||
The Hyperkit driver will eventually replace the existing xhyve driver.
|
The Hyperkit driver will eventually replace the existing xhyve driver.
|
||||||
It is built from the minikube source tree, and uses [moby/hyperkit](http://github.com/moby/hyperkit) as a Go library.
|
It is built from the minikube source tree, and uses [moby/hyperkit](http://github.com/moby/hyperkit) as a Go library.
|
||||||
|
|
||||||
To install the hyperkit driver via brew:
|
To install the hyperkit driver via brew:
|
||||||
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
brew install docker-machine-driver-hyperkit
|
brew install docker-machine-driver-hyperkit
|
||||||
|
|
||||||
|
|
@ -139,7 +137,7 @@ and run minikube as usual:
|
||||||
minikube start
|
minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HyperV driver
|
## HyperV driver
|
||||||
|
|
||||||
Hyper-v users may need to create a new external network switch as described [here](https://docs.docker.com/machine/drivers/hyper-v/). This step may prevent a problem in which `minikube start` hangs indefinitely, unable to ssh into the minikube virtual machine. In this add, add the `--hyperv-virtual-switch=switch-name` argument to the `minikube start` command.
|
Hyper-v users may need to create a new external network switch as described [here](https://docs.docker.com/machine/drivers/hyper-v/). This step may prevent a problem in which `minikube start` hangs indefinitely, unable to ssh into the minikube virtual machine. In this add, add the `--hyperv-virtual-switch=switch-name` argument to the `minikube start` command.
|
||||||
|
|
||||||
|
|
@ -150,6 +148,7 @@ To use the driver:
|
||||||
```shell
|
```shell
|
||||||
minikube start --vm-driver hyperv --hyperv-virtual-switch=switch-name
|
minikube start --vm-driver hyperv --hyperv-virtual-switch=switch-name
|
||||||
```
|
```
|
||||||
|
|
||||||
or, to use hyperv as a default driver:
|
or, to use hyperv as a default driver:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
@ -162,12 +161,12 @@ and run minikube as usual:
|
||||||
minikube start
|
minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
#### VMware unified driver
|
## VMware unified driver
|
||||||
|
|
||||||
The VMware unified driver will eventually replace the existing vmwarefusion driver.
|
The VMware unified driver will eventually replace the existing vmwarefusion driver.
|
||||||
The new unified driver supports both VMware Fusion (on macOS) and VMware Workstation (on Linux and Windows)
|
The new unified driver supports both VMware Fusion (on macOS) and VMware Workstation (on Linux and Windows)
|
||||||
|
|
||||||
To install the vmware unified driver, head over at https://github.com/machine-drivers/docker-machine-driver-vmware/releases and download the release for your operating system.
|
To install the vmware unified driver, head over at <https://github.com/machine-drivers/docker-machine-driver-vmware/releases> and download the release for your operating system.
|
||||||
|
|
||||||
The driver must be:
|
The driver must be:
|
||||||
|
|
||||||
|
|
@ -201,4 +200,3 @@ and run minikube as usual:
|
||||||
```shell
|
```shell
|
||||||
minikube start
|
minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ MINIKUBE_ENABLE_PROFILING=1 minikube start
|
||||||
|
|
||||||
Output:
|
Output:
|
||||||
|
|
||||||
```
|
``` text
|
||||||
2017/01/09 13:18:00 profile: cpu profiling enabled, /tmp/profile933201292/cpu.pprof
|
2017/01/09 13:18:00 profile: cpu profiling enabled, /tmp/profile933201292/cpu.pprof
|
||||||
Starting local Kubernetes cluster...
|
Starting local Kubernetes cluster...
|
||||||
Kubectl is now configured to use the cluster.
|
Kubectl is now configured to use the cluster.
|
||||||
|
|
|
||||||
25
docs/gpu.md
25
docs/gpu.md
|
|
@ -32,35 +32,38 @@ host to the minikube VM. Doing so has a few prerequisites:
|
||||||
|
|
||||||
- Once you reboot the system after doing the above, you should be ready to use
|
- Once you reboot the system after doing the above, you should be ready to use
|
||||||
GPUs with kvm2. Run the following command to start minikube:
|
GPUs with kvm2. Run the following command to start minikube:
|
||||||
```
|
```shell
|
||||||
minikube start --vm-driver kvm2 --gpu
|
minikube start --vm-driver kvm2 --gpu
|
||||||
```
|
```
|
||||||
|
|
||||||
This command will check if all the above conditions are satisfied and
|
This command will check if all the above conditions are satisfied and
|
||||||
passthrough spare GPUs found on the host to the VM.
|
passthrough spare GPUs found on the host to the VM.
|
||||||
|
|
||||||
If this succeeded, run the following commands:
|
If this succeeded, run the following commands:
|
||||||
```
|
```shell
|
||||||
minikube addons enable nvidia-gpu-device-plugin
|
minikube addons enable nvidia-gpu-device-plugin
|
||||||
minikube addons enable nvidia-driver-installer
|
minikube addons enable nvidia-driver-installer
|
||||||
```
|
```
|
||||||
|
|
||||||
This will install the NVIDIA driver (that works for GeForce/Quadro cards)
|
This will install the NVIDIA driver (that works for GeForce/Quadro cards)
|
||||||
on the VM.
|
on the VM.
|
||||||
|
|
||||||
- If everything succeeded, you should be able to see `nvidia.com/gpu` in the
|
- If everything succeeded, you should be able to see `nvidia.com/gpu` in the
|
||||||
capacity:
|
capacity:
|
||||||
```
|
```shell
|
||||||
kubectl get nodes -ojson | jq .items[].status.capacity
|
kubectl get nodes -ojson | jq .items[].status.capacity
|
||||||
```
|
```
|
||||||
|
|
||||||
### Where can I learn more about GPU passthrough?
|
### Where can I learn more about GPU passthrough?
|
||||||
|
|
||||||
See the excellent documentation at
|
See the excellent documentation at
|
||||||
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF
|
<https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF>
|
||||||
|
|
||||||
### Why are so many manual steps required to use GPUs with kvm2 on minikube?
|
### Why are so many manual steps required to use GPUs with kvm2 on minikube?
|
||||||
|
|
||||||
These steps require elevated privileges which minikube doesn't run with and they
|
These steps require elevated privileges which minikube doesn't run with and they
|
||||||
are disruptive to the host, so we decided to not do them automatically.
|
are disruptive to the host, so we decided to not do them automatically.
|
||||||
|
|
||||||
|
|
||||||
## Using NVIDIA GPU on minikube on Linux with `--vm-driver=none`
|
## Using NVIDIA GPU on minikube on Linux with `--vm-driver=none`
|
||||||
|
|
||||||
NOTE: This approach used to expose GPUs here is different than the approach used
|
NOTE: This approach used to expose GPUs here is different than the approach used
|
||||||
|
|
@ -70,26 +73,28 @@ to expose GPUs with `--vm-driver=kvm2`. Please don't mix these instructions.
|
||||||
|
|
||||||
- Install the nvidia driver, nvidia-docker and configure docker with nvidia as
|
- Install the nvidia driver, nvidia-docker and configure docker with nvidia as
|
||||||
the default runtime. See instructions at
|
the default runtime. See instructions at
|
||||||
https://github.com/NVIDIA/nvidia-docker
|
<https://github.com/NVIDIA/nvidia-docker>
|
||||||
|
|
||||||
- Start minikube:
|
- Start minikube:
|
||||||
```
|
```shell
|
||||||
minikube start --vm-driver=none --apiserver-ips 127.0.0.1 --apiserver-name localhost
|
minikube start --vm-driver=none --apiserver-ips 127.0.0.1 --apiserver-name localhost
|
||||||
```
|
```
|
||||||
|
|
||||||
- Install NVIDIA's device plugin:
|
- Install NVIDIA's device plugin:
|
||||||
```
|
```shell
|
||||||
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.10/nvidia-device-plugin.yml
|
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.10/nvidia-device-plugin.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Why does minikube not support NVIDIA GPUs on macOS?
|
## Why does minikube not support NVIDIA GPUs on macOS?
|
||||||
|
|
||||||
VM drivers supported by minikube for macOS doesn't support GPU passthrough:
|
VM drivers supported by minikube for macOS doesn't support GPU passthrough:
|
||||||
|
|
||||||
- [mist64/xhyve#108](https://github.com/mist64/xhyve/issues/108)
|
- [mist64/xhyve#108](https://github.com/mist64/xhyve/issues/108)
|
||||||
- [moby/hyperkit#159](https://github.com/moby/hyperkit/issues/159)
|
- [moby/hyperkit#159](https://github.com/moby/hyperkit/issues/159)
|
||||||
- [VirtualBox docs](http://www.virtualbox.org/manual/ch09.html#pcipassthrough)
|
- [VirtualBox docs](http://www.virtualbox.org/manual/ch09.html#pcipassthrough)
|
||||||
|
|
||||||
Also:
|
Also:
|
||||||
|
|
||||||
- For quite a while, all Mac hardware (both laptops and desktops) have come with
|
- For quite a while, all Mac hardware (both laptops and desktops) have come with
|
||||||
Intel or AMD GPUs (and not with NVIDIA GPUs). Recently, Apple added [support
|
Intel or AMD GPUs (and not with NVIDIA GPUs). Recently, Apple added [support
|
||||||
for eGPUs](https://support.apple.com/en-us/HT208544), but even then all the
|
for eGPUs](https://support.apple.com/en-us/HT208544), but even then all the
|
||||||
|
|
@ -98,8 +103,8 @@ Also:
|
||||||
- nvidia-docker [doesn't support
|
- nvidia-docker [doesn't support
|
||||||
macOS](https://github.com/NVIDIA/nvidia-docker/issues/101) either.
|
macOS](https://github.com/NVIDIA/nvidia-docker/issues/101) either.
|
||||||
|
|
||||||
|
|
||||||
## Why does minikube not support NVIDIA GPUs on Windows?
|
## Why does minikube not support NVIDIA GPUs on Windows?
|
||||||
|
|
||||||
minikube supports Windows host through Hyper-V or VirtualBox.
|
minikube supports Windows host through Hyper-V or VirtualBox.
|
||||||
|
|
||||||
- VirtualBox doesn't support PCI passthrough for [Windows
|
- VirtualBox doesn't support PCI passthrough for [Windows
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
|
# Mounting Host Folders
|
||||||
|
|
||||||
## Mounting Host Folders
|
|
||||||
`minikube mount /path/to/dir/to/mount:/vm-mount-path` is the recommended way to mount directories into minikube so that they can be used in your local Kubernetes cluster. The command works on all supported platforms. Below is an example workflow for using `minikube mount`:
|
`minikube mount /path/to/dir/to/mount:/vm-mount-path` is the recommended way to mount directories into minikube so that they can be used in your local Kubernetes cluster. The command works on all supported platforms. Below is an example workflow for using `minikube mount`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
## Using Minikube with an HTTP Proxy
|
# Using Minikube with an HTTP Proxy
|
||||||
|
|
||||||
minikube requires access to the internet via HTTP, HTTPS, and DNS protocols. If a HTTP proxy is required to access the internet, you may need to pass the proxy connection information to both minikube and Docker using environment variables:
|
minikube requires access to the internet via HTTP, HTTPS, and DNS protocols. If a HTTP proxy is required to access the internet, you may need to pass the proxy connection information to both minikube and Docker using environment variables:
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ One important note: If NO_PROXY is required by non-Kubernetes applications, such
|
||||||
|
|
||||||
### macOS and Linux
|
### macOS and Linux
|
||||||
|
|
||||||
```
|
```shell
|
||||||
export HTTP_PROXY=http://<proxy hostname:port>
|
export HTTP_PROXY=http://<proxy hostname:port>
|
||||||
export HTTPS_PROXY=https://<proxy hostname:port>
|
export HTTPS_PROXY=https://<proxy hostname:port>
|
||||||
export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.1/24
|
export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.1/24
|
||||||
|
|
@ -30,7 +30,7 @@ To make the exported variables permanent, consider adding the declarations to ~/
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
```
|
```shell
|
||||||
set HTTP_PROXY=http://<proxy hostname:port>
|
set HTTP_PROXY=http://<proxy hostname:port>
|
||||||
set HTTPS_PROXY=https://<proxy hostname:port>
|
set HTTPS_PROXY=https://<proxy hostname:port>
|
||||||
set NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.1/24
|
set NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.1/24
|
||||||
|
|
@ -45,7 +45,7 @@ To set these environment variables permanently, consider adding these to your [s
|
||||||
|
|
||||||
### unable to cache ISO... connection refused
|
### unable to cache ISO... connection refused
|
||||||
|
|
||||||
```
|
```text
|
||||||
Unable to start VM: unable to cache ISO: https://storage.googleapis.com/minikube/iso/minikube.iso:
|
Unable to start VM: unable to cache ISO: https://storage.googleapis.com/minikube/iso/minikube.iso:
|
||||||
failed to download: failed to download to temp file: download failed: 5 error(s) occurred:
|
failed to download: failed to download to temp file: download failed: 5 error(s) occurred:
|
||||||
|
|
||||||
|
|
@ -57,7 +57,7 @@ This error indicates that the host:port combination defined by HTTPS_PROXY or HT
|
||||||
|
|
||||||
## Unable to pull images..Client.Timeout exceeded while awaiting headers
|
## Unable to pull images..Client.Timeout exceeded while awaiting headers
|
||||||
|
|
||||||
```
|
```text
|
||||||
Unable to pull images, which may be OK:
|
Unable to pull images, which may be OK:
|
||||||
|
|
||||||
failed to pull image "k8s.gcr.io/kube-apiserver:v1.13.3": output: Error response from daemon:
|
failed to pull image "k8s.gcr.io/kube-apiserver:v1.13.3": output: Error response from daemon:
|
||||||
|
|
@ -69,7 +69,7 @@ This error indicates that the container runtime running within the VM does not h
|
||||||
|
|
||||||
## x509: certificate signed by unknown authority
|
## x509: certificate signed by unknown authority
|
||||||
|
|
||||||
```
|
```text
|
||||||
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.13.3:
|
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.13.3:
|
||||||
output: Error response from daemon:
|
output: Error response from daemon:
|
||||||
Get https://k8s.gcr.io/v2/: x509: certificate signed by unknown authority
|
Get https://k8s.gcr.io/v2/: x509: certificate signed by unknown authority
|
||||||
|
|
@ -83,7 +83,6 @@ Ask your IT department for the appropriate PEM file, and add it to:
|
||||||
|
|
||||||
Then run `minikube delete` and `minikube start`.
|
Then run `minikube delete` and `minikube start`.
|
||||||
|
|
||||||
|
|
||||||
## Additional Information
|
## Additional Information
|
||||||
|
|
||||||
- [Configure Docker to use a proxy server](https://docs.docker.com/network/proxy/)
|
* [Configure Docker to use a proxy server](https://docs.docker.com/network/proxy/)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
## Enabling Docker Insecure Registry
|
# Enabling Docker Insecure Registry
|
||||||
|
|
||||||
Minikube allows users to configure the docker engine's `--insecure-registry` flag. You can use the `--insecure-registry` flag on the
|
Minikube allows users to configure the docker engine's `--insecure-registry` flag. You can use the `--insecure-registry` flag on the
|
||||||
`minikube start` command to enable insecure communication between the docker engine and registries listening to requests from the CIDR range.
|
`minikube start` command to enable insecure communication between the docker engine and registries listening to requests from the CIDR range.
|
||||||
|
|
@ -8,7 +8,9 @@ with TLS certificates. Because the default service cluster IP is known to be ava
|
||||||
deployed inside the cluster by creating the cluster with `minikube start --insecure-registry "10.0.0.0/24"`.
|
deployed inside the cluster by creating the cluster with `minikube start --insecure-registry "10.0.0.0/24"`.
|
||||||
|
|
||||||
## Private Container Registries
|
## Private Container Registries
|
||||||
|
|
||||||
**GCR/ECR/Docker**: Minikube has an addon, `registry-creds` which maps credentials into Minikube to support pulling from Google Container Registry (GCR), Amazon's EC2 Container Registry (ECR), and Private Docker registries. You will need to run `minikube addons configure registry-creds` and `minikube addons enable registry-creds` to get up and running. An example of this is below:
|
**GCR/ECR/Docker**: Minikube has an addon, `registry-creds` which maps credentials into Minikube to support pulling from Google Container Registry (GCR), Amazon's EC2 Container Registry (ECR), and Private Docker registries. You will need to run `minikube addons configure registry-creds` and `minikube addons enable registry-creds` to get up and running. An example of this is below:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ minikube addons configure registry-creds
|
$ minikube addons configure registry-creds
|
||||||
Do you want to enable AWS Elastic Container Registry? [y/n]: n
|
Do you want to enable AWS Elastic Container Registry? [y/n]: n
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
## Networking
|
# Networking
|
||||||
|
|
||||||
The minikube VM is exposed to the host system via a host-only IP address, that can be obtained with the `minikube ip` command.
|
The minikube VM is exposed to the host system via a host-only IP address, that can be obtained with the `minikube ip` command.
|
||||||
Any services of type `NodePort` can be accessed over that IP address, on the NodePort.
|
Any services of type `NodePort` can be accessed over that IP address, on the NodePort.
|
||||||
|
|
@ -11,7 +11,7 @@ We also have a shortcut for fetching the minikube IP and a service's `NodePort`:
|
||||||
|
|
||||||
`minikube service --url $SERVICE`
|
`minikube service --url $SERVICE`
|
||||||
|
|
||||||
### LoadBalancer emulation (`minikube tunnel`)
|
## LoadBalancer emulation (`minikube tunnel`)
|
||||||
|
|
||||||
Services of type `LoadBalancer` can be exposed via the `minikube tunnel` command.
|
Services of type `LoadBalancer` can be exposed via the `minikube tunnel` command.
|
||||||
|
|
||||||
|
|
@ -21,7 +21,7 @@ minikube tunnel
|
||||||
|
|
||||||
Will output:
|
Will output:
|
||||||
|
|
||||||
```
|
```text
|
||||||
out/minikube tunnel
|
out/minikube tunnel
|
||||||
Password: *****
|
Password: *****
|
||||||
Status:
|
Status:
|
||||||
|
|
@ -40,16 +40,17 @@ Status:
|
||||||
|
|
||||||
Tunnel might ask you for password for creating and deleting network routes.
|
Tunnel might ask you for password for creating and deleting network routes.
|
||||||
|
|
||||||
# Cleaning up orphaned routes
|
## Cleaning up orphaned routes
|
||||||
|
|
||||||
If the `minikube tunnel` shuts down in an unclean way, it might leave a network route around.
|
If the `minikube tunnel` shuts down in an unclean way, it might leave a network route around.
|
||||||
This case the ~/.minikube/tunnels.json file will contain an entry for that tunnel.
|
This case the ~/.minikube/tunnels.json file will contain an entry for that tunnel.
|
||||||
To cleanup orphaned routes, run:
|
To cleanup orphaned routes, run:
|
||||||
````
|
|
||||||
|
````shell
|
||||||
minikube tunnel --cleanup
|
minikube tunnel --cleanup
|
||||||
````
|
````
|
||||||
|
|
||||||
# (Advanced) Running tunnel as root to avoid entering password multiple times
|
## (Advanced) Running tunnel as root to avoid entering password multiple times
|
||||||
|
|
||||||
`minikube tunnel` runs as a separate daemon, creates a network route on the host to the service CIDR of the cluster using the cluster's IP address as a gateway.
|
`minikube tunnel` runs as a separate daemon, creates a network route on the host to the service CIDR of the cluster using the cluster's IP address as a gateway.
|
||||||
Adding a route requires root privileges for the user, and thus there are differences in how to run `minikube tunnel` depending on the OS.
|
Adding a route requires root privileges for the user, and thus there are differences in how to run `minikube tunnel` depending on the OS.
|
||||||
|
|
@ -59,4 +60,3 @@ Recommended way to use on Linux with KVM2 driver and MacOSX with Hyperkit driver
|
||||||
`sudo -E minikube tunnel`
|
`sudo -E minikube tunnel`
|
||||||
|
|
||||||
Using VirtualBox on Windows, Mac and Linux _both_ `minikube start` and `minikube tunnel` needs to be started from the same Administrator user session otherwise [VBoxManage can't recognize the created VM](https://forums.virtualbox.org/viewtopic.php?f=6&t=81551).
|
Using VirtualBox on Windows, Mac and Linux _both_ `minikube start` and `minikube tunnel` needs to be started from the same Administrator user session otherwise [VBoxManage can't recognize the created VM](https://forums.virtualbox.org/viewtopic.php?f=6&t=81551).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,7 @@
|
||||||
|
|
||||||
Minikube `kube-apiserver` can be configured to support OpenID Connect Authentication.
|
Minikube `kube-apiserver` can be configured to support OpenID Connect Authentication.
|
||||||
|
|
||||||
Read more about OpenID Connect Authentication for Kubernetes here: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens
|
Read more about OpenID Connect Authentication for Kubernetes here: <https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens>
|
||||||
|
|
||||||
|
|
||||||
## Configuring the API Server
|
## Configuring the API Server
|
||||||
|
|
||||||
|
|
@ -21,7 +20,7 @@ minikube start \
|
||||||
|
|
||||||
## Configuring kubectl
|
## Configuring kubectl
|
||||||
|
|
||||||
You can use the kubectl `oidc` authenticator to create a kubeconfig as shown in the Kubernetes docs: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#option-1-oidc-authenticator
|
You can use the kubectl `oidc` authenticator to create a kubeconfig as shown in the Kubernetes docs: <https://kubernetes.io/docs/reference/access-authn-authz/authentication/#option-1-oidc-authenticator>
|
||||||
|
|
||||||
`minikube start` already creates a kubeconfig that includes a `cluster`, in order to use it with your `oidc` authenticator kubeconfig, you can run:
|
`minikube start` already creates a kubeconfig that includes a `cluster`, in order to use it with your `oidc` authenticator kubeconfig, you can run:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
## Persistent Volumes
|
# Persistent Volumes
|
||||||
|
|
||||||
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 `--vm-driver=none`). 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 `--vm-driver=none`). For more information on how this works, read the Dynamic Provisioning section below.
|
||||||
|
|
||||||
### A note on mounts, persistence, and Minikube hosts
|
## A note on mounts, persistence, and Minikube hosts
|
||||||
|
|
||||||
Minikube is configured to persist files stored under the following directories, which are made in the Minikube VM (or on your localhost if running on bare metal). You may lose data from other directories on reboots.
|
Minikube is configured to persist files stored under the following directories, which are made in the Minikube VM (or on your localhost if running on bare metal). You may lose data from other directories on reboots.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
### Reusing the Docker daemon
|
# Reusing the Docker daemon
|
||||||
|
|
||||||
When using a single VM of Kubernetes it's really handy to reuse the Docker daemon inside the VM; as this means you don't have to build on your host machine and push the image into a docker registry - you can just build inside the same docker daemon as minikube which speeds up local experiments.
|
When using a single VM of Kubernetes it's really handy to reuse the Docker daemon inside the VM; as this means you don't have to build on your host machine and push the image into a docker registry - you can just build inside the same docker daemon as minikube which speeds up local experiments.
|
||||||
|
|
||||||
|
|
@ -7,7 +7,9 @@ To be able to work with the docker daemon on your mac/linux host use the docker-
|
||||||
```shell
|
```shell
|
||||||
eval $(minikube docker-env)
|
eval $(minikube docker-env)
|
||||||
```
|
```
|
||||||
|
|
||||||
You should now be able to use docker on the command line on your host mac/linux machine talking to the docker daemon inside the minikube VM:
|
You should now be able to use docker on the command line on your host mac/linux machine talking to the docker daemon inside the minikube VM:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker ps
|
docker ps
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -97,13 +97,14 @@ The routing table can be queried with `route print -4`
|
||||||
Unclean shutdowns of the tunnel process can result in partially executed cleanup process, leaving network routes in the routing table.
|
Unclean shutdowns of the tunnel process can result in partially executed cleanup process, leaving network routes in the routing table.
|
||||||
We will keep track of the routes created by each tunnel in a centralized location in the main minikube config directory.
|
We will keep track of the routes created by each tunnel in a centralized location in the main minikube config directory.
|
||||||
This list serves as a registry for tunnels containing information about
|
This list serves as a registry for tunnels containing information about
|
||||||
|
|
||||||
- machine profile
|
- machine profile
|
||||||
- process ID
|
- process ID
|
||||||
- and the route that was created
|
- and the route that was created
|
||||||
|
|
||||||
The cleanup command cleans the routes from both the routing table and the registry for tunnels that are not running:
|
The cleanup command cleans the routes from both the routing table and the registry for tunnels that are not running:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
minikube tunnel --cleanup
|
minikube tunnel --cleanup
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -122,7 +123,6 @@ There should not be any automated removal of conflicting routes.
|
||||||
|
|
||||||
*Note*: If the user removes the minikube config directory, this might leave conflicting rules in the network routing table that will have to be cleaned up manually.
|
*Note*: If the user removes the minikube config directory, this might leave conflicting rules in the network routing table that will have to be cleaned up manually.
|
||||||
|
|
||||||
|
|
||||||
## Load Balancer Controller
|
## Load Balancer Controller
|
||||||
|
|
||||||
In addition to making IPs routable, minikube tunnel will assign an external IP (the ClusterIP) to all services of type `LoadBalancer`.
|
In addition to making IPs routable, minikube tunnel will assign an external IP (the ClusterIP) to all services of type `LoadBalancer`.
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ The `none` driver supports releases of Debian, Ubuntu, and Fedora that are less
|
||||||
|
|
||||||
Most continuous integration environments are already running inside a VM, and may not supported nested virtualization. The `none` driver was designed for this use case. Here is an example, that runs minikube from a non-root user, and ensures that the latest stable kubectl is installed:
|
Most continuous integration environments are already running inside a VM, and may not supported nested virtualization. The `none` driver was designed for this use case. Here is an example, that runs minikube from a non-root user, and ensures that the latest stable kubectl is installed:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl -Lo minikube \
|
curl -Lo minikube \
|
||||||
https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
|
https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
|
||||||
&& sudo install minikube /usr/local/bin/
|
&& sudo install minikube /usr/local/bin/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue