minikube/README.md

121 lines
4.8 KiB
Markdown
Raw Normal View History

2017-03-21 04:57:11 +00:00
# Minikube
2017-08-09 02:07:56 +00:00
[![BuildStatus Widget]][BuildStatus Result]
[![GoReport Widget]][GoReport Status]
[BuildStatus Result]: https://travis-ci.org/kubernetes/minikube
[BuildStatus Widget]: https://travis-ci.org/kubernetes/minikube.svg?branch=master
[GoReport Status]: https://goreportcard.com/report/github.com/kubernetes/minikube
[GoReport Widget]: https://goreportcard.com/badge/github.com/kubernetes/minikube
2017-03-21 04:57:11 +00:00
<img src="https://github.com/kubernetes/minikube/raw/master/logo/logo.png" width="100">
2019-02-15 22:56:28 +00:00
## What is minikube?
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
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.
2019-02-15 22:56:28 +00:00
## Kubernetes features
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
minikube runs the most recent stable release of Kubernetes, using the official release binaries. We explicitly support the following features:
2019-02-15 22:56:28 +00:00
* 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
2019-02-15 22:56:28 +00:00
## News
2019-02-15 22:56:28 +00:00
* 2019-02-15 - minikube v0.34.0 was released! See the [releases](https://github.com/kubernetes/minikube/releases) page for more.
2017-06-22 17:31:57 +00:00
2019-02-15 22:56:28 +00:00
## Community & Documentation
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* [**#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)
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* [**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)
2017-10-12 18:20:39 +00:00
2019-02-15 22:56:28 +00:00
## Requirements
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* 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
2019-02-15 22:56:28 +00:00
* 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.
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
## Installation
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* *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`
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* *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.
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* *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)
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
For full installation instructions, please see https://kubernetes.io/docs/tasks/tools/install-minikube/
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
### Supported Hypervisors
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
`minikube start` defaults to virtualbox, but supports other drivers using the `--vm-driver` argument:
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* [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.
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
## Quick Start
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
To start a cluster, run `minikube start`
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
You can then interact with it using `kubectl`, just like any other kubernetes cluster:
2017-03-21 04:57:11 +00:00
```
2019-02-15 22:56:28 +00:00
$ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
deployment "hello-minikube" created
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
$ kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed
2017-03-21 04:57:11 +00:00
```
2019-02-15 22:56:28 +00:00
You can get the URL for the NodePort deployment by using:
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
`minikube service hello-minikube --url`
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
Start a second local cluster:
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
`minikube start -p cluster2`
2017-10-04 22:01:18 +00:00
2019-02-15 22:56:28 +00:00
Stop your local cluster:
`minikube stop`
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
Delete your local cluster:
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
`minikube delete`