minikube/README.md

139 lines
7.1 KiB
Markdown
Raw Normal View History

2019-02-15 23:07:44 +00:00
# minikube
2017-03-21 04:57:11 +00:00
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
<img src="https://github.com/kubernetes/minikube/raw/master/images/logo/logo.png" width="100">
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
## What is minikube?
2017-03-21 04:57:11 +00:00
minikube implements a local Kubernetes cluster on macOS, Linux, and Windows.
2017-03-21 04:57:11 +00:00
2019-03-27 16:23:42 +00:00
![screenshot](/images/start.jpg)
2019-02-16 00:39:10 +00:00
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!
2019-02-15 23:07:44 +00:00
## News
2018-10-09 23:26:03 +00:00
2019-03-27 15:44:24 +00:00
* 2019-03-27 - v1.0.0 released! [[download](https://github.com/kubernetes/minikube/releases/tag/v1.0.0)] [[release notes](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md#version-1000---2019-03-27)]
2019-03-07 06:10:18 +00:00
* 2019-03-06 - v0.35.0 released! [[download](https://github.com/kubernetes/minikube/releases/tag/v0.35.0)] [[release notes](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md#version-0350---2019-03-06)]
2019-02-16 22:31:14 +00:00
* 2019-02-16 - v0.34.1 released! [[download](https://github.com/kubernetes/minikube/releases/tag/v0.34.1)] [[release notes](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md#version-0341---2019-02-16)]
* 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)]
2018-10-09 23:26:03 +00:00
2019-02-15 23:28:35 +00:00
## Features
2017-03-21 04:57:11 +00:00
2019-02-15 23:28:35 +00:00
minikube runs the official stable release of Kubernetes, with support for standard Kubernetes features like:
* [LoadBalancer](https://github.com/kubernetes/minikube/blob/master/docs/tunnel.md) - using `minikube tunnel`
* Multi-cluster - using `minikube start -p <name>`
* NodePorts - using `minikube service`
2019-02-15 23:28:35 +00:00
* [Persistent Volumes](https://github.com/kubernetes/minikube/blob/master/docs/persistent_volumes.md)
* Ingress
2019-02-15 22:56:28 +00:00
* RBAC
2019-02-15 23:28:35 +00:00
* Dashboard - `minikube dashboard`
* [Container runtimes](https://github.com/kubernetes/minikube/blob/master/docs/alternative_runtimes.md) - `start --container-runtime`
2019-02-19 10:16:32 +00:00
* [Configure apiserver and kubelet options](https://github.com/kubernetes/minikube/blob/master/docs/configuring_kubernetes.md) via command-line flags
2017-03-21 04:57:11 +00:00
As well as developer-friendly features:
2019-02-15 23:07:44 +00:00
* [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
## Documentation
* [**Installation**](https://kubernetes.io/docs/tasks/tools/install-minikube/)
* [Advanced Topics and Tutorials](https://github.com/kubernetes/minikube/blob/master/docs/README.md)
* [Contributors Guide](https://github.com/kubernetes/minikube/blob/master/docs/contributors/README.md)
## Community
2019-03-27 16:23:42 +00:00
![Help Wanted!](/images/help_wanted.jpg)
minikube is a Kubernetes [#sig-cluster-lifecycle](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle) project.
2019-02-15 22:56:28 +00:00
* [**#minikube on Kubernetes Slack**](https://kubernetes.slack.com) - Live chat with minikube developers!
2019-02-15 23:07:44 +00:00
* [minikube-users mailing list](https://groups.google.com/forum/#!forum/minikube-users)
* [minikube-dev mailing list](https://groups.google.com/forum/#!forum/minikube-dev)
* [Bi-weekly office hours, Mondays @ 10am PST](https://tinyurl.com/minikube-oh)
2019-02-15 23:07:44 +00:00
* [Contributing](https://github.com/kubernetes/minikube/blob/master/CONTRIBUTING.md)
* [Development Roadmap](https://github.com/kubernetes/minikube/blob/master/docs/contributors/roadmap.md)
2017-10-12 18:20:39 +00:00
2019-02-15 22:56:28 +00:00
## Installation
2017-03-21 04:57:11 +00:00
See the [installation guide](https://kubernetes.io/docs/tasks/tools/install-minikube/). For the impatient, here is the TL;DR:
2017-10-12 18:20:39 +00:00
* *macOS 10.12 (Sierra)*
2019-02-18 14:37:39 +00:00
* Requires installing a hypervisor, such as [hyperkit](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperkit-driver) (recommended) or VirtualBox
* using [brew](https://brew.sh/): `brew cask install minikube`
* manually: `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 && sudo install minikube-darwin-amd64 /usr/local/bin/minikube`
2017-10-12 18:20:39 +00:00
* *Windows 10*
* Requires a hypervisor, such as VirtualBox (recommended) or HyperV
* VT-x/AMD-v virtualization must be enabled in BIOS
* using [chocolatey](https://chocolatey.org/) `choco install minikube`
* manually: Download and run the [installer](https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe)
2017-03-21 04:57:11 +00:00
* *Linux*
* Requires either the [kvm2 driver](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm2-driver) (recommended), or VirtualBox
* VT-x/AMD-v virtualization must be enabled in BIOS
2019-02-19 09:26:35 +00:00
* manually: `curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/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
2019-02-15 23:07:44 +00:00
* [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
2017-03-21 04:57:11 +00:00
Other drivers which are not yet part of our continuous integration system are:
2017-03-21 04:57:11 +00:00
2019-02-15 22:56:28 +00:00
* [hyperv](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperV-driver)
2019-02-15 23:07:44 +00:00
* [vmware](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#vmware-unified-driver)
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-16 04:38:12 +00:00
Start a cluster by running:
2017-03-21 04:57:11 +00:00
`minikube start`
2017-03-21 04:57:11 +00:00
2019-03-27 18:54:00 +00:00
Access Minikube Dashboard UI:
`minikube dashboard`
2019-02-16 04:38:12 +00:00
Once started, you can interact with your cluster using `kubectl`, just like any other Kubernetes cluster. For instance, starting a server:
2017-03-21 04:57:11 +00:00
2019-02-16 04:38:12 +00:00
`kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080`
2017-03-21 04:57:11 +00:00
2019-02-16 04:38:12 +00:00
Exposing a service as a NodePort
2017-03-21 04:57:11 +00:00
2019-02-16 04:38:12 +00:00
`kubectl expose deployment hello-minikube --type=NodePort`
2017-03-21 04:57:11 +00:00
2019-02-16 04:38:12 +00:00
minikube makes it easy to open this exposed endpoint in your browser:
2017-03-21 04:57:11 +00:00
2019-02-15 23:32:57 +00:00
`minikube service hello-minikube`
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`