From de6a88729286e2b7f6813bf708b18aed91163f59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:03:37 -0800 Subject: [PATCH 01/22] Add instructions for building the kvm2 driver --- docs/drivers.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/drivers.md b/docs/drivers.md index 2cb5acfe9e..802c83d59a 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -18,14 +18,15 @@ the host PATH: #### 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. +NOTE: Ubuntu users on a release older than 18.04, or anyone else experiencing "Error creating new host: dial tcp: missing address." errors (https://github.com/kubernetes/minikube/issues/3206), you will need to build your own driver until https://github.com/kubernetes/minikube/issues/3689 is resolved: +``` +sudo apt install libvirt-dev libvirt +test -d $HOME/go/src/k8s.io/minikube || git clone https://github.com/kubernetes/minikube.git +cd $HOME/go/src/k8s.io/minikube +git pull +make install-kvm +``` To install the KVM2 driver, first install and configure the prereqs: ```shell @@ -159,4 +160,4 @@ To use the driver you would do: ```shell minikube start --vm-driver vmware -``` \ No newline at end of file +``` From a009bc3eea4432fee78f68495359f4213064304a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:05:18 -0800 Subject: [PATCH 02/22] Fix github links --- docs/drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/drivers.md b/docs/drivers.md index 802c83d59a..df2f52cab1 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -18,7 +18,7 @@ the host PATH: #### KVM2 driver -NOTE: Ubuntu users on a release older than 18.04, or anyone else experiencing "Error creating new host: dial tcp: missing address." errors (https://github.com/kubernetes/minikube/issues/3206), you will need to build your own driver until https://github.com/kubernetes/minikube/issues/3689 is resolved: +NOTE: Ubuntu users on a release older than 18.04, or anyone experiencing #3206 - "Error creating new host: dial tcp: missing address." you will need to build your own driver until #3689 is resolved: ``` sudo apt install libvirt-dev libvirt From 7a2ca50ebfc1a99d0bed8156d9d44c43db064af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:08:28 -0800 Subject: [PATCH 03/22] Update drivers.md --- docs/drivers.md | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/docs/drivers.md b/docs/drivers.md index df2f52cab1..d4a485c7c3 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -18,7 +18,7 @@ the host PATH: #### KVM2 driver -NOTE: Ubuntu users on a release older than 18.04, or anyone experiencing #3206 - "Error creating new host: dial tcp: missing address." you will need to build your own driver until #3689 is resolved: +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: ``` sudo apt install libvirt-dev libvirt @@ -58,33 +58,6 @@ To use the driver you would do: 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. From 0332f7335f618ceb0f61076506af93270ad1b08d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:09:07 -0800 Subject: [PATCH 04/22] Remove obsolete drivers. --- docs/drivers.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/docs/drivers.md b/docs/drivers.md index d4a485c7c3..80bf9c22d4 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -10,9 +10,7 @@ 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) @@ -89,18 +87,6 @@ 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: - -```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 -``` - #### 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. From ed188c7a728a42ee5a8066359087a21bb6224895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:11:48 -0800 Subject: [PATCH 05/22] Clarify kvm2 instructions --- docs/drivers.md | 46 +++++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/docs/drivers.md b/docs/drivers.md index 80bf9c22d4..f5dbdcb4a3 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -16,6 +16,26 @@ the host PATH: #### KVM2 driver +To install the KVM2 driver, first install and configure the prereqs: + +* Debian: `sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm` +* Fedora/CentOS/RHEL: `sudo yum install libvirt-daemon-kvm qemu-kvm` + +Then you will need to add yourself to libvirt group (older distributions may use libvirtd instead) + +`sudo usermod -a -G libvirt $(whoami)` + +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/ +``` + 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: ``` @@ -25,32 +45,8 @@ cd $HOME/go/src/k8s.io/minikube git pull make install-kvm ``` -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 - -# 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 -``` - -Then install the driver itself: - -```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: +To use the driver: ```shell minikube start --vm-driver kvm2 From 543ebf09cc2e3ab24b9a909f2bcb90775812a4bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:14:16 -0800 Subject: [PATCH 06/22] Add missing directory argument --- docs/drivers.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/drivers.md b/docs/drivers.md index f5dbdcb4a3..1288b3a3f7 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -40,7 +40,8 @@ NOTE: Ubuntu users on a release older than 18.04, or anyone experiencing [#3206: ``` sudo apt install libvirt-dev libvirt -test -d $HOME/go/src/k8s.io/minikube || git clone https://github.com/kubernetes/minikube.git +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 install-kvm From f04bc605ce238a581517b7c920a319e2bb35d77c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:17:13 -0800 Subject: [PATCH 07/22] Add note abount Ubuntu 16.x --- docs/drivers.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/drivers.md b/docs/drivers.md index 1288b3a3f7..4e303387e5 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -18,7 +18,8 @@ the host PATH: To install the KVM2 driver, first install and configure the prereqs: -* Debian: `sudo apt install libvirt-clients libvirt-daemon-system 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` Then you will need to add yourself to libvirt group (older distributions may use libvirtd instead) @@ -39,7 +40,7 @@ curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine- 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: ``` -sudo apt install libvirt-dev libvirt +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 From 2c1de37b9037948c20d76de4a9ac8bdfb7aeb62b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:19:42 -0800 Subject: [PATCH 08/22] Fix build instructions --- docs/drivers.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/drivers.md b/docs/drivers.md index 4e303387e5..bc5aa9882a 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -42,10 +42,11 @@ NOTE: Ubuntu users on a release older than 18.04, or anyone experiencing [#3206: ``` 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 | + git clone https://github.com/kubernetes/minikube.git $HOME/go/src/k8s.io/minikube cd $HOME/go/src/k8s.io/minikube git pull -make install-kvm +make out/docker-machine-driver-kvm2 +install out/docker-machine-driver-kvm2 /usr/local/bin ``` To use the driver: From e2c94ba70de2477ad53719e58251d80006f778fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 12:21:24 -0800 Subject: [PATCH 09/22] Add link to Go download page --- docs/drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/drivers.md b/docs/drivers.md index bc5aa9882a..3a88151280 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -37,7 +37,7 @@ curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine- && 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: +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 From e09f49cefe99d6db3e28921e321208b77540f1a4 Mon Sep 17 00:00:00 2001 From: Joerg Schad Date: Fri, 15 Feb 2019 12:51:12 -0800 Subject: [PATCH 10/22] Unified driver usage instructions. --- docs/drivers.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/drivers.md b/docs/drivers.md index 4e303387e5..810a75e8e9 100644 --- a/docs/drivers.md +++ b/docs/drivers.md @@ -85,12 +85,24 @@ 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* +To use the driver: + +```shell +minikube start --vm-driver hyperkit +``` + #### 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. 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. @@ -113,7 +125,7 @@ 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 From 2127c1a6f6b6104a64602deba85a77b637219a95 Mon Sep 17 00:00:00 2001 From: Thomas Stromberg Date: Fri, 15 Feb 2019 13:26:08 -0800 Subject: [PATCH 11/22] v0.34.0 --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 73a65d45f5..200e7c90f3 100755 --- a/Makefile +++ b/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) From cc8c4451f52a0656e9bb714eaa87a6fc47341b91 Mon Sep 17 00:00:00 2001 From: Thomas Stromberg Date: Fri, 15 Feb 2019 13:31:35 -0800 Subject: [PATCH 12/22] v0.34.0 Release Notes --- CHANGELOG.md | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index be834cd662..831abcc05e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,89 @@ # Minikube Release Notes +# Version 0.34.0 - 2019-02-15 + +* none UX: Reword warnings and other strings for accuracy [#3680](https://github.com/kubernetes/minikube/pull/3680) +* Add implementation of the deprecated rkt runtime [#3678](https://github.com/kubernetes/minikube/pull/3678) +* Upgrade the list of images for 1.12 and 1.13 [#3675](https://github.com/kubernetes/minikube/pull/3675) +* Implement 7-bit ASCII prefixes for when MINIKUBE_IN_COLOR=false [#3686](https://github.com/kubernetes/minikube/pull/3686) +* 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) +* Add docs to use new vmware unified driver [#3676](https://github.com/kubernetes/minikube/pull/3676) +* 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) +* Consolidate fatal error handling, remove StackDriver integration. [#3661](https://github.com/kubernetes/minikube/pull/3661) +* 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) +* Complete the cruntime implementation for CRI runtimes [#3657](https://github.com/kubernetes/minikube/pull/3657) +* Add DeleteCluster to bootstrapper [#3656](https://github.com/kubernetes/minikube/pull/3656) +* Initial implementation of 'console' package for stylized & localized console output 😂 [#3638](https://github.com/kubernetes/minikube/pull/3638) +* Enable CNI for alternative runtimes [#3617](https://github.com/kubernetes/minikube/pull/3617) +* fix netstat -f error on linux distros [#3592](https://github.com/kubernetes/minikube/pull/3592) +* 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) +* Document the default storage provider for hostPath [#3602](https://github.com/kubernetes/minikube/pull/3602) +* crio: use official kube pause image from gcr [#3631](https://github.com/kubernetes/minikube/pull/3631) +* Refactor and centralize container runtime code into a cruntime package [#3633](https://github.com/kubernetes/minikube/pull/3633) +* Use a shallow git clone for buildroot [#3630](https://github.com/kubernetes/minikube/pull/3630) +* Use minikube-bin AUR instead of minikube [#3580](https://github.com/kubernetes/minikube/pull/3580) +* 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) +* Add breadcrumb logs to demonstrate when minikube's volume provisioner is… [#3601](https://github.com/kubernetes/minikube/pull/3601) +* 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) +* minor de-linting of cmd/config: run gofmt, goimports, pre-allocate fields slice [#3589](https://github.com/kubernetes/minikube/pull/3589) +* Podman 1.0.0 [#3584](https://github.com/kubernetes/minikube/pull/3584) +* 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) +* Fix to run sudo -E minikube start --vm-driver=none [#3286](https://github.com/kubernetes/minikube/pull/3286) +* Add images and improve parsing for kubernetes 1.11 [#3262](https://github.com/kubernetes/minikube/pull/3262) +* Fix version of containerd [#3585](https://github.com/kubernetes/minikube/pull/3585) +* 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) +* Update github.com/johanneswuerbach/nfsexports to include LICENSE file [#3573](https://github.com/kubernetes/minikube/pull/3573) + ++ echo 'Huge thank you for this release towards our contributors: ' +Huge thank you for this release towards our contributors: ++ sort ++ awk '{printf "- %s\n", $0 }' ++ uniq +++ git describe --abbrev=0 ++ git log v0.33.1.. --format=%aN --reverse +- 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) From 5c457ff35d0b4d67b63eeca391dbc08c82828ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 13:36:53 -0800 Subject: [PATCH 13/22] Narrow down the 0.34.0 release notes --- CHANGELOG.md | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 831abcc05e..ee871f2b56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,53 +2,36 @@ # Version 0.34.0 - 2019-02-15 -* none UX: Reword warnings and other strings for accuracy [#3680](https://github.com/kubernetes/minikube/pull/3680) -* Add implementation of the deprecated rkt runtime [#3678](https://github.com/kubernetes/minikube/pull/3678) -* Upgrade the list of images for 1.12 and 1.13 [#3675](https://github.com/kubernetes/minikube/pull/3675) -* Implement 7-bit ASCII prefixes for when MINIKUBE_IN_COLOR=false [#3686](https://github.com/kubernetes/minikube/pull/3686) +* 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) -* Add docs to use new vmware unified driver [#3676](https://github.com/kubernetes/minikube/pull/3676) * 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) -* Consolidate fatal error handling, remove StackDriver integration. [#3661](https://github.com/kubernetes/minikube/pull/3661) * 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) -* Complete the cruntime implementation for CRI runtimes [#3657](https://github.com/kubernetes/minikube/pull/3657) * Add DeleteCluster to bootstrapper [#3656](https://github.com/kubernetes/minikube/pull/3656) -* Initial implementation of 'console' package for stylized & localized console output 😂 [#3638](https://github.com/kubernetes/minikube/pull/3638) * Enable CNI for alternative runtimes [#3617](https://github.com/kubernetes/minikube/pull/3617) -* fix netstat -f error on linux distros [#3592](https://github.com/kubernetes/minikube/pull/3592) * 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) -* Document the default storage provider for hostPath [#3602](https://github.com/kubernetes/minikube/pull/3602) -* crio: use official kube pause image from gcr [#3631](https://github.com/kubernetes/minikube/pull/3631) -* Refactor and centralize container runtime code into a cruntime package [#3633](https://github.com/kubernetes/minikube/pull/3633) -* Use a shallow git clone for buildroot [#3630](https://github.com/kubernetes/minikube/pull/3630) -* Use minikube-bin AUR instead of minikube [#3580](https://github.com/kubernetes/minikube/pull/3580) * 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) -* Add breadcrumb logs to demonstrate when minikube's volume provisioner is… [#3601](https://github.com/kubernetes/minikube/pull/3601) * 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) -* minor de-linting of cmd/config: run gofmt, goimports, pre-allocate fields slice [#3589](https://github.com/kubernetes/minikube/pull/3589) -* Podman 1.0.0 [#3584](https://github.com/kubernetes/minikube/pull/3584) * 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) -* Fix to run sudo -E minikube start --vm-driver=none [#3286](https://github.com/kubernetes/minikube/pull/3286) * Add images and improve parsing for kubernetes 1.11 [#3262](https://github.com/kubernetes/minikube/pull/3262) -* Fix version of containerd [#3585](https://github.com/kubernetes/minikube/pull/3585) * 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) -* Update github.com/johanneswuerbach/nfsexports to include LICENSE file [#3573](https://github.com/kubernetes/minikube/pull/3573) + echo 'Huge thank you for this release towards our contributors: ' Huge thank you for this release towards our contributors: From 8c0c7813f06206b92a6d1cc79b5a42b3a44333f0 Mon Sep 17 00:00:00 2001 From: minikube-bot Date: Fri, 15 Feb 2019 21:42:33 +0000 Subject: [PATCH 14/22] Update releases.json to include v0.34.0 --- deploy/minikube/releases.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/deploy/minikube/releases.json b/deploy/minikube/releases.json index 2bc7c78b2e..6a61df59e3 100644 --- a/deploy/minikube/releases.json +++ b/deploy/minikube/releases.json @@ -1,4 +1,12 @@ [ + { + "name": "v0.34.0", + "checksums": { + "darwin": "8932ee06a8db3fae696d97bfefa2d7ad2168ffa3046e0729f39164cf11a78911", + "linux": "97a871bc4d62287b167db1feb1ef167925e2b51d7a0fb4bfe3ac215402e10deb", + "windows": "89e8f10ab97f3440c5dad47f6be96ed49cf9d7dc3a15849f682440a0a3649ea1" + } + }, { "name": "v0.33.1", "checksums": { From 5ef717a38892599bc808c46a3314378ab7eb74f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 14:11:29 -0800 Subject: [PATCH 15/22] Update CHANGELOG.md --- CHANGELOG.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee871f2b56..15ffb0203d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,13 +33,7 @@ * 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) -+ echo 'Huge thank you for this release towards our contributors: ' Huge thank you for this release towards our contributors: -+ sort -+ awk '{printf "- %s\n", $0 }' -+ uniq -++ git describe --abbrev=0 -+ git log v0.33.1.. --format=%aN --reverse - Abhilash Pallerlamudi - Alberto Alvarez - Anders Björklund From ec5ac30cfd42e04c5bfe75d81ba82cbc24076106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 14:56:28 -0800 Subject: [PATCH 16/22] Update README.md --- README.md | 305 +++++++++++++++++------------------------------------- 1 file changed, 93 insertions(+), 212 deletions(-) diff --git a/README.md b/README.md index a934b4bb7c..3cea55553b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Minikube [![BuildStatus Widget]][BuildStatus Result] -[![CodeCovWidget]][CodeCovResult] [![GoReport Widget]][GoReport Status] [BuildStatus Result]: https://travis-ci.org/kubernetes/minikube @@ -10,230 +9,112 @@ [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 - -## 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 makes running a local Kubernetes cluster fast and easy, supporting macOS, Linux, and Windows. Our design goals are fast local development, single command setup and teardown, and support for all Kubernetes features that fit. -# Newsflash +## Kubernetes features -- 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** +minikube runs the most recent stable release of Kubernetes, using the official release binaries. We explicitly support the following features: -## 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 -``` +* NodePorts - access via `minikube service` +* Ingress +* LoadBalancer - access via `minikube tunnel` +* DNS +* Persistent Volumes +* ConfigMaps +* RBAC +* Secrets +* Dashboard - access via `minikube dashboard` +* Container runtimes - Docker, CRI-O, containerd -### Linux +## News -```shell -curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ - && sudo install minikube-linux-amd64 /usr/local/bin/minikube -``` +* 2019-02-15 - minikube v0.34.0 was released! See the [releases](https://github.com/kubernetes/minikube/releases) page for more. -### Windows +## Community & Documentation -Hyper-V needs to be enabled. For Windows 10 this can only run on these versions: - -* Windows 10 Enterprise -* Windows 10 Professional -* Windows 10 Education - -#### 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 `. 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) -## Community -* [**#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") +## Requirements + +* 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 + * VT-x/AMD-v virtualization must be enabled in BIOS + * libvirt for the KVM driver, or VirtualBox +* Windows 10 + * VT-x/AMD-v virtualization must be enabled in BIOS + * HyperV (Pro) or a 3rd party hypervisor, such as VirtualBox. + +## Installation + +* *macOS* with brew: `brew cask install minikube` (if [Homebrew](https://brew.sh/ is installed) +* *macOS*: `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \ + && sudo install minikube-darwin-amd64 /usr/local/bin/minikube` + +* *Windows 10 with Choco* `choco install minikube` (if [Chocolatey](https://chocolatey.org/ is installed) +* *Windows 10 without Choco* - Download [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. + +* *Generic Linux* `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ + && sudo install minikube-linux-amd64 /usr/local/bin/minikube` +* [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) + +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 +* [hyperv](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperV-driver) +* vmwarefusion +* none (**Linux-only**) - run without a hypervisor, at the expense of system security or reliability. + +## Quick Start + +To start a cluster, run `minikube start` + +You can then 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 +``` + +You can get the URL for the NodePort deployment by using: + +`minikube service hello-minikube --url` + +Start a second local cluster: + +`minikube start -p cluster2` + +Stop your local cluster: + +`minikube stop` + +Delete your local cluster: + +`minikube delete` From 5bc44487fb9b43d59847223a768e3c39ba7c8d01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 15:07:44 -0800 Subject: [PATCH 17/22] More doc cleanup --- README.md | 70 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 3cea55553b..983ab002e6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Minikube +# minikube [![BuildStatus Widget]][BuildStatus Result] [![GoReport Widget]][GoReport Status] @@ -13,37 +13,44 @@ ## What is minikube? -minikube makes running a local Kubernetes cluster fast and easy, supporting macOS, Linux, and Windows. Our design goals are fast local development, single command setup and teardown, and support for all Kubernetes features that fit. +A local Kubernetes cluster. -## Kubernetes features - -minikube runs the most recent stable release of Kubernetes, using the official release binaries. We explicitly support the following features: - -* NodePorts - access via `minikube service` -* Ingress -* LoadBalancer - access via `minikube tunnel` -* DNS -* Persistent Volumes -* ConfigMaps -* RBAC -* Secrets -* Dashboard - access via `minikube dashboard` -* Container runtimes - Docker, CRI-O, containerd +minikube makes running a local Kubernetes cluster fast and easy, supporting macOS, Linux, and Windows. Our goals are to enable fast local development, single command setup and teardown, and support for all Kubernetes features that fit. ## News * 2019-02-15 - minikube v0.34.0 was released! See the [releases](https://github.com/kubernetes/minikube/releases) page for more. +## Kubernetes features + +minikube runs the official stable release of Kubernetes, with support for features such as: + +* NodePorts - access via `minikube service` +* Ingress +* LoadBalancer - access via `minikube tunnel` [docs](https://github.com/kubernetes/minikube/blob/master/docs/tunnel.md) +* Persistent Volumes [docs](https://github.com/kubernetes/minikube/blob/master/docs/persistent_volumes.md) +* ConfigMaps +* RBAC +* Secrets +* Dashboard - access via `minikube dashboard` +* Container runtimes - Docker, CRI-O, containerd + +## Developer Features + +* [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 +* Automatic failure analysis - so you know why your deployment failed +* [Filesystem mounts](https://github.com/kubernetes/minikube/blob/master/docs/host_folder_mount.md) + ## Community & Documentation * [**#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) +* [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) ## Requirements @@ -54,23 +61,21 @@ minikube runs the most recent stable release of Kubernetes, using the official r * hyperkit (recommended) * VirtualBox * Linux - * VT-x/AMD-v virtualization must be enabled in BIOS * libvirt for the KVM driver, or VirtualBox -* Windows 10 * VT-x/AMD-v virtualization must be enabled in BIOS - * HyperV (Pro) or a 3rd party hypervisor, such as VirtualBox. +* 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: `brew cask install minikube` (if [Homebrew](https://brew.sh/ is installed) -* *macOS*: `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \ - && sudo install minikube-darwin-amd64 /usr/local/bin/minikube` +* *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 10 with Choco* `choco install minikube` (if [Chocolatey](https://chocolatey.org/ is installed) * *Windows 10 without Choco* - Download [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. -* *Generic Linux* `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ - && sudo install minikube-linux-amd64 /usr/local/bin/minikube` +* *Generic Linux* `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube` * [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) @@ -85,9 +90,12 @@ For full installation instructions, please see https://kubernetes.io/docs/tasks/ * [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 supported but not part of our continuous integration system are: + * [hyperv](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperV-driver) -* vmwarefusion -* none (**Linux-only**) - run without a hypervisor, at the expense of system security or reliability. +* [vmware](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#vmware-unified-driver) ## Quick Start From 0a89554c89467193f2a33cd9b51d00422c3db6b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 15:24:00 -0800 Subject: [PATCH 18/22] More readability improvements. Add download links. --- README.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 983ab002e6..7c41323048 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,15 @@ ## What is minikube? -A local Kubernetes cluster. +minikube implements a local Kubernetes cluster on macOS, Linux, and Windows. -minikube makes running a local Kubernetes cluster fast and easy, supporting macOS, Linux, and Windows. Our goals are to enable fast local development, single command setup and teardown, and support for all Kubernetes features that fit. +Our [goals](https://github.com/kubernetes/minikube/blob/master/docs/contributors/principles.md) are to enable fast local development, and support all Kubernetes features that fit. We hope you enjoy it! ## News -* 2019-02-15 - minikube v0.34.0 was released! See the [releases](https://github.com/kubernetes/minikube/releases) page for more. +* 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)] ## Kubernetes features @@ -39,8 +41,8 @@ minikube runs the official stable release of Kubernetes, with support for featur * [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 -* Automatic failure analysis - so you know why your deployment failed * [Filesystem mounts](https://github.com/kubernetes/minikube/blob/master/docs/host_folder_mount.md) +* Automatic failure analysis ## Community & Documentation @@ -51,6 +53,7 @@ minikube runs the official stable release of Kubernetes, with support for featur * [**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) +* [Development Roadmap](https://github.com/kubernetes/minikube/blob/master/docs/contributors/roadmap.md) ## Requirements @@ -92,16 +95,19 @@ For full installation instructions, please see https://kubernetes.io/docs/tasks/ * 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 supported but not part of our continuous integration system are: +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 -To start a cluster, run `minikube start` +Start a cluster: + +`minikube start` + +Interact with it using `kubectl`, just like any other kubernetes cluster: -You can then interact with it using `kubectl`, just like any other kubernetes cluster: ``` $ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080 From 58d15f838901ac15b2ba380c52c31773d95895fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 15:28:35 -0800 Subject: [PATCH 19/22] Simplify Linux instructions --- README.md | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 7c41323048..22ce2da78d 100644 --- a/README.md +++ b/README.md @@ -23,21 +23,21 @@ Our [goals](https://github.com/kubernetes/minikube/blob/master/docs/contributors * 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)] -## Kubernetes features +## Features -minikube runs the official stable release of Kubernetes, with support for features such as: +minikube runs the official stable release of Kubernetes, with support for standard Kubernetes features like: -* NodePorts - access via `minikube service` +* NodePorts - `minikube service` * Ingress -* LoadBalancer - access via `minikube tunnel` [docs](https://github.com/kubernetes/minikube/blob/master/docs/tunnel.md) -* Persistent Volumes [docs](https://github.com/kubernetes/minikube/blob/master/docs/persistent_volumes.md) +* [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 - access via `minikube dashboard` -* Container runtimes - Docker, CRI-O, containerd +* Dashboard - `minikube dashboard` +* [Multiple container runtimes](https://github.com/kubernetes/minikube/blob/master/docs/alternative_runtimes.md) - `start --container-runtime` -## Developer Features +minikube also supports features for developer convenience: * [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 @@ -78,11 +78,7 @@ minikube runs the official stable release of Kubernetes, with support for featur * *Windows 10 with Choco* `choco install minikube` (if [Chocolatey](https://chocolatey.org/ is installed) * *Windows 10 without Choco* - Download [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. -* *Generic Linux* `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube` -* [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) +* *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/ From 5dfbf5d088dc6ac39ac44e905acf684aac6bf0a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 15:31:23 -0800 Subject: [PATCH 20/22] Improve windows download text --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 22ce2da78d..41feacab31 100644 --- a/README.md +++ b/README.md @@ -75,8 +75,8 @@ minikube also supports features for developer convenience: * *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 10 with Choco* `choco install minikube` (if [Chocolatey](https://chocolatey.org/ is installed) -* *Windows 10 without Choco* - Download [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. +* *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` From c2d36d1458cfba0998ae9945d6829428875a5ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 15:32:57 -0800 Subject: [PATCH 21/22] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 41feacab31..ba33787b5a 100644 --- a/README.md +++ b/README.md @@ -113,9 +113,9 @@ $ kubectl expose deployment hello-minikube --type=NodePort service "hello-minikube" exposed ``` -You can get the URL for the NodePort deployment by using: +Open the endpoint in your browser: -`minikube service hello-minikube --url` +`minikube service hello-minikube` Start a second local cluster: From 890974b5863c6173bb4dcfbf20830e24da002168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Fri, 15 Feb 2019 15:43:59 -0800 Subject: [PATCH 22/22] Use lowercase 'minikube' as a name. --- installers/darwin/brew-cask/minikube.rb.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installers/darwin/brew-cask/minikube.rb.tmpl b/installers/darwin/brew-cask/minikube.rb.tmpl index aaaeba03a3..6c6f2fc390 100644 --- a/installers/darwin/brew-cask/minikube.rb.tmpl +++ b/installers/darwin/brew-cask/minikube.rb.tmpl @@ -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'