Merge
commit
c4da43faa7
61
CHANGELOG.md
61
CHANGELOG.md
|
@ -1,5 +1,66 @@
|
|||
# Minikube Release Notes
|
||||
|
||||
# Version 0.34.0 - 2019-02-15
|
||||
|
||||
* Initial implementation of 'console' package for stylized & localized console output 😂 [#3638](https://github.com/kubernetes/minikube/pull/3638)
|
||||
* Podman 1.0.0 [#3584](https://github.com/kubernetes/minikube/pull/3584)
|
||||
* fix netstat -f error on linux distros [#3592](https://github.com/kubernetes/minikube/pull/3592)
|
||||
* addons: Fixes multiple files behavior in files rootfs [#3501](https://github.com/kubernetes/minikube/pull/3501)
|
||||
* Make hyperkit driver more robust: detect crashing, misinstallation, other process names [#3660](https://github.com/kubernetes/minikube/pull/3660)
|
||||
* Include pod output in 'logs' command & display detected problems during start [#3673](https://github.com/kubernetes/minikube/pull/3673)
|
||||
* Upgrade Docker, from 18.06.1-ce to 18.06.2-ce [#3666](https://github.com/kubernetes/minikube/pull/3666)
|
||||
* Upgrade opencontainers/runc to 0a012df [#3669](https://github.com/kubernetes/minikube/pull/3669)
|
||||
* Clearer output when re-using VM's so that users know what they are waiting on [#3659](https://github.com/kubernetes/minikube/pull/3659)
|
||||
* Disable kubelet disk eviction by default [#3671](https://github.com/kubernetes/minikube/pull/3671)
|
||||
* Run poweroff before delete, only call uninstall if driver is None [#3665](https://github.com/kubernetes/minikube/pull/3665)
|
||||
* Add DeleteCluster to bootstrapper [#3656](https://github.com/kubernetes/minikube/pull/3656)
|
||||
* Enable CNI for alternative runtimes [#3617](https://github.com/kubernetes/minikube/pull/3617)
|
||||
* machine: add parallels support [#953](https://github.com/kubernetes/minikube/pull/953)
|
||||
* When copying assets from .minikube/files on windows, directories get squashed during transfer. ie /etc/ssl/certs/test.pem becomes ~minikube/etcsslcerts/test.pem. This pull request ensures any window style directories are converted into unix style. [#3258](https://github.com/kubernetes/minikube/pull/3258)
|
||||
* Updated the default kubernetes version [#3625](https://github.com/kubernetes/minikube/pull/3625)
|
||||
* Update crictl to v1.13.0 [#3616](https://github.com/kubernetes/minikube/pull/3616)
|
||||
* Upgrade libmachine to version 0.16.1 [#3619](https://github.com/kubernetes/minikube/pull/3619)
|
||||
* updated to fedora-29 [#3607](https://github.com/kubernetes/minikube/pull/3607)
|
||||
* fix stale hyperkit.pid making minikube start hang [#3593](https://github.com/kubernetes/minikube/pull/3593)
|
||||
* CRI: try to use "sudo podman load" instead of "docker load" [#2757](https://github.com/kubernetes/minikube/pull/2757)
|
||||
* Use mac as identifier for dhcp [#3572](https://github.com/kubernetes/minikube/pull/3572)
|
||||
* Still generate docker.service unit, even if unused [#3560](https://github.com/kubernetes/minikube/pull/3560)
|
||||
* Initial commit of logviewer addon [#3391](https://github.com/kubernetes/minikube/pull/3391)
|
||||
* Add images and improve parsing for kubernetes 1.11 [#3262](https://github.com/kubernetes/minikube/pull/3262)
|
||||
* Stop containerd from running, if it is not desired [#3549](https://github.com/kubernetes/minikube/pull/3549)
|
||||
* Re-remove kube-dns addon [#3556](https://github.com/kubernetes/minikube/pull/3556)
|
||||
* Update docker env during minikube start if VM has already been created [#3387](https://github.com/kubernetes/minikube/pull/3387)
|
||||
* Remove redundant newline in `minikube status` [#3565](https://github.com/kubernetes/minikube/pull/3565)
|
||||
* Fix for issue #3044 - mounted timestamps incorrect with windows host [#3285](https://github.com/kubernetes/minikube/pull/3285)
|
||||
|
||||
Huge thank you for this release towards our contributors:
|
||||
- Abhilash Pallerlamudi
|
||||
- Alberto Alvarez
|
||||
- Anders Björklund
|
||||
- Anders F Björklund
|
||||
- Balint Pato
|
||||
- Bassam Tabbara
|
||||
- Denis Denisov
|
||||
- Hidekazu Nakamura
|
||||
- Himanshu Pandey
|
||||
- ivans3
|
||||
- jay vyas
|
||||
- Jeff Wu
|
||||
- Kauê Doretto Grecchi
|
||||
- Kubernetes Prow Robot
|
||||
- Leif Ringstad
|
||||
- Mark Gibbons
|
||||
- Nicholas Goozeff
|
||||
- Nicholas Irving
|
||||
- Rob Richardson
|
||||
- Roy Lenferink
|
||||
- Skip Baney
|
||||
- Thomas Strömberg
|
||||
- todd densmore
|
||||
- YAMAMOTO Takashi
|
||||
- Yugo Horie
|
||||
- Zhongcheng Lao
|
||||
|
||||
# Version 0.33.1 - 2019-01-18
|
||||
|
||||
* Install upstream runc into /usr/bin/docker-runc [#3545](https://github.com/kubernetes/minikube/pull/3545)
|
||||
|
|
4
Makefile
4
Makefile
|
@ -14,8 +14,8 @@
|
|||
|
||||
# Bump these on release
|
||||
VERSION_MAJOR ?= 0
|
||||
VERSION_MINOR ?= 33
|
||||
VERSION_BUILD ?= 1
|
||||
VERSION_MINOR ?= 34
|
||||
VERSION_BUILD ?= 0
|
||||
VERSION ?= v$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
|
||||
DEB_VERSION ?= $(VERSION_MAJOR).$(VERSION_MINOR)-$(VERSION_BUILD)
|
||||
INSTALL_SIZE ?= $(shell du out/minikube-windows-amd64.exe | cut -f1)
|
||||
|
|
316
README.md
316
README.md
|
@ -1,7 +1,6 @@
|
|||
# Minikube
|
||||
# minikube
|
||||
|
||||
[![BuildStatus Widget]][BuildStatus Result]
|
||||
[![CodeCovWidget]][CodeCovResult]
|
||||
[![GoReport Widget]][GoReport Status]
|
||||
|
||||
[BuildStatus Result]: https://travis-ci.org/kubernetes/minikube
|
||||
|
@ -10,233 +9,124 @@
|
|||
[GoReport Status]: https://goreportcard.com/report/github.com/kubernetes/minikube
|
||||
[GoReport Widget]: https://goreportcard.com/badge/github.com/kubernetes/minikube
|
||||
|
||||
[CodeCovResult]: https://codecov.io/gh/kubernetes/minikube
|
||||
[CodeCovWidget]: https://codecov.io/gh/kubernetes/minikube/branch/master/graph/badge.svg
|
||||
|
||||
<img src="https://github.com/kubernetes/minikube/raw/master/images/logo/logo.png" width="100">
|
||||
|
||||
## What is Minikube?
|
||||
## What is minikube?
|
||||
|
||||
Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day.
|
||||
minikube implements a local Kubernetes cluster on macOS, Linux, and Windows.
|
||||
|
||||
<img src="https://github.com/kubernetes/minikube/raw/master/images/start.jpg" width="100">
|
||||
|
||||
Our [goal](https://github.com/kubernetes/minikube/blob/master/docs/contributors/principles.md) is to enable fast local development and to support all Kubernetes features that fit. We hope you enjoy it!
|
||||
|
||||
# Newsflash
|
||||
## News
|
||||
|
||||
- 2018-10-05: minikube v0.30.0 released, addressing **[CVE-2018-1002103](https://github.com/kubernetes/minikube/issues/3208): Dashboard vulnerable to DNS rebinding attack**
|
||||
* 2019-02-15 - v0.34.0 released! [[download](https://github.com/kubernetes/minikube/releases/tag/v0.34.0)] [[release notes](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md#version-0340---2019-02-15)]
|
||||
* 2019-01-18 - v0.33.1 released to address [CVE-2019-5736](https://www.openwall.com/lists/oss-security/2019/02/11/2) [[download](https://github.com/kubernetes/minikube/releases/tag/v0.33.1)] [[release notes](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md#version-0331---2019-01-18)]
|
||||
* 2019-01-17 - v0.33.0 released! [[download](https://github.com/kubernetes/minikube/releases/tag/v0.33.0)] [[release notes](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md#version-0330---2019-01-17)]
|
||||
|
||||
## Installation
|
||||
### macOS
|
||||
[Homebrew](https://brew.sh/) is a package manager for macOS that can be used to install Minikube.
|
||||
After installing Homebrew, run the following at a terminal prompt:
|
||||
```shell
|
||||
brew cask install minikube
|
||||
```
|
||||
This installs kubernetes-cli package as well. The same can be verified using:
|
||||
```shell
|
||||
kubectl version
|
||||
```
|
||||
If it's not installed, install it using:
|
||||
```shell
|
||||
brew install kubernetes-cli
|
||||
```
|
||||
## Features
|
||||
|
||||
### Linux
|
||||
minikube runs the official stable release of Kubernetes, with support for standard Kubernetes features like:
|
||||
|
||||
```shell
|
||||
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
|
||||
&& sudo install minikube-linux-amd64 /usr/local/bin/minikube
|
||||
```
|
||||
* NodePorts - `minikube service`
|
||||
* Ingress
|
||||
* [LoadBalancer](https://github.com/kubernetes/minikube/blob/master/docs/tunnel.md) - `minikube tunnel`
|
||||
* [Persistent Volumes](https://github.com/kubernetes/minikube/blob/master/docs/persistent_volumes.md)
|
||||
* ConfigMaps
|
||||
* RBAC
|
||||
* Secrets
|
||||
* Dashboard - `minikube dashboard`
|
||||
* [Multiple container runtimes](https://github.com/kubernetes/minikube/blob/master/docs/alternative_runtimes.md) - `start --container-runtime`
|
||||
|
||||
### Windows
|
||||
minikube also supports features for developer convenience:
|
||||
|
||||
Hyper-V needs to be enabled. For Windows 10 this can only run on these versions:
|
||||
* [Addons](https://github.com/kubernetes/minikube/blob/master/docs/addons.md) - a marketplace for developers to share configurations for running services on minikube
|
||||
* [GPU support](https://github.com/kubernetes/minikube/blob/master/docs/gpu.md) - for machine learning
|
||||
* [Filesystem mounts](https://github.com/kubernetes/minikube/blob/master/docs/host_folder_mount.md)
|
||||
* Automatic failure analysis
|
||||
|
||||
* Windows 10 Enterprise
|
||||
* Windows 10 Professional
|
||||
* Windows 10 Education
|
||||
## Community & Documentation
|
||||
|
||||
#### Install with [Chocolatey](https://chocolatey.org/) (recommended):
|
||||
These commands must be run as administrator. To do this, open the Windows command line by typing 'cmd' in your start menu, right clicking it and choosing 'Run as administrator'.
|
||||
```shell
|
||||
choco install minikube
|
||||
```
|
||||
```shell
|
||||
choco install kubernetes-cli
|
||||
```
|
||||
After it finished installing, close the current command line and restart. Minikube was added to your path automatically.
|
||||
|
||||
To start the minikube cluster, make sure you also have administrator rights.
|
||||
|
||||
```shell
|
||||
minikube start
|
||||
```
|
||||
|
||||
You might have to specify the vm driver.
|
||||
```shell
|
||||
minikube start --vm-driver hyperv
|
||||
```
|
||||
|
||||
#### Install manually
|
||||
Download the [minikube-windows-amd64.exe](https://storage.googleapis.com/minikube/releases/latest/minikube-windows-amd64.exe) file, rename it to `minikube.exe` and add it to your path.
|
||||
|
||||
|
||||
### Linux Continuous Integration without VM Support
|
||||
Example with kubectl installation:
|
||||
```shell
|
||||
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube
|
||||
curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo cp kubectl /usr/local/bin/ && rm kubectl
|
||||
|
||||
export MINIKUBE_WANTUPDATENOTIFICATION=false
|
||||
export MINIKUBE_WANTREPORTERRORPROMPT=false
|
||||
export MINIKUBE_HOME=$HOME
|
||||
export CHANGE_MINIKUBE_NONE_USER=true
|
||||
mkdir -p $HOME/.kube
|
||||
mkdir -p $HOME/.minikube
|
||||
touch $HOME/.kube/config
|
||||
|
||||
export KUBECONFIG=$HOME/.kube/config
|
||||
sudo -E minikube start --vm-driver=none
|
||||
|
||||
# this for loop waits until kubectl can access the api server that Minikube has created
|
||||
for i in {1..150}; do # timeout for 5 minutes
|
||||
kubectl get po &> /dev/null
|
||||
if [ $? -ne 1 ]; then
|
||||
break
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# kubectl commands are now able to interact with Minikube cluster
|
||||
```
|
||||
|
||||
### Other Ways to Install
|
||||
|
||||
* [Linux]
|
||||
* [Arch Linux AUR](https://aur.archlinux.org/packages/minikube/)
|
||||
* [Fedora/CentOS/Red Hat COPR](https://copr.fedorainfracloud.org/coprs/antonpatsev/minikube-rpm/)
|
||||
* [Void Linux](https://github.com/void-linux/void-packages/tree/master/srcpkgs/minikube/template)
|
||||
* [openSUSE/SUSE Linux Enterprise](https://build.opensuse.org/package/show/Virtualization:containers/minikube)
|
||||
* [Windows] Download the [minikube-windows-amd64.exe](https://storage.googleapis.com/minikube/releases/latest/minikube-windows-amd64.exe) file, rename it to `minikube.exe` and add it to your path.
|
||||
|
||||
### Minikube Version Management
|
||||
|
||||
The [asdf](https://github.com/asdf-vm/asdf) tool offers version management for a wide range of languages and tools. On macOS, [asdf](https://github.com/asdf-vm/asdf) is available via Homebrew and can be installed with `brew install asdf`. Then, the Minikube plugin itself can be installed with `asdf plugin-add minikube`. A specific version of Minikube can be installed with `asdf install minikube <version>`. The tool allows you to switch versions for projects using a `.tool-versions` file inside the project. An asdf plugin exists for kubectl as well.
|
||||
|
||||
We also released a Debian package and Windows installer on our [releases page](https://github.com/kubernetes/minikube/releases). If you maintain a Minikube package, please feel free to add it here.
|
||||
|
||||
### Requirements
|
||||
* [kubectl](https://kubernetes.io/docs/tasks/kubectl/install/)
|
||||
* macOS
|
||||
* [Hyperkit driver](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperkit-driver), [xhyve driver](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#xhyve-driver), [VirtualBox](https://www.virtualbox.org/wiki/Downloads), or [VMware Fusion](https://www.vmware.com/products/fusion)
|
||||
* Linux
|
||||
* [VirtualBox](https://www.virtualbox.org/wiki/Downloads) or [KVM](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm-driver)
|
||||
* **NOTE:** Minikube also supports a `--vm-driver=none` option that runs the Kubernetes components on the host and not in a VM. Docker is required to use this driver but no hypervisor. If you use `--vm-driver=none`, be sure to specify a [bridge network](https://docs.docker.com/network/bridge/#configure-the-default-bridge-network) for docker. Otherwise it might change between network restarts, causing loss of connectivity to your cluster. None driver requires docker-ce 18.06 (18.09+ will be compatible from kubernetes version 1.13+, see [#3323](https://github.com/kubernetes/minikube/issues/3323)) .
|
||||
* Windows
|
||||
* [VirtualBox](https://www.virtualbox.org/wiki/Downloads) or [Hyper-V](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperV-driver)
|
||||
* VT-x/AMD-v virtualization must be enabled in BIOS
|
||||
* Internet connection on first run
|
||||
|
||||
## Quickstart
|
||||
|
||||
Here's a brief demo of Minikube usage.
|
||||
- If you want to change the container runtime, network details, consult notes from your container runtime provider.
|
||||
- If you want to change the VM driver add the appropriate `--vm-driver=xxx` flag to `minikube start`. Minikube supports
|
||||
the following drivers:
|
||||
|
||||
* virtualbox
|
||||
* vmwarefusion
|
||||
* [KVM2](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm2-driver)
|
||||
* [KVM (deprecated in favor of KVM2)](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm-driver)
|
||||
* [hyperkit](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperkit-driver)
|
||||
* [xhyve](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#xhyve-driver)
|
||||
* [hyperv](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperV-driver)
|
||||
* none (**Linux-only**) - this driver can be used to run the Kubernetes cluster components on the host instead of in a VM. This can be useful for CI workloads which do not support nested virtualization.
|
||||
|
||||
```shell
|
||||
$ minikube start
|
||||
Starting local Kubernetes v1.7.5 cluster...
|
||||
Starting VM...
|
||||
SSH-ing files into VM...
|
||||
Setting up certs...
|
||||
Starting cluster components...
|
||||
Connecting to cluster...
|
||||
Setting up kubeconfig...
|
||||
Kubectl is now configured to use the cluster.
|
||||
|
||||
$ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
|
||||
deployment "hello-minikube" created
|
||||
$ kubectl expose deployment hello-minikube --type=NodePort
|
||||
service "hello-minikube" exposed
|
||||
|
||||
# We have now launched an echoserver pod but we have to wait until the pod is up before curling/accessing it
|
||||
# via the exposed service.
|
||||
# To check whether the pod is up and running we can use the following:
|
||||
$ kubectl get pod
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
hello-minikube-3383150820-vctvh 1/1 ContainerCreating 0 3s
|
||||
# We can see that the pod is still being created from the ContainerCreating status
|
||||
$ kubectl get pod
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
hello-minikube-3383150820-vctvh 1/1 Running 0 13s
|
||||
# We can see that the pod is now Running and we will now be able to curl it:
|
||||
$ curl $(minikube service hello-minikube --url)
|
||||
CLIENT VALUES:
|
||||
client_address=192.168.99.1
|
||||
command=GET
|
||||
real path=/
|
||||
...
|
||||
$ kubectl delete service hello-minikube
|
||||
service "hello-minikube" deleted
|
||||
$ kubectl delete deployment hello-minikube
|
||||
deployment "hello-minikube" deleted
|
||||
$ minikube stop
|
||||
Stopping local Kubernetes cluster...
|
||||
Machine stopped.
|
||||
```
|
||||
|
||||
## Interacting With Your Cluster
|
||||
|
||||
### kubectl
|
||||
|
||||
The `minikube start` command creates a "[kubectl context](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-set-context-em-)" called "minikube".
|
||||
This context contains the configuration to communicate with your Minikube cluster.
|
||||
|
||||
Minikube sets this context to default automatically, but if you need to switch back to it in the future, run:
|
||||
|
||||
`kubectl config use-context minikube`,
|
||||
|
||||
or pass the context on each command like this: `kubectl get pods --context=minikube`.
|
||||
|
||||
### Dashboard
|
||||
|
||||
To access the [Kubernetes Dashboard](http://kubernetes.io/docs/user-guide/ui/), run this command in a shell after starting Minikube to get the address:
|
||||
```shell
|
||||
minikube dashboard
|
||||
```
|
||||
|
||||
### Services
|
||||
|
||||
To access a service exposed via a node port, run this command in a shell after starting Minikube to get the address:
|
||||
```shell
|
||||
minikube service [-n NAMESPACE] [--url] NAME
|
||||
```
|
||||
|
||||
## Design
|
||||
|
||||
Minikube uses [libmachine](https://github.com/docker/machine/tree/master/libmachine) for provisioning VMs, and [kubeadm](https://github.com/kubernetes/kubernetes/tree/master/cmd/kubeadm) to provision a kubernetes cluster
|
||||
|
||||
For more information about Minikube, see the [proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/cluster-lifecycle/local-cluster-ux.md).
|
||||
|
||||
## Additional Links
|
||||
* [**#minikube on Kubernetes Slack**](https://kubernetes.slack.com) - Live chat with minikube developers!
|
||||
* [minikube-users mailing list](https://groups.google.com/forum/#!forum/minikube-users)
|
||||
* [minikube-dev mailing list](https://groups.google.com/forum/#!forum/minikube-dev)
|
||||
|
||||
* [**Advanced Topics and Tutorials**](https://github.com/kubernetes/minikube/blob/master/docs/README.md)
|
||||
* [**Contributing**](https://github.com/kubernetes/minikube/blob/master/CONTRIBUTING.md)
|
||||
* [**Development Guide**](https://github.com/kubernetes/minikube/blob/master/docs/contributors/README.md)
|
||||
* [Contributing](https://github.com/kubernetes/minikube/blob/master/CONTRIBUTING.md)
|
||||
* [Development Guide](https://github.com/kubernetes/minikube/blob/master/docs/contributors/README.md)
|
||||
* [Development Roadmap](https://github.com/kubernetes/minikube/blob/master/docs/contributors/roadmap.md)
|
||||
|
||||
## Community
|
||||
## Requirements
|
||||
|
||||
* [**#minikube on Kubernetes Slack**](https://kubernetes.slack.com)
|
||||
* [**Kubernetes Official Forum** ](https://discuss.kubernetes.io)
|
||||
(If you are posting to the forum, please tag your post with "minikube")
|
||||
* 4GB of memory (VM reserves 2GB by default), 32GB of disk space
|
||||
* An internet connection - preferably one that does not require a VPN or SSL proxy to access the internet
|
||||
* macOS 10.12 (Sierra) or higher
|
||||
* Requires a hypervisor, such as:
|
||||
* hyperkit (recommended)
|
||||
* VirtualBox
|
||||
* Linux
|
||||
* libvirt for the KVM driver, or VirtualBox
|
||||
* VT-x/AMD-v virtualization must be enabled in BIOS
|
||||
* Windows 10
|
||||
* HyperV (Windows 10 Pro) or a 3rd party hypervisor, such as VirtualBox.
|
||||
* VT-x/AMD-v virtualization must be enabled in BIOS
|
||||
|
||||
## Installation
|
||||
|
||||
* *macOS* with [brew](https://brew.sh/): `brew cask install minikube`
|
||||
* *macOS*: `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 && sudo install minikube-darwin-amd64 /usr/local/bin/minikube`
|
||||
|
||||
* *Windows with [Chocolatey](https://chocolatey.org/)* `choco install minikube`
|
||||
* *Windows without Choco* - Download and run the [installer](https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe)
|
||||
|
||||
* *Linux* `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube`
|
||||
|
||||
For full installation instructions, please see https://kubernetes.io/docs/tasks/tools/install-minikube/
|
||||
|
||||
### Supported Hypervisors
|
||||
|
||||
`minikube start` defaults to virtualbox, but supports other drivers using the `--vm-driver` argument:
|
||||
|
||||
* [KVM2](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm2-driver) - Recommended Linux driver
|
||||
* [hyperkit](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperkit-driver) - Recommended macOS driver
|
||||
* virtualbox - Recommended Windows driver
|
||||
* [none](https://github.com/kubernetes/minikube/blob/master/docs/vmdriver-none.md) - bare-metal execution on Linux, at the expense of system security and reliability
|
||||
|
||||
Other drivers which are not yet part of our continuous integration system are:
|
||||
|
||||
* [hyperv](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperV-driver)
|
||||
* [vmware](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#vmware-unified-driver)
|
||||
|
||||
## Quick Start
|
||||
|
||||
Start a cluster:
|
||||
|
||||
`minikube start`
|
||||
|
||||
Interact with it using `kubectl`, just like any other kubernetes cluster:
|
||||
|
||||
|
||||
```
|
||||
$ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
|
||||
deployment "hello-minikube" created
|
||||
|
||||
$ kubectl expose deployment hello-minikube --type=NodePort
|
||||
service "hello-minikube" exposed
|
||||
```
|
||||
|
||||
Open the endpoint in your browser:
|
||||
|
||||
`minikube service hello-minikube`
|
||||
|
||||
Start a second local cluster:
|
||||
|
||||
`minikube start -p cluster2`
|
||||
|
||||
Stop your local cluster:
|
||||
|
||||
`minikube stop`
|
||||
|
||||
Delete your local cluster:
|
||||
|
||||
`minikube delete`
|
||||
|
|
|
@ -1,4 +1,12 @@
|
|||
[
|
||||
{
|
||||
"name": "v0.34.0",
|
||||
"checksums": {
|
||||
"darwin": "8932ee06a8db3fae696d97bfefa2d7ad2168ffa3046e0729f39164cf11a78911",
|
||||
"linux": "97a871bc4d62287b167db1feb1ef167925e2b51d7a0fb4bfe3ac215402e10deb",
|
||||
"windows": "89e8f10ab97f3440c5dad47f6be96ed49cf9d7dc3a15849f682440a0a3649ea1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "v0.33.1",
|
||||
"checksums": {
|
||||
|
|
|
@ -10,80 +10,51 @@ The following drivers currently require driver plugin binaries to be present in
|
|||
the host PATH:
|
||||
|
||||
* [KVM2](#kvm2-driver)
|
||||
* [KVM](#kvm-driver)
|
||||
* [Hyperkit](#hyperkit-driver)
|
||||
* [xhyve](#xhyve-driver)
|
||||
* [HyperV](#hyperv-driver)
|
||||
* [VMware](#vmware-unified-driver)
|
||||
|
||||
#### KVM2 driver
|
||||
|
||||
The KVM2 driver is intended to replace KVM driver.
|
||||
The KVM2 driver is maintained by the minikube team, and is built, tested and released with minikube.
|
||||
|
||||
NOTE: Currently the following instruction doesn't work for
|
||||
Ubuntu prior to 18.04 because the docker-machine-driver-kvm2 binary
|
||||
provided by the URL needs libvirt 3.0.0 or later.
|
||||
You can workaround it by building the binary by yourself.
|
||||
|
||||
To install the KVM2 driver, first install and configure the prereqs:
|
||||
|
||||
```shell
|
||||
# Install libvirt and qemu-kvm on your system, e.g.
|
||||
# Debian/Ubuntu (for older Debian/Ubuntu versions, you may have to use libvirt-bin instead of libvirt-clients and libvirt-daemon-system)
|
||||
sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm
|
||||
# Fedora/CentOS/RHEL
|
||||
sudo yum install libvirt-daemon-kvm qemu-kvm
|
||||
* Debian or Ubuntu 18.x: `sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm`
|
||||
* Ubuntu 16.x or older: `sudo apt install libvirt-bin libvirt-daemon-system qemu-kvm`
|
||||
* Fedora/CentOS/RHEL: `sudo yum install libvirt-daemon-kvm qemu-kvm`
|
||||
|
||||
# Add yourself to the libvirt group so you don't need to sudo
|
||||
# NOTE: For older Debian/Ubuntu versions change the group to `libvirtd`
|
||||
sudo usermod -a -G libvirt $(whoami)
|
||||
Then you will need to add yourself to libvirt group (older distributions may use libvirtd instead)
|
||||
|
||||
# Update your current session for the group change to take effect
|
||||
# NOTE: For older Debian/Ubuntu versions change the group to `libvirtd`
|
||||
newgrp libvirt
|
||||
```
|
||||
`sudo usermod -a -G libvirt $(whoami)`
|
||||
|
||||
Then install the driver itself:
|
||||
Then to join the group with your current user session:
|
||||
|
||||
`newgrp libvirt`
|
||||
|
||||
Now install the driver:
|
||||
|
||||
```shell
|
||||
curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 \
|
||||
&& sudo install docker-machine-driver-kvm2 /usr/local/bin/
|
||||
```
|
||||
|
||||
To use the driver you would do:
|
||||
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.
|
||||
|
||||
```
|
||||
sudo apt install libvirt-dev
|
||||
test -d $HOME/go/src/k8s.io/minikube || \
|
||||
git clone https://github.com/kubernetes/minikube.git $HOME/go/src/k8s.io/minikube
|
||||
cd $HOME/go/src/k8s.io/minikube
|
||||
git pull
|
||||
make out/docker-machine-driver-kvm2
|
||||
install out/docker-machine-driver-kvm2 /usr/local/bin
|
||||
```
|
||||
|
||||
To use the driver:
|
||||
|
||||
```shell
|
||||
minikube start --vm-driver kvm2
|
||||
```
|
||||
|
||||
#### KVM driver
|
||||
|
||||
Minikube is currently tested against [`docker-machine-driver-kvm` v0.10.0](https://github.com/dhiltgen/docker-machine-kvm/releases).
|
||||
|
||||
After following the instructions on the KVM driver releases page, you need to make sure that have the necessary packages and permissions by following these instructions:
|
||||
```shell
|
||||
# Install libvirt and qemu-kvm on your system, e.g.
|
||||
# Debian/Ubuntu (for older Debian/Ubuntu versions, you may have to use libvirt-bin instead of libvirt-clients and libvirt-daemon-system)
|
||||
sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm
|
||||
# Fedora/CentOS/RHEL
|
||||
sudo yum install libvirt-daemon-kvm qemu-kvm
|
||||
|
||||
# Add yourself to the libvirt group so you don't need to sudo
|
||||
# NOTE: For older Debian/Ubuntu versions change the group to `libvirtd`
|
||||
sudo usermod -a -G libvirt $(whoami)
|
||||
|
||||
# Update your current session for the group change to take effect
|
||||
# NOTE: For older Debian/Ubuntu versions change the group to `libvirtd`
|
||||
newgrp libvirt
|
||||
```
|
||||
|
||||
To use the driver you would do:
|
||||
|
||||
```shell
|
||||
minikube start --vm-driver kvm
|
||||
```
|
||||
|
||||
#### Hyperkit driver
|
||||
|
||||
The Hyperkit driver will eventually replace the existing xhyve driver.
|
||||
|
@ -115,16 +86,10 @@ If you are using [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) in you
|
|||
|
||||
*Note: If `dnsmasq.conf` contains `listen-address=127.0.0.1` kubernetes discovers dns at 127.0.0.1:53 and tries to use it using bridge ip address, but dnsmasq replies only to requests from 127.0.0.1*
|
||||
|
||||
#### xhyve driver
|
||||
|
||||
From https://github.com/zchee/docker-machine-driver-xhyve#install:
|
||||
To use the driver:
|
||||
|
||||
```shell
|
||||
brew install docker-machine-driver-xhyve
|
||||
|
||||
# docker-machine-driver-xhyve need root owner and uid
|
||||
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
|
||||
sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
|
||||
minikube start --vm-driver hyperkit
|
||||
```
|
||||
|
||||
#### HyperV driver
|
||||
|
@ -133,6 +98,12 @@ Hyper-v users may need to create a new external network switch as described [her
|
|||
|
||||
On some machines, having **dynamic memory management** turned on for the minikube VM can cause problems of unexpected and random restarts which manifests itself in simply losing the connection to the cluster, after which `minikube status` would simply state `stopped`. Machine restarts are caused due to following Hyper-V error: `The dynamic memory balancer could not add memory to the virtual machine 'minikube' because its configured maximum has been reached`. **Solution**: turned the dynamic memory management in hyper-v settings off (and allocate a fixed amount of memory to the machine).
|
||||
|
||||
To use the driver:
|
||||
|
||||
```shell
|
||||
minikube start --vm-driver hyperv --hyperv-virtual-switch=switch-name
|
||||
```
|
||||
|
||||
#### VMware unified driver
|
||||
|
||||
The VMware unified driver will eventually replace the existing vmwarefusion driver.
|
||||
|
@ -155,8 +126,8 @@ export LATEST_VERSION=$(curl -L -s -H 'Accept: application/json' https://github.
|
|||
&& mv docker-machine-driver-vmware /usr/local/bin/
|
||||
```
|
||||
|
||||
To use the driver you would do:
|
||||
To use the driver:
|
||||
|
||||
```shell
|
||||
minikube start --vm-driver vmware
|
||||
```
|
||||
```
|
||||
|
|
|
@ -5,7 +5,7 @@ cask 'minikube' do
|
|||
# storage.googleapis.com/minikube was verified as official when first introduced to the cask
|
||||
url "https://storage.googleapis.com/minikube/releases/v#{version}/minikube-darwin-amd64"
|
||||
appcast 'https://github.com/kubernetes/minikube/releases.atom'
|
||||
name 'Minikube'
|
||||
name 'minikube'
|
||||
homepage 'https://github.com/kubernetes/minikube'
|
||||
|
||||
depends_on formula: 'kubernetes-cli'
|
||||
|
|
Loading…
Reference in New Issue