diff --git a/site/config.toml b/site/config.toml index 589179538c..7848140bf2 100644 --- a/site/config.toml +++ b/site/config.toml @@ -143,3 +143,22 @@ no = 'Sorry to hear that. Please - .imagesizing { - width:auto; - text-align:center; - padding:10px; - } - img { - max-width:100%; - height:auto; - } - - - -
-
- -
-
- {{< blocks/lead >}} - -
-

Instantly productive.

- -A single command away from reproducing your production environment, from the comfort of localhost. -
- -
-

Highlights

- -
- - +This page has moved to /docs + {{< /blocks/lead >}} -{{< blocks/section color="white" >}} -{{% blocks/feature icon="fa-star" title="Developer focused" %}} -- [LoadBalancer emulation](https://minikube.sigs.k8s.io/docs/tasks/loadbalancer/) -- [Addons Marketplace](https://minikube.sigs.k8s.io/docs/tasks/addons/) -- [Integrated Dashboard](https://minikube.sigs.k8s.io/docs/tasks/dashboard/) -- [GPU support](https://minikube.sigs.k8s.io/docs/tutorials/nvidia_gpu/) -- Reusable Docker daemon -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa-cogs" title="Infinitely configurable" %}} -- Any container runtime -- Any Kubernetes version -- Any apiserver, kubelet, controller, etcd, proxy, or scheduler option -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa-thumbs-up" title="Cross-platform" %}} -- KVM -- Docker -- HyperKit -- Bare-metal -- VirtualBox -- Hyper-V -- VMware -- Podman -{{% /blocks/feature %}} -{{< /blocks/section >}} - -{{< blocks/section color="light" >}} -{{% blocks/feature icon="fab fa-slack" title="Chat with us on Slack" %}} - - - - -The #minikube channel is ready to answer your questions. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fab fa-github" title="Contributions welcome" %}} - - - - -Want to join the fun on Github? New users are always welcome! -{{% /blocks/feature %}} - -{{% blocks/feature icon="fas fa-bullhorn" title="Make your voice heard" %}} - - - - -Have time for 5 quick questions? We would love to hear from you. - -{{% /blocks/feature %}} -{{< /blocks/section >}} diff --git a/site/content/en/blog/_index.md b/site/content/en/blog/_index.md deleted file mode 100644 index 59c4cdd84b..0000000000 --- a/site/content/en/blog/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Docsy Blog" -linkTitle: "News" -menu: - main: - weight: 30 ---- - - -This is the **blog** section. It has two categories: News and Releases. - -Files in these directories will be listed in reverse chronological order. - diff --git a/site/content/en/blog/news/_index.md b/site/content/en/blog/news/_index.md deleted file mode 100644 index 13d25eaa45..0000000000 --- a/site/content/en/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News About Docsy" -linkTitle: "News" -weight: 20 ---- - - diff --git a/site/content/en/blog/news/new-website.md b/site/content/en/blog/news/new-website.md deleted file mode 100755 index 4718f0afe2..0000000000 --- a/site/content/en/blog/news/new-website.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "New website launched" -date: 2019-08-13 -description: > - About the new minikube website ---- - -As you may have noticed, minikube has a brand new website. - -As part of our [2019 roadmap](https://minikube.sigs.k8s.io/docs/contributing/roadmap/), we identified the need for a user-focused website for documentation, and this is it. It's based on the [Hugo Website Framework](https://gohugo.io/) and uses the [Docsy Templates for Technical Documentation](https://github.com/google/docsy). - -We have more work to do with organizing the documentation and making it more useful, but we hope you are able to enjoy the fruits of our labor. PR's welcome! diff --git a/site/content/en/blog/releases/_index.md b/site/content/en/blog/releases/_index.md deleted file mode 100644 index b1d9eb4ff3..0000000000 --- a/site/content/en/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "New Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/site/content/en/blog/releases/v1.13.1.md b/site/content/en/blog/releases/v1.13.1.md deleted file mode 100755 index e62fe052bd..0000000000 --- a/site/content/en/blog/releases/v1.13.1.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "v1.3.1" -linkTitle: "v1.3.1 released" -date: 2019-08-13 -description: > - Release notes for v1.3.1 ---- - -minikube v1.3.1 is now available, which addresses regressions found in the v1.3.0 release. Here are the [changes](https://raw.githubusercontent.com/kubernetes/minikube/v1.3.1/CHANGELOG.md) - -* Update code references to point to new documentation site [#5052](https://github.com/kubernetes/minikube/pull/5052) -* Localization support for help text [#4814](https://github.com/kubernetes/minikube/pull/4814) -* Upgrade cheggaaa/pb from v1.0.27 to v3.0.1 [#5025](https://github.com/kubernetes/minikube/pull/5025) -* Restore --disable-driver-mounts flag [#5026](https://github.com/kubernetes/minikube/pull/5026) -* Fixed the template for dashboard output [#5004](https://github.com/kubernetes/minikube/pull/5004) -* Use a temp dest to atomically download the iso [#5000](https://github.com/kubernetes/minikube/pull/5000) - -Thank you to our merry band of contributors for assembling this last minute bug fix release. - -- Jituri, Pranav -- Medya Ghazizadeh -- Pranav Jituri -- Ramiro Berrelleza -- Sharif Elgamal -- Thomas Strรถmberg -- josedonizetti diff --git a/site/content/en/docs/Concepts/_index.md b/site/content/en/docs/Concepts/_index.md deleted file mode 100644 index 2b874a5243..0000000000 --- a/site/content/en/docs/Concepts/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Concepts" -linkTitle: "Concepts" -weight: 4 -description: > - Concepts that users and contributors should be aware of. ---- diff --git a/site/content/en/docs/FAQ/_index.md b/site/content/en/docs/FAQ/_index.md deleted file mode 100644 index 4c22c42c78..0000000000 --- a/site/content/en/docs/FAQ/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "FAQ" -linkTitle: "FAQ" -weight: 5 -description: > - Questions that come up regularly ---- - diff --git a/site/content/en/docs/FAQ/sudo_prompts.md b/site/content/en/docs/FAQ/sudo_prompts.md deleted file mode 100644 index a78b9d141d..0000000000 --- a/site/content/en/docs/FAQ/sudo_prompts.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Sudo prompts" -linkTitle: "Sudo prompts" -weight: 1 -date: 2020-03-26 -description: > - Disabling sudo prompts when using minikude start/stop/status, kubectl cluster-info, ... ---- - -## Use the `docker` driver - -Use the `docker` driver rather than the `none` driver. `docker` driver should be used unless it does not meet requirements for some reason. - -## For `none` users - -For `none` users, `CHANGE_MINIKUBE_NONE_USER=true`, kubectl and such will still work: [see environment variables](https://minikube.sigs.k8s.io/docs/reference/environment_variables/) - -## Otherwise deal with `sudo` - -Configure `sudo` to never prompt for the commands issued by minikube. diff --git a/site/content/en/docs/Overview/_index.md b/site/content/en/docs/Overview/_index.md deleted file mode 100644 index 5094d5fe67..0000000000 --- a/site/content/en/docs/Overview/_index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Overview" -linkTitle: "Overview" -weight: 1 -description: > - What is it? ---- - -minikube implements a local Kubernetes cluster on macOS, Linux, and Windows. - -minikube's [primary goals](https://minikube.sigs.k8s.io/docs/concepts/principles/) are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit. - -minikube runs the latest stable release of Kubernetes, with support for standard Kubernetes features like: - -* [LoadBalancer](https://minikube.sigs.k8s.io/docs/tasks/loadbalancer/) - using `minikube tunnel` -* Multi-cluster - using `minikube start -p ` -* NodePorts - using `minikube service` -* [Persistent Volumes](https://minikube.sigs.k8s.io/docs/reference/persistent_volumes/) -* Ingress -* RBAC -* [Dashboard](https://minikube.sigs.k8s.io/docs/tasks/dashboard/) - `minikube dashboard` -* [Container runtimes](https://minikube.sigs.k8s.io/docs/reference/runtimes/) - `start --container-runtime` -* [Configure apiserver and kubelet options](https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/) via command-line flags - -As well as developer-friendly features: - -* [Addons](https://minikube.sigs.k8s.io/docs/tasks/addons/) - a marketplace for developers to share configurations for running services on minikube -* [GPU support](https://minikube.sigs.k8s.io/docs/tutorials/nvidia_gpu/) - for machine learning -* [Filesystem mounts](https://minikube.sigs.k8s.io/docs/tasks/mount/) -* Automatic failure analysis - -## Why do I want it? - -If you would like to develop Kubernetes applications: - -* locally -* offline -* using the latest version of Kubernetes - -Then minikube is for you. - -* **What is it good for?** Developing local Kubernetes applications -* **What is it not good for?** Production Kubernetes deployments - -## Where should I go next? - -* [Getting Started](/docs/start/): Get started with minikube -* [Examples](/docs/examples/): Check out some minikube examples! - -๐Ÿ“ฃ๐Ÿ˜€ **Please fill out our [fast 5-question survey](https://forms.gle/Gg3hG5ZySw8c1C24A)** so that we can learn how & why you use minikube, and what improvements we should make. Thank you! ๐Ÿ’ƒ๐Ÿฝ๐ŸŽ‰ diff --git a/site/content/en/docs/Reference/Configuration/_index.md b/site/content/en/docs/Reference/Configuration/_index.md deleted file mode 100644 index 1615c60d70..0000000000 --- a/site/content/en/docs/Reference/Configuration/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Configuration" -linkTitle: "Configuration" -weight: 1 -date: 2019-08-01 -description: > - minikube configuration reference ---- \ No newline at end of file diff --git a/site/content/en/docs/Reference/Configuration/kubernetes.md b/site/content/en/docs/Reference/Configuration/kubernetes.md deleted file mode 100644 index 7a271d49c0..0000000000 --- a/site/content/en/docs/Reference/Configuration/kubernetes.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: "Kubernetes" -linkTitle: "Kubernetes" -weight: 3 -date: 2019-08-01 -description: > - Kubernetes configuration reference ---- - -minikube allows users to configure the Kubernetes components with arbitrary values. To use this feature, you can use the `--extra-config` flag on the `minikube start` command. - -This flag is repeated, so you can pass it several times with several different values to set multiple options. - -## Selecting a Kubernetes version - -By default, minikube installs the latest stable version of Kubernetes that was available at the time of the minikube release. You may select a different Kubernetes release by using the `--kubernetes-version` flag, for example: - -`minikube start --kubernetes-version=v1.11.10` - -If you omit this flag, minikube will upgrade your cluster to the default version. If you would like to pin to a specific Kubernetes version across clusters, restarts, and upgrades to minikube, use: - -`minikube config set kubernetes-version v1.11.0` - -minikube follows the [Kubernetes Version and Version Skew Support Policy](https://kubernetes.io/docs/setup/version-skew-policy/), so we guarantee support for the latest build for the last 3 minor Kubernetes releases. When practical, minikube aims for the last 6 minor releases so that users can emulate legacy environments. - -As of September 2019, this means that minikube supports and actively tests against the latest builds of: - -* v1.16 (default) -* v1.15 -* v1.14 -* v1.13 -* v1.12 -* v1.11 (best effort) - -For more up to date information, see `OldestKubernetesVersion` and `NewestKubernetesVersion` in [constants.go](https://github.com/kubernetes/minikube/blob/master/pkg/minikube/constants/constants.go) - -## Modifying Kubernetes defaults - -The kubeadm bootstrapper can be configured by the `--extra-config` flag on the `minikube start` command. It takes a string of the form `component.key=value` where `component` is one of the strings - -* kubeadm -* kubelet -* apiserver -* controller-manager -* scheduler - -and `key=value` is a flag=value pair for the component being configured. For example, - -```shell -minikube start --extra-config=apiserver.v=10 --extra-config=kubelet.max-pods=100 -``` - -For instance, to allow Kubernetes to launch on an unsupported Docker release: - -```shell -minikube start --extra-config=kubeadm.ignore-preflight-errors=SystemVerification -``` - -## Enable feature gates - -Kubernetes alpha/experimental features can be enabled or disabled by the `--feature-gates` flag on the `minikube start` command. It takes a string of the form `key=value` where key is the `component` name and value is the `status` of it. - -```shell -minikube start --feature-gates=EphemeralContainers=true -``` diff --git a/site/content/en/docs/Reference/Configuration/minikube.md b/site/content/en/docs/Reference/Configuration/minikube.md deleted file mode 100644 index 8fc3c39438..0000000000 --- a/site/content/en/docs/Reference/Configuration/minikube.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: "minikube" -linkTitle: "minikube" -weight: 2 -date: 2019-08-01 -description: > - minikube configuration reference ---- - -## Flags - -Most minikube configuration is done via the flags interface. To see which flags are possible for the start command, run: - -```shell -minikube start --help -``` - -For example: - -```shell -minikube start --apiserver-port 9999 -``` - -Many of these flags are also available to be set via persistent configuration or environment variables. -While most flags are applicable to any command, some are globally scoped: - -``` -Flags: - --alsologtostderr log to standard error as well as files - -b, --bootstrapper string The name of the cluster bootstrapper that will set up the kubernetes cluster. (default "kubeadm") - -h, --help help for minikube - --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0) - --log_dir string If non-empty, write log files in this directory - --logtostderr log to standard error instead of files - -p, --profile string The name of the minikube VM being used. - This can be modified to allow for multiple minikube instances to be run independently (default "minikube") - --stderrthreshold severity logs at or above this threshold go to stderr (default 2) - -v, --v Level log level for V logs - --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging -``` - -## Persistent Configuration - -minikube allows users to persistently store new default values to be used across all profiles, using the `minikube config` command. This is done providing a property name, and a property value. - -### Listing config properties - -```shell -minikube config -``` - -Example: - -```shell -Configurable fields: - - * driver - * feature-gates - * v - * cpus - * disk-size - * host-only-cidr - * memory - * log_dir - * kubernetes-version - * iso-url - * WantUpdateNotification - * ReminderWaitPeriodInHours - * WantReportError - * WantReportErrorPrompt - * WantKubectlDownloadMsg - * WantNoneDriverWarning - * profile - * bootstrapper - * ShowDriverDeprecationNotification - * ShowBootstrapperDeprecationNotification - * dashboard - * addon-manager - * default-storageclass - * efk - * ingress - * registry - * registry-creds - * freshpod - * default-storageclass - * storage-provisioner - * storage-provisioner-gluster - * metrics-server - * nvidia-driver-installer - * nvidia-gpu-device-plugin - * logviewer - * gvisor - * hyperv-virtual-switch - * disable-driver-mounts - * cache - * embed-certs -``` - -### Listing your property overrides - -```shell -minikube config view -``` - -Example output: - -```shell -- memory: 4096 -- registry: true -- driver: vmware -- dashboard: true -- gvisor: true -``` - -### Setting a new property override - - -```shell -minikube config set -``` - -For example: - -```shell -minikube config set driver hyperkit -``` - -## Environment Configuration - -### Config variables - -minikube supports passing environment variables instead of flags for every value listed in `minikube config`. This is done by passing an environment variable with the prefix `MINIKUBE_`. - -For example the `minikube start --iso-url="$ISO_URL"` flag can also be set by setting the `MINIKUBE_ISO_URL="$ISO_URL"` environment variable. - -### Other variables - -Some features can only be accessed by environment variables, here is a list of these features: - -* **MINIKUBE_HOME** - (string) sets the path for the .minikube directory that minikube uses for state/configuration - -* **MINIKUBE_IN_STYLE** - (bool) manually sets whether or not emoji and colors should appear in minikube. Set to false or 0 to disable this feature, true or 1 to force it to be turned on. - -* **MINIKUBE_WANTUPDATENOTIFICATION** - (bool) sets whether the user wants an update notification for new minikube versions - -* **MINIKUBE_REMINDERWAITPERIODINHOURS** - (int) sets the number of hours to check for an update notification - -* **CHANGE_MINIKUBE_NONE_USER** - (bool) automatically change ownership of ~/.minikube to the value of $SUDO_USER - -* **MINIKUBE_ENABLE_PROFILING** - (int, `1` enables it) enables trace profiling to be generated for minikube - -### Making environment variables persistent - -To make the exported variables persistent: - -* Linux and macOS: Add these declarations to `~/.bashrc` or wherever your shells environment variables are stored. -* Windows: Add these declarations via [system settings](https://support.microsoft.com/en-au/help/310519/how-to-manage-environment-variables-in-windows-xp) or using [setx](https://stackoverflow.com/questions/5898131/set-a-persistent-environment-variable-from-cmd-exe) - -#### Example: Disabling emoji - -```shell -export MINIKUBE_IN_STYLE=false -minikube start -``` diff --git a/site/content/en/docs/Reference/Drivers/podman.md b/site/content/en/docs/Reference/Drivers/podman.md deleted file mode 100644 index 17425b1e58..0000000000 --- a/site/content/en/docs/Reference/Drivers/podman.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "podman" -linkTitle: "podman" -weight: 3 -date: 2020-03-26 -description: > - Podman driver ---- - -## Overview - -The podman driver is another kubernetes in container driver for minikube. simmilar to [docker](https://minikube.sigs.k8s.io/docs/reference/drivers/docker/) driver. -podman driver is currently experimental. -and only supported on Linux and MacOs (with a remote podman server) - - -## Try it with CRI-O container runtime. -```shell -minikube start --driver=podman --container-runtime=cri-o -``` - - -{{% readfile file="/docs/Reference/Drivers/includes/podman_usage.inc" %}} - - - diff --git a/site/content/en/docs/Reference/Networking/_index.md b/site/content/en/docs/Reference/Networking/_index.md deleted file mode 100644 index b1add3ea29..0000000000 --- a/site/content/en/docs/Reference/Networking/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Networking" -linkTitle: "Networking" -weight: 6 -date: 2018-08-01 -description: > - How minikube interacts with networks. ---- - -Since minikube runs everything from within a VM, networking can get fairly complicated. \ No newline at end of file diff --git a/site/content/en/docs/Reference/Networking/dns.md b/site/content/en/docs/Reference/Networking/dns.md deleted file mode 100644 index 6c44114b7b..0000000000 --- a/site/content/en/docs/Reference/Networking/dns.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "DNS Domain" -linkTitle: "DNS Domain" -weight: 6 -date: 2019-10-09 -description: > - Use configured DNS domain in bootstrapper kubeadm ---- - -minikube by default uses **cluster.local** if none is specified via the start flag --dns-domain. The configuration file used by kubeadm are found inside **/var/tmp/minikube/kubeadm.yaml** directory inside minikube. - -Default DNS configuration will look like below - -``` -apiVersion: kubeadm.k8s.io/v1beta1 -kind: InitConfiguration -localAPIEndpoint: -...... -...... ---- -apiVersion: kubeadm.k8s.io/v1beta1 -kind: ClusterConfiguration -..... -..... -kubernetesVersion: v1.16.0 -networking: - dnsDomain: cluster.local - podSubnet: "" - serviceSubnet: 10.96.0.0/12 ---- -``` - -To change the dns pass the value when starting minikube - -``` -minikube start --dns-domain bla.blah.blah -``` - -the dns now changed to bla.blah.blah - -``` -apiVersion: kubeadm.k8s.io/v1beta1 -kind: InitConfiguration -localAPIEndpoint: -...... -...... ---- -apiVersion: kubeadm.k8s.io/v1beta1 -kind: ClusterConfiguration -..... -..... -kubernetesVersion: v1.16.0 -networking: - dnsDomain: bla.blah.blah - podSubnet: "" - serviceSubnet: 10.96.0.0/12 ---- -``` \ No newline at end of file diff --git a/site/content/en/docs/Reference/Networking/vpn.md b/site/content/en/docs/Reference/Networking/vpn.md deleted file mode 100644 index 94392a3980..0000000000 --- a/site/content/en/docs/Reference/Networking/vpn.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Host VPN" -linkTitle: "Host VPN" -weight: 6 -date: 2019-08-01 -description: > - Using minikube on a host with a VPN installed ---- - -minikube requires access from the host to the following IP ranges: - -* **192.168.99.0/24**: Used by the minikube VM. Configurable for some hypervisors via `--host-only-cidr` -* **192.168.39.0/24**: Used by the minikube kvm2 driver. -* **10.96.0.0/12**: Used by service cluster IP's. Configurable via `--service-cluster-ip-range` - -Unfortunately, many VPN configurations route packets to these destinations through an encrypted tunnel, rather than allowing the packets to go to the minikube VM. - -### Possible workarounds - -1. If you have access, whitelist the above IP ranges in your VPN software -2. In your VPN software, select an option similar to "Allow local (LAN) access when using VPN" [(Cisco VPN example)](https://superuser.com/questions/987150/virtualbox-guest-os-through-vpn) -3. You may have luck selecting alternate values to the `--host-only-cidr` and `--service-cluster-ip-range` flags. -4. Turn off the VPN diff --git a/site/content/en/docs/Reference/_index.md b/site/content/en/docs/Reference/_index.md deleted file mode 100644 index bfe11dd2b6..0000000000 --- a/site/content/en/docs/Reference/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Reference" -linkTitle: "Reference" -weight: 5 -description: > - Low level reference docs ---- - diff --git a/site/content/en/docs/Reference/environment_variables.md b/site/content/en/docs/Reference/environment_variables.md deleted file mode 100644 index 636b61d8a8..0000000000 --- a/site/content/en/docs/Reference/environment_variables.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: "Environment Variables" -linkTitle: "Environment Variables" -weight: 6 -date: 2019-08-01 ---- - -## Config option variables - -minikube supports passing environment variables instead of flags for every value listed in `minikube config`. This is done by passing an environment variable with the prefix `MINIKUBE_`. - -For example the `minikube start --iso-url="$ISO_URL"` flag can also be set by setting the `MINIKUBE_ISO_URL="$ISO_URL"` environment variable. - -## Other variables - -Some features can only be accessed by minikube specific environment variables, here is a list of these features: - -* **MINIKUBE_HOME** - (string) sets the path for the .minikube directory that minikube uses for state/configuration. *Please note: this is used only by minikube and does not affect anything related to Kubernetes tools such as kubectl.* - -* **MINIKUBE_IN_STYLE** - (bool) manually sets whether or not emoji and colors should appear in minikube. Set to false or 0 to disable this feature, true or 1 to force it to be turned on. - -* **MINIKUBE_WANTUPDATENOTIFICATION** - (bool) sets whether the user wants an update notification for new minikube versions - -* **MINIKUBE_REMINDERWAITPERIODINHOURS** - (int) sets the number of hours to check for an update notification - -* **CHANGE_MINIKUBE_NONE_USER** - (bool) automatically change ownership of ~/.minikube to the value of $SUDO_USER - -* **MINIKUBE_ENABLE_PROFILING** - (int, `1` enables it) enables trace profiling to be generated for minikube - - -## Example: Disabling emoji - -```shell -export MINIKUBE_IN_STYLE=false -minikube start -``` - -## Making values persistent - -To make the exported variables persistent across reboots: - -* Linux and macOS: Add these declarations to `~/.bashrc` or wherever your shells environment variables are stored. -* Windows: Add these declarations via [system settings](https://support.microsoft.com/en-au/help/310519/how-to-manage-environment-variables-in-windows-xp) or using [setx](https://stackoverflow.com/questions/5898131/set-a-persistent-environment-variable-from-cmd-exe) - diff --git a/site/content/en/docs/Reference/runtimes.md b/site/content/en/docs/Reference/runtimes.md deleted file mode 100644 index 5973040ff7..0000000000 --- a/site/content/en/docs/Reference/runtimes.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "Container Runtimes" -linkTitle: "Container Runtimes" -weight: 6 -date: 2019-08-01 -description: > - Available container runtimes ---- - -### Docker - -The default container runtime in minikube is Docker. You can select it explicitly by using: - -```shell -minikube start --container-runtime=docker -``` - -### CRI-O - -To use [CRI-O](https://github.com/kubernetes-sigs/cri-o): - -```shell -minikube start --container-runtime=cri-o -``` - -## containerd - -To use [containerd](https://github.com/containerd/containerd): - -```shell -minikube start --container-runtime=containerd -``` - -## gvisor - -To use [gvisor](https://gvisor.dev): - -```shell -minikube start --container-runtime=containerd -minikube addons enable gvisor -``` - -## Kata - -Native support for [Kata containers](https://katacontainers.io) is a work-in-progress. See [#4347](https://github.com/kubernetes/minikube/issues/4347) for details. - -In the mean time, it's possible to make Kata containers work within minikube using a bit of [elbow grease](https://gist.github.com/olberger/0413cfb0769dcdc34c83788ced583fa9). diff --git a/site/content/en/docs/Reference/uninstalling_minikube.md b/site/content/en/docs/Reference/uninstalling_minikube.md deleted file mode 100644 index 7971e5ec98..0000000000 --- a/site/content/en/docs/Reference/uninstalling_minikube.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: "Uninstall minikube" -linkTitle: "Uninstall minikube" -weight: 6 -date: 2019-08-18 -description: > - Reference on uninstalling minikube from your system completely. ---- - -# Uninstall minikube on Windows -Following are the ways you can install minikube on Windows. Depending on how you installed minikube, please follow the guide appropriately. - -## Chocolatey -If you have installed minikube using Chocolatey package manager, follow the below steps to completely uninstall minikube from your system - -- Open a command prompt with Administrator privileges. -- We need to delete the cluster which was created by minikube - `minikube delete` -- Run, `choco uninstall minikube` to remove the minikube package from your system. -- Now, navigate to your User Folder - `C:\Users\YOUR_USER_NAME` (You can also find the path by expanding the environment variable `%USERPROFILE%`) -- In this folder, delete the `.minikube` folder. - -## Windows Installer -If you have downloaded and installed minikube using the Windows Installer provided in our Releases, kindly follow the below steps - -- Open a command prompt with Administrator privileges. -- We need to delete the cluster which was created by minikube - `minikube delete` -- Now, open the Run dialog box (**Win+R**), type in `appwiz.cpl` and hit **Enter** key. -- In there, find an entry for the Minikube installer, right click on it & click on **Uninstall**. -- Follow the onscreen prompts to uninstall minikube from your system. -- Now, navigate to your User Folder - `C:\Users\YOUR_USER_NAME` (You can also find the path by expanding the environment variable `%USERPROFILE%`) -- In this folder, delete the `.minikube` folder. - -## Binary/Direct -If you have downloaded just the binary and are using it to run minikube, please follow the below steps - -- Open a command prompt with Administrator privileges. -- We need to delete the cluster which was created by minikube - `minikube delete` -- Delete the minikube binary. -- Now, navigate to your User Folder - `C:\Users\YOUR_USER_NAME` (You can also find the path by expanding the environment variable `%USERPROFILE%`) -- In this folder, delete the `.minikube` folder. - - -# Uninstall minikube on Linux -## Binary/Direct -If you have installed minikube using the direct download method, follow the below steps to uninstall minikube completely from your system - -- In the shell, type in `minikube delete` to delete the minikube cluster. -- Remove the binary using `rm /usr/local/bin/minikube` -- Remove the directory containing the minikube configuration `rm -rf ~/.minikube` - -## Debian/Ubuntu (Deb) -If you have installed minikube using the (deb) file, follow the below instructions - -- In the shell, type in `minikube delete` to delete the minikube cluster. -- Uninstall the minikube package completely - `sudo dpkg -P minikube` -- Remove the minikube configuration directory - `rm -rf ~/.minikube` - -## Fedora/Red Hat (RPM) -If you have installed minikube using RPM, follow the below steps - -- In the shell, type in `minikube delete` to delete the minikube cluster. -- Uninstall the minikube package - `sudo rpm -e minikube` -- Remove the minikube configuration directory - `rm -rf ~/.minikube` - - -# Uninstall minikube on MacOS -## Binary/Direct -If you have installed minikube using the direct download method, follow the below steps to uninstall minikube completely from your system - -- In the shell, type in `minikube delete` to delete the minikube cluster. -- Remove the binary using `rm /usr/local/bin/minikube` -- Remove the directory containing the minikube configuration `rm -rf ~/.minikube` - - -## Brew -If you have installed minikube using the direct download method, follow the below steps to uninstall minikube completely from your system - -- In the shell, type in `minikube delete` to delete the minikube cluster. -- Uninstall the minikube package using `brew uninstall minikube` -- Remove the directory containing the minikube configuration `rm -rf ~/.minikube` diff --git a/site/content/en/docs/Start/_index.md b/site/content/en/docs/Start/_index.md deleted file mode 100644 index 2347037978..0000000000 --- a/site/content/en/docs/Start/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Getting Started" -linkTitle: "Getting Started" -weight: 2 -description: > - How to install and start minikube. ---- diff --git a/site/content/en/docs/Tasks/Registry/_index.md b/site/content/en/docs/Tasks/Registry/_index.md deleted file mode 100644 index cdecd6eff2..0000000000 --- a/site/content/en/docs/Tasks/Registry/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Working with Registries" -linkTitle: "Working with Registries" -weight: 6 -date: 2017-01-05 -description: > - How to interact with Docker registries. ---- \ No newline at end of file diff --git a/site/content/en/docs/Tasks/Registry/private.md b/site/content/en/docs/Tasks/Registry/private.md deleted file mode 100644 index 270ad665e4..0000000000 --- a/site/content/en/docs/Tasks/Registry/private.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Private" -linkTitle: "Private" -weight: 6 -date: 2020-01-14 -description: > - How to use a private registry within minikube ---- - - -**GCR/ECR/ACR/Docker**: minikube has an addon, `registry-creds` which maps credentials into minikube to support pulling from Google Container Registry (GCR), Amazon's EC2 Container Registry (ECR), Azure Container Registry (ACR), and Private Docker registries. You will need to run `minikube addons configure registry-creds` and `minikube addons enable registry-creds` to get up and running. An example of this is below: - -```shell -$ minikube addons configure registry-creds -Do you want to enable AWS Elastic Container Registry? [y/n]: n - -Do you want to enable Google Container Registry? [y/n]: y --- Enter path to credentials (e.g. /home/user/.config/gcloud/application_default_credentials.json):/home/user/.config/gcloud/application_default_credentials.json - -Do you want to enable Docker Registry? [y/n]: n - -Do you want to enable Azure Container Registry? [y/n]: n -registry-creds was successfully configured -$ minikube addons enable registry-creds -``` - -For additional information on private container registries, see [this page](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). - -We recommend you use _ImagePullSecrets_, but if you would like to configure access on the minikube VM you can place the `.dockercfg` in the `/home/docker` directory or the `config.json` in the `/var/lib/kubelet` directory. Make sure to restart your kubelet (for kubeadm) process with `sudo systemctl restart kubelet`. - diff --git a/site/content/en/docs/Tasks/_index.md b/site/content/en/docs/Tasks/_index.md deleted file mode 100755 index b5a2e67ad4..0000000000 --- a/site/content/en/docs/Tasks/_index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Core Tasks" -linkTitle: "Core Tasks" -weight: 4 -date: 2017-01-05 -description: > - What can you do with minikube? ---- - -Each task should give the user - -* The prerequisites for this task, if any (this can be specified at the top of a multi-task page if they're the same for all the page's tasks. "All these tasks assume that you understand....and that you have already...."). -* What this task accomplishes. -* Instructions for the task. If it involves editing a file, running a command, or writing code, provide code-formatted example snippets to show the user what to do! If there are multiple steps, provide them as a numbered list. -* If appropriate, links to related concept, tutorial, or example pages. diff --git a/site/content/en/docs/Tasks/addons.md b/site/content/en/docs/Tasks/addons.md deleted file mode 100644 index 9cecd406bd..0000000000 --- a/site/content/en/docs/Tasks/addons.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Addons" -date: 2019-07-31 -weight: 4 -description: > - Using addons ---- - -minikube has a set of built-in addons that, when enabled, can be used within Kubernetes. - -## Available addons - -* [Kubernetes Dashboard](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard) -* [EFK](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch) -* [Registry](https://github.com/kubernetes/minikube/tree/master/deploy/addons/registry) -* [Registry Credentials](https://github.com/upmc-enterprises/registry-creds) -* [Ingress](https://github.com/kubernetes/ingress-nginx) -* [Freshpod](https://github.com/GoogleCloudPlatform/freshpod) -* [nvidia-driver-installer](https://github.com/GoogleCloudPlatform/container-engine-accelerators/tree/master/nvidia-driver-installer/minikube) -* [nvidia-gpu-device-plugin](https://github.com/GoogleCloudPlatform/container-engine-accelerators/tree/master/cmd/nvidia_gpu) -* [logviewer](https://github.com/ivans3/minikube-log-viewer) -* [gvisor](../../../gvisor/readme/) -* [storage-provisioner-gluster](../../../storage-provisioner-gluster/readme) -* [helm-tiller](../../../helm-tiller/readme) -* [ingress-dns](../../../ingress-dns/readme) -* [istio](../../../istio/readme) - -## Listing available addons - -```shell -minikube addons list -``` - -Example output: - -``` -- registry: disabled -- registry-creds: disabled -- freshpod: disabled -- addon-manager: enabled -- dashboard: enabled -- efk: disabled -- ingress: disabled -- istio: disabled -- istio-provisioner: enabled -- default-storageclass: enabled -- storage-provisioner: enabled -- storage-provisioner-gluster: disabled -- nvidia-driver-installer: disabled -- nvidia-gpu-device-plugin: disabled -``` - -## Enabling an addon - -```shell -minikube addons enable -``` - -or - -```shell -minikube start --addons -``` - -## Interacting with an addon - -For addons that expose a browser endpoint, use: - -```shell -minikube addons open -``` - -## Disabling an addon - -```shell -minikube addons disable -``` - -## Custom Addons - -If you would like to have minikube properly start/restart custom addons, place the addon(s) _.yaml_ you wish to be launched with minikube in the `.minikube/addons` directory. Addons in this folder will be moved to the minikube VM and launched each time minikube is started/restarted. Learn [how to develop minikube addons]({{< ref "/docs/contributing/addons.en.md" >}}). diff --git a/site/content/en/docs/Tasks/building.md b/site/content/en/docs/Tasks/building.md deleted file mode 100644 index 0df3d6484c..0000000000 --- a/site/content/en/docs/Tasks/building.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Building images within minikube" -date: 2019-08-05 -weight: 1 -description: > - Building images within minikube ---- - -When using a single VM of Kubernetes it's really handy to build inside the VM; as this means you don't have to build on your host machine and push the image into a docker registry - you can just build inside the same machine as minikube which speeds up local experiments. - -## Docker (containerd) - -For Docker, you can either set up your host docker client to communicate by [reusing the docker daemon]({{< ref "/docs/tasks/docker_daemon.md" >}}). - -Or you can use `minikube ssh` to connect to the virtual machine, and run the `docker build` there: - -```shell -docker build -``` - -For more information on the `docker build` command, read the [Docker documentation](https://docs.docker.com/engine/reference/commandline/build/) (docker.com). - -## Podman (cri-o) - -For Podman, you can either set up your host `podman-remote` client to communicate with Podman service within minikube, by [reusing the Podman service]({{< ref "/docs/tasks/podman_service" >}}). - -Or you can use `minikube ssh`; you will also make sure to run the command as the root user: - -```shell -sudo -E podman build -``` - -For more information on the `podman build` command, read the [Podman documentation](https://github.com/containers/libpod/blob/master/docs/source/markdown/podman-build.1.md) (podman.io). - -## Build context - -For the build context you can use any directory on the virtual machine, or any address on the network. diff --git a/site/content/en/docs/Tasks/caching.md b/site/content/en/docs/Tasks/caching.md deleted file mode 100644 index 51b9d6d67b..0000000000 --- a/site/content/en/docs/Tasks/caching.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Caching images" -date: 2019-08-05 -weight: 1 -description: > - How to cache arbitrary Docker images ---- - -## Overview - -For offline use and performance reasons, minikube caches required Docker images onto the local file system. Developers may find it useful to add their own images to this cache for local development. - -## Adding an image - -To add the ubuntu 16.04 image to minikube's image cache: - -```shell -minikube cache add ubuntu:16.04 -``` - -The add command will store the requested image to `$MINIKUBE_HOME/cache/images`, and load it into the VM's container runtime environment next time `minikube start` is called. - -## Listing images - -To display images you have added to the cache: - -```shell -minikube cache list -``` - -This listing will not include the images which are built-in to minikube. - -## Deleting an image - -```shell -minikube cache delete -``` - -### Additional Information - -* [Reference: Disk Cache]({{< ref "/docs/reference/disk_cache.md" >}}) -* [Reference: cache command]({{< ref "/docs/reference/commands/cache.md" >}}) \ No newline at end of file diff --git a/site/content/en/docs/Tasks/docker_daemon.md b/site/content/en/docs/Tasks/docker_daemon.md deleted file mode 100644 index 2402099b53..0000000000 --- a/site/content/en/docs/Tasks/docker_daemon.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Using the Docker daemon" -linkTitle: "Using the Docker daemon" -weight: 6 -date: 2018-08-02 -description: > - How to access the Docker daemon within minikube ---- - -## Prerequisites - -You must be using minikube with the container runtime set to Docker. This is the default setting. - -## Method 1: Without minikube registry addon - -When using a single VM of Kubernetes it's really handy to reuse the Docker daemon inside the VM; as this means you don't have to build on your host machine and push the image into a docker registry - you can just build inside the same docker daemon as minikube which speeds up local experiments. - -To be able to work with the docker daemon on your mac/linux host use the docker-env command in your shell: - -```shell -eval $(minikube docker-env) -``` - -You should now be able to use docker on the command line on your host mac/linux machine talking to the docker daemon inside the minikube VM: - -```shell -docker ps -``` - -Remember to turn off the _imagePullPolicy:Always_, as otherwise Kubernetes won't use images you built locally. - -### Possible errors and solutions - -Docker may report following forbidden error if you are using http proxy and the `$(minikube ip)` is not added to `no_proxy`/`NO_PROXY`: - -``` -error during connect: Get https://192.168.39.98:2376/v1.39/containers/json: Forbidden -``` - -On Centos 7, docker may report the following error: - -``` -Could not read CA certificate "/etc/docker/ca.pem": open /etc/docker/ca.pem: no such file or directory -``` - -The fix is to update ``/etc/sysconfig/docker`` to ensure that minikube's environment changes are respected: - -```diff -< DOCKER_CERT_PATH=/etc/docker ---- -> if [ -z "${DOCKER_CERT_PATH}" ]; then -> DOCKER_CERT_PATH=/etc/docker -> fi -``` - -When you're using a docker installed via `snap` on a distribution like Ubuntu that uses AppArmor profiles the following error may appear: - -``` -could not read CA certificate "/home/USERNAME/.minikube/certs/ca.pem": open /home/USERNAME/.minikube/certs/ca.pem: permission denied -``` - -The solution is to allow docker to read the minikube certificates by adding a line in ``/var/lib/snapd/apparmor/profiles/snap.docker.docker`` file: - -```shell -# allow docker to read minikube certificates -owner @{HOME}/.minikube/certs/* r, -``` - -After that check for syntax errors and try again: - -```shell -sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.docker.docker -eval $(minikube docker-env) -docker ps -``` - -## Related Documentation - -- [Using the Docker registry]({{< ref "/docs/tasks/docker_registry" >}}) diff --git a/site/content/en/docs/Tasks/docker_registry.md b/site/content/en/docs/Tasks/docker_registry.md deleted file mode 100644 index 64afca1c00..0000000000 --- a/site/content/en/docs/Tasks/docker_registry.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Using the Docker registry" -linkTitle: "Using the Docker registry" -weight: 6 -date: 2018-08-02 -description: > - How to access the Docker registry within minikube ---- - -As an alternative to [reusing the Docker daemon]({{< ref "/docs/tasks/docker_daemon.md" >}}), you may enable the registry addon to push images directly into registry. - -Steps are as follows: - -For illustration purpose, we will assume that minikube VM has one of the ip from `192.168.39.0/24` subnet. If you have not overridden these subnets as per [networking guide](https://minikube.sigs.k8s.io/docs/reference/networking/), you can find out default subnet being used by minikube for a specific OS and driver combination [here](https://github.com/kubernetes/minikube/blob/dfd9b6b83d0ca2eeab55588a16032688bc26c348/pkg/minikube/cluster/cluster.go#L408) which is subject to change. Replace `192.168.39.0/24` with appropriate values for your environment wherever applicable. - -Ensure that docker is configured to use `192.168.39.0/24` as insecure registry. Refer [here](https://docs.docker.com/registry/insecure/) for instructions. - -Ensure that `192.168.39.0/24` is enabled as insecure registry in minikube. Refer [here](https://minikube.sigs.k8s.io/docs/tasks/registry/insecure/) for instructions.. - -Enable minikube registry addon: - -```shell -minikube addons enable registry -``` - -Build docker image and tag it appropriately: - -```shell -docker build --tag $(minikube ip):5000/test-img . -``` - -Push docker image to minikube registry: - -```shell -docker push $(minikube ip):5000/test-img -``` - -Now run it in minikube: - -```shell -kubectl run test-img --image=$(minikube ip):5000/test-img -``` - -Or if `192.168.39.0/24` is not enabled as insecure registry in minikube, then: - -```shell -kubectl run test-img --image=localhost:5000/test-img -``` diff --git a/site/content/en/docs/Tasks/nodeport.md b/site/content/en/docs/Tasks/nodeport.md deleted file mode 100644 index 5e73db4cad..0000000000 --- a/site/content/en/docs/Tasks/nodeport.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "NodePort access" -linkTitle: "NodePort access" -weight: 6 -date: 2018-08-02 -description: > - How to access a NodePort service in minikube ---- - -A NodePort service is the most basic way to get external traffic directly to your service. NodePort, as the name implies, opens a specific port, and any traffic that is sent to this port is forwarded to the service. - -### Getting the NodePort using the service command - -We also have a shortcut for fetching the minikube IP and a service's `NodePort`: - -`minikube service --url $SERVICE` - -## Getting the NodePort using kubectl - -The minikube VM is exposed to the host system via a host-only IP address, that can be obtained with the `minikube ip` command. Any services of type `NodePort` can be accessed over that IP address, on the NodePort. - -To determine the NodePort for your service, you can use a `kubectl` command like this (note that `nodePort` begins with lowercase `n` in JSON output): - -`kubectl get service $SERVICE --output='jsonpath="{.spec.ports[0].nodePort}"'` - -### Increasing the NodePort range - -By default, minikube only exposes ports 30000-32767. If this does not work for you, you can adjust the range by using: - -`minikube start --extra-config=apiserver.service-node-port-range=1-65535` - -This flag also accepts a comma separated list of ports and port ranges. - diff --git a/site/content/en/docs/Tasks/podman_service.md b/site/content/en/docs/Tasks/podman_service.md deleted file mode 100644 index 778388ac60..0000000000 --- a/site/content/en/docs/Tasks/podman_service.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "Using the Podman service" -linkTitle: "Using the Podman service" -weight: 6 -date: 2020-01-20 -description: > - How to access the Podman service within minikube ---- - -## Prerequisites - -You should be using minikube with the container runtime set to CRI-O. It uses the same storage as Podman. - -## Method 1: Without minikube registry addon - -When using a single VM of Kubernetes it's really handy to reuse the Podman service inside the VM; as this means you don't have to build on your host machine and push the image into a container registry - you can just build inside the same container storage as minikube which speeds up local experiments. - -To be able to work with the podman client on your mac/linux host use the podman-env command in your shell: - -```shell -eval $(minikube podman-env) -``` - -You should now be able to use podman on the command line on your host mac/linux machine talking to the podman service inside the minikube VM: - -```shell -podman-remote help -``` - -Remember to turn off the `imagePullPolicy:Always` (use `imagePullPolicy:IfNotPresent` or `imagePullPolicy:Never`), as otherwise Kubernetes won't use images you built locally. - -### Example - -```shell -$ cat Containerfile -FROM busybox -CMD exec /bin/sh -c "trap : TERM INT; (while true; do sleep 1000; done) & wait" -$ eval $(minikube podman-env) -$ podman-remote build -t example.com/test:v1 . -STEP 1: FROM busybox -STEP 2: CMD exec /bin/sh -c "trap : TERM INT; (while true; do sleep 1000; done) & wait" -STEP 3: COMMIT example.com/test:v1 -2881381f7b9675ea5a0e635605bc0c4c08857582990bcadf0685b9f8976de2d3 -$ minikube ssh -- sudo crictl images example.com/test:v1 -IMAGE TAG IMAGE ID SIZE -example.com/test v1 2881381f7b967 1.44MB -$ kubectl run test --image example.com/test:v1 --image-pull-policy=IfNotPresent -kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead. -deployment.apps/test created -$ kubectl get pods -NAME READY STATUS RESTARTS AGE -test-d98bdbfdd-lwnqz 1/1 Running 0 18s - -``` - -## Related Documentation - -- [Using the Docker registry]({{< ref "/docs/tasks/docker_registry" >}}) diff --git a/site/content/en/docs/Tutorials/audit-policy.md b/site/content/en/docs/Tutorials/audit-policy.md deleted file mode 100644 index 56cf6428d2..0000000000 --- a/site/content/en/docs/Tutorials/audit-policy.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Audit Policy" -linkTitle: "Audit Policy" -weight: 1 -date: 2019-11-19 -description: > - Enabling audit policy for minikube ---- - -## Overview - -[Auditing](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/) is not enabled in minikube by default. -This tutorial shows how to provide an [Audit Policy](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#audit-policy) file to the minikube API server on startup. - -## Tutorial - -```shell -minikube stop - -mkdir -p ~/.minikube/files/etc/ssl/certs - -cat < ~/.minikube/files/etc/ssl/certs/audit-policy.yaml -# Log all requests at the Metadata level. -apiVersion: audit.k8s.io/v1 -kind: Policy -rules: -- level: Metadata -EOF - -minikube start \ - --extra-config=apiserver.audit-policy-file=/etc/ssl/certs/audit-policy.yaml \ - --extra-config=apiserver.audit-log-path=- - -kubectl logs kube-apiserver-minikube -n kube-system | grep audit.k8s.io/v1 -``` - -The [Audit Policy](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#audit-policy) used in this tutorial is very minimal and quite verbose. As a next step you might want to finetune the `audit-policy.yaml` file. To get the changes applied you need to stop and start minikube. Restarting minikube triggers the [file sync mechanism](https://minikube.sigs.k8s.io/docs/tasks/sync/) that copies the yaml file onto the minikube node and causes the API server to read the changed policy file. - -Note: Currently there is no dedicated directory to store the `audit-policy.yaml` file in `~/.minikube/`. Using the `~/.minikube/files/etc/ssl/certs` directory is a workaround! This workaround works like this: By putting the file into a sub-directory of `~/.minikube/files/`, the [file sync mechanism](https://minikube.sigs.k8s.io/docs/tasks/sync/) gets triggered and copies the `audit-policy.yaml` file from the host onto the minikube node. When the API server container gets started by `kubeadm` I'll mount the `/etc/ssl/certs` directory from the minikube node into the container. This is the reason why the `audit-policy.yaml` file has to be stored in the ssl certs directory: It's one of the directories that get mounted from the minikube node into the container. diff --git a/site/content/en/docs/Tutorials/continuous_integration.md b/site/content/en/docs/Tutorials/continuous_integration.md deleted file mode 100644 index 1a55a58150..0000000000 --- a/site/content/en/docs/Tutorials/continuous_integration.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Continuous Integration" -linkTitle: "Continuous Integration" -weight: 1 -date: 2018-01-02 -description: > - Using minikube for Continuous Integration ---- - -## Overview - -Most continuous integration environments are already running inside a VM, and may not support nested virtualization. The `none` driver was designed for this use case. or you could alternatively use the [Docker](https://minikube.sigs.k8s.io/docs/reference/drivers/docker). - -## Prerequisites - -- VM running a systemd based Linux distribution - -## using none driver - - Here is an example, that runs minikube from a non-root user, and ensures that the latest stable kubectl is installed: - -```shell -curl -Lo minikube \ - https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ - && sudo install minikube /usr/local/bin/ - -kv=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) -curl -Lo kubectl \ - https://storage.googleapis.com/kubernetes-release/release/$kv/bin/linux/amd64/kubectl \ - && sudo install kubectl /usr/local/bin/ - -export MINIKUBE_WANTUPDATENOTIFICATION=false -export MINIKUBE_HOME=$HOME -export CHANGE_MINIKUBE_NONE_USER=true -export KUBECONFIG=$HOME/.kube/config - -mkdir -p $HOME/.kube $HOME/.minikube -touch $KUBECONFIG - -sudo -E minikube start --driver=none -``` - -## Alternative ways - -you could alternatively use minikube's container drivers such as [Docker](https://minikube.sigs.k8s.io/docs/reference/drivers/docker) or [Podman](https://minikube.sigs.k8s.io/docs/reference/drivers/podman). \ No newline at end of file diff --git a/site/content/en/docs/Tutorials/untrusted_root_certificate.md b/site/content/en/docs/Tutorials/untrusted_root_certificate.md deleted file mode 100644 index d1b857aa73..0000000000 --- a/site/content/en/docs/Tutorials/untrusted_root_certificate.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Untrusted Root Certificate" -linkTitle: "Untrusted Root Certificate" -weight: 1 -date: 2019-08-15 -description: > - Using minikube with Untrusted Root Certificate ---- - -## Overview - -Most organizations deploy their own Root Certificate and CA service inside the corporate networks. -Internal websites, image repositories and other resources may install SSL server certificates issued by this CA service for security and privacy concerns. -You may install the Root Certificate into the minikube cluster to access these corporate resources within the cluster. - -## Prerequisites - -- Corporate X.509 Root Certificate -- Latest minikube binary and ISO - -## Tutorial - -* The certificate must be in PEM format. You may use `openssl` to convert from DER format. - -``` -openssl x509 -inform der -in my_company.cer -out my_company.pem -``` - -* You may need to delete existing minikube cluster - -```shell -minikube delete -``` - -* Copy the certificate before creating the minikube cluster - -```shell -mkdir -p $HOME/.minikube/certs -cp my_company.pem $HOME/.minikube/certs/my_company.pem - -minikube start -``` diff --git a/site/content/en/docs/_index.md b/site/content/en/docs/_index.md index f285e090f8..59b02066e7 100755 --- a/site/content/en/docs/_index.md +++ b/site/content/en/docs/_index.md @@ -1,11 +1,26 @@ - --- -title: "Documentation" +title: "Welcome!" linkTitle: "Documentation" -weight: 20 -menu: - main: - weight: 20 +no_list: true +weight: 1 +aliases: + - /docs/overview --- -This section is where the user documentation for minikube lives - all the information that users need to understand and successfully use minikube. +minikube quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows. We proudly focus on helping application developers and new Kubernetes users. + +![Screenshot](/images/screenshot.png) + +## Highlights + +* Supports the latest Kubernetes release (+6 previous minor versions) +* Cross-platform (Linux, macOS, Windows) +* Deploy as a VM, a container, or on bare-metal +* Multiple container runtimes (CRI-O, containerd, docker) +* Docker API endpoint for blazing fast image pushes +* Advanced features such as [LoadBalancer](https://minikube.sigs.k8s.io/Handbook/loadbalancer/), filesystem mounts, and FeatureGates +* [Addons](https://minikube.sigs.k8s.io/Handbook/addons/) for easily installed Kubernetes applications + +## Survey + +We have a [fast 5-question survey](https://forms.gle/Gg3hG5ZySw8c1C24A) to learn how & why you are using minikube, and what improvements we should make. We would love to hear from you! ๐Ÿ™ diff --git a/site/content/en/docs/Reference/Commands/_index.md b/site/content/en/docs/commands/_index.md similarity index 91% rename from site/content/en/docs/Reference/Commands/_index.md rename to site/content/en/docs/commands/_index.md index 889734bd1f..2ecd64a746 100644 --- a/site/content/en/docs/Reference/Commands/_index.md +++ b/site/content/en/docs/commands/_index.md @@ -1,7 +1,7 @@ --- title: "Commands" linkTitle: "Commands" -weight: 1 +weight: 5 date: 2019-08-01 description: > minikube command reference diff --git a/site/content/en/docs/Reference/Commands/addons.md b/site/content/en/docs/commands/addons.md similarity index 100% rename from site/content/en/docs/Reference/Commands/addons.md rename to site/content/en/docs/commands/addons.md diff --git a/site/content/en/docs/Reference/Commands/cache.md b/site/content/en/docs/commands/cache.md similarity index 100% rename from site/content/en/docs/Reference/Commands/cache.md rename to site/content/en/docs/commands/cache.md diff --git a/site/content/en/docs/Reference/Commands/completion.md b/site/content/en/docs/commands/completion.md similarity index 100% rename from site/content/en/docs/Reference/Commands/completion.md rename to site/content/en/docs/commands/completion.md diff --git a/site/content/en/docs/Reference/Commands/config.md b/site/content/en/docs/commands/config.md similarity index 100% rename from site/content/en/docs/Reference/Commands/config.md rename to site/content/en/docs/commands/config.md diff --git a/site/content/en/docs/Reference/Commands/dashboard.md b/site/content/en/docs/commands/dashboard.md similarity index 100% rename from site/content/en/docs/Reference/Commands/dashboard.md rename to site/content/en/docs/commands/dashboard.md diff --git a/site/content/en/docs/Reference/Commands/delete.md b/site/content/en/docs/commands/delete.md similarity index 100% rename from site/content/en/docs/Reference/Commands/delete.md rename to site/content/en/docs/commands/delete.md diff --git a/site/content/en/docs/Reference/Commands/docker-env.md b/site/content/en/docs/commands/docker-env.md similarity index 100% rename from site/content/en/docs/Reference/Commands/docker-env.md rename to site/content/en/docs/commands/docker-env.md diff --git a/site/content/en/docs/Reference/Commands/ip.md b/site/content/en/docs/commands/ip.md similarity index 100% rename from site/content/en/docs/Reference/Commands/ip.md rename to site/content/en/docs/commands/ip.md diff --git a/site/content/en/docs/Reference/Commands/kubectl.md b/site/content/en/docs/commands/kubectl.md similarity index 100% rename from site/content/en/docs/Reference/Commands/kubectl.md rename to site/content/en/docs/commands/kubectl.md diff --git a/site/content/en/docs/Reference/Commands/logs.md b/site/content/en/docs/commands/logs.md similarity index 100% rename from site/content/en/docs/Reference/Commands/logs.md rename to site/content/en/docs/commands/logs.md diff --git a/site/content/en/docs/Reference/Commands/mount.md b/site/content/en/docs/commands/mount.md similarity index 100% rename from site/content/en/docs/Reference/Commands/mount.md rename to site/content/en/docs/commands/mount.md diff --git a/site/content/en/docs/Reference/Commands/pause.md b/site/content/en/docs/commands/pause.md similarity index 100% rename from site/content/en/docs/Reference/Commands/pause.md rename to site/content/en/docs/commands/pause.md diff --git a/site/content/en/docs/Reference/Commands/profile.md b/site/content/en/docs/commands/profile.md similarity index 100% rename from site/content/en/docs/Reference/Commands/profile.md rename to site/content/en/docs/commands/profile.md diff --git a/site/content/en/docs/Reference/Commands/service.md b/site/content/en/docs/commands/service.md similarity index 100% rename from site/content/en/docs/Reference/Commands/service.md rename to site/content/en/docs/commands/service.md diff --git a/site/content/en/docs/Reference/Commands/ssh-key.md b/site/content/en/docs/commands/ssh-key.md similarity index 100% rename from site/content/en/docs/Reference/Commands/ssh-key.md rename to site/content/en/docs/commands/ssh-key.md diff --git a/site/content/en/docs/Reference/Commands/ssh.md b/site/content/en/docs/commands/ssh.md similarity index 100% rename from site/content/en/docs/Reference/Commands/ssh.md rename to site/content/en/docs/commands/ssh.md diff --git a/site/content/en/docs/Reference/Commands/start.md b/site/content/en/docs/commands/start.md similarity index 100% rename from site/content/en/docs/Reference/Commands/start.md rename to site/content/en/docs/commands/start.md diff --git a/site/content/en/docs/Reference/Commands/status.md b/site/content/en/docs/commands/status.md similarity index 100% rename from site/content/en/docs/Reference/Commands/status.md rename to site/content/en/docs/commands/status.md diff --git a/site/content/en/docs/Reference/Commands/stop.md b/site/content/en/docs/commands/stop.md similarity index 100% rename from site/content/en/docs/Reference/Commands/stop.md rename to site/content/en/docs/commands/stop.md diff --git a/site/content/en/docs/Reference/Commands/tunnel.md b/site/content/en/docs/commands/tunnel.md similarity index 100% rename from site/content/en/docs/Reference/Commands/tunnel.md rename to site/content/en/docs/commands/tunnel.md diff --git a/site/content/en/docs/Reference/Commands/unpause.md b/site/content/en/docs/commands/unpause.md similarity index 100% rename from site/content/en/docs/Reference/Commands/unpause.md rename to site/content/en/docs/commands/unpause.md diff --git a/site/content/en/docs/Reference/Commands/update-check.md b/site/content/en/docs/commands/update-check.md similarity index 100% rename from site/content/en/docs/Reference/Commands/update-check.md rename to site/content/en/docs/commands/update-check.md diff --git a/site/content/en/docs/Reference/Commands/update-context.md b/site/content/en/docs/commands/update-context.md similarity index 100% rename from site/content/en/docs/Reference/Commands/update-context.md rename to site/content/en/docs/commands/update-context.md diff --git a/site/content/en/docs/Reference/Commands/version.md b/site/content/en/docs/commands/version.md similarity index 100% rename from site/content/en/docs/Reference/Commands/version.md rename to site/content/en/docs/commands/version.md diff --git a/site/content/en/docs/Contributing/_index.md b/site/content/en/docs/contrib/_index.md similarity index 100% rename from site/content/en/docs/Contributing/_index.md rename to site/content/en/docs/contrib/_index.md diff --git a/site/content/en/docs/Contributing/addons.en.md b/site/content/en/docs/contrib/addons.en.md similarity index 100% rename from site/content/en/docs/Contributing/addons.en.md rename to site/content/en/docs/contrib/addons.en.md diff --git a/site/content/en/docs/contrib/building/_index.md b/site/content/en/docs/contrib/building/_index.md new file mode 100644 index 0000000000..c9faa7ba02 --- /dev/null +++ b/site/content/en/docs/contrib/building/_index.md @@ -0,0 +1,5 @@ +--- +title: "Building" +linkTitle: "Building" +weight: 2 +--- diff --git a/site/content/en/docs/Contributing/building.en.md b/site/content/en/docs/contrib/building/binaries.md similarity index 100% rename from site/content/en/docs/Contributing/building.en.md rename to site/content/en/docs/contrib/building/binaries.md diff --git a/site/content/en/docs/Contributing/iso.md b/site/content/en/docs/contrib/building/iso.md similarity index 99% rename from site/content/en/docs/Contributing/iso.md rename to site/content/en/docs/contrib/building/iso.md index f764d05388..3d5eabe70b 100644 --- a/site/content/en/docs/Contributing/iso.md +++ b/site/content/en/docs/contrib/building/iso.md @@ -1,5 +1,5 @@ --- -linkTitle: "ISO" +linkTitle: "ISO Build" title: "Building the minikube ISO" date: 2019-08-09 weight: 4 diff --git a/site/content/en/docs/Contributing/documentation.en.md b/site/content/en/docs/contrib/documentation.en.md similarity index 100% rename from site/content/en/docs/Contributing/documentation.en.md rename to site/content/en/docs/contrib/documentation.en.md diff --git a/site/content/en/docs/Contributing/drivers.en.md b/site/content/en/docs/contrib/drivers.en.md similarity index 100% rename from site/content/en/docs/Contributing/drivers.en.md rename to site/content/en/docs/contrib/drivers.en.md diff --git a/site/content/en/docs/Contributing/guide.en.md b/site/content/en/docs/contrib/guide.en.md similarity index 100% rename from site/content/en/docs/Contributing/guide.en.md rename to site/content/en/docs/contrib/guide.en.md diff --git a/site/content/en/docs/Concepts/principles.en.md b/site/content/en/docs/contrib/principles.en.md similarity index 81% rename from site/content/en/docs/Concepts/principles.en.md rename to site/content/en/docs/contrib/principles.en.md index 7ba4e884ed..a97404e6a1 100644 --- a/site/content/en/docs/Concepts/principles.en.md +++ b/site/content/en/docs/contrib/principles.en.md @@ -1,17 +1,18 @@ --- title: "Principles" -date: 2019-06-18T15:31:58+08:00 +aliases: + - /docs/concepts/principles --- The primary goal of minikube is to make it simple to run Kubernetes locally, for day-to-day development workflows and learning purposes. Here are the guiding principles for minikube, in rough priority order: 1. Inclusive and community-driven -1. User-friendly -1. Support all Kubernetes features -1. Cross-platform -1. Reliable -1. High Performance -1. Developer Focused +2. User-friendly +3. Support all Kubernetes features +4. Cross-platform +5. Reliable +6. High Performance +7. Developer Focused Here are some specific minikube features that align with our goal: diff --git a/site/content/en/docs/contrib/releasing/_index.md b/site/content/en/docs/contrib/releasing/_index.md new file mode 100644 index 0000000000..0c2338eea5 --- /dev/null +++ b/site/content/en/docs/contrib/releasing/_index.md @@ -0,0 +1,5 @@ +--- +title: "Releasing" +linkTitle: "Releasing" +weight: 99 +--- diff --git a/site/content/en/docs/Contributing/releasing.en.md b/site/content/en/docs/contrib/releasing/binaries.md similarity index 86% rename from site/content/en/docs/Contributing/releasing.en.md rename to site/content/en/docs/contrib/releasing/binaries.md index e4d8a3a52c..1f5702dfed 100644 --- a/site/content/en/docs/Contributing/releasing.en.md +++ b/site/content/en/docs/contrib/releasing/binaries.md @@ -1,9 +1,8 @@ --- -title: "Releasing" -date: 2019-07-31 +title: "Binaries" weight: 9 description: > - How to release minikube + How to release minikube binaries --- ## Preparation @@ -16,19 +15,7 @@ description: > ## Build a new ISO -Major releases always get a new ISO. Minor bugfixes may or may not require it: check for changes in the `deploy/iso` folder. -To check, run `git log -- deploy/iso` from the root directory and see if there has been a commit since the most recent release. - -Note: you can build the ISO using the `hack/jenkins/build_iso.sh` script locally. - -* Navigate to the minikube ISO jenkins job -* Ensure that you are logged in (top right) -* Click "โ–ถ๏ธ Build with Parameters" (left) -* For `ISO_VERSION`, type in the intended release version (same as the minikube binary's version) -* For `ISO_BUCKET`, type in `minikube/iso` -* Click *Build* - -The build will take roughly 50 minutes. +Major releases always get a new ISO. See [ISO release instructions]({{}}) ## Update Makefile diff --git a/site/content/en/docs/Contributing/gvisor.md b/site/content/en/docs/contrib/releasing/gvisor.md similarity index 100% rename from site/content/en/docs/Contributing/gvisor.md rename to site/content/en/docs/contrib/releasing/gvisor.md diff --git a/site/content/en/docs/contrib/releasing/iso.md b/site/content/en/docs/contrib/releasing/iso.md new file mode 100644 index 0000000000..5c1fdc1963 --- /dev/null +++ b/site/content/en/docs/contrib/releasing/iso.md @@ -0,0 +1,19 @@ +--- +title: "ISO" +description: > + How to release a new minikube ISO +--- + +Major releases always get a new ISO. Minor bugfixes may or may not require it: check for changes in the `deploy/iso` folder. +To check, run `git log -- deploy/iso` from the root directory and see if there has been a commit since the most recent release. + +Note: you can build the ISO using the `hack/jenkins/build_iso.sh` script locally. + +* Navigate to the minikube ISO jenkins job +* Ensure that you are logged in (top right) +* Click "โ–ถ๏ธ Build with Parameters" (left) +* For `ISO_VERSION`, type in the intended release version (same as the minikube binary's version) +* For `ISO_BUCKET`, type in `minikube/iso` +* Click *Build* + +The build will take roughly 50 minutes. diff --git a/site/content/en/docs/Contributing/roadmap.en.md b/site/content/en/docs/contrib/roadmap.en.md similarity index 100% rename from site/content/en/docs/Contributing/roadmap.en.md rename to site/content/en/docs/contrib/roadmap.en.md diff --git a/site/content/en/docs/Contributing/testing.en.md b/site/content/en/docs/contrib/testing.en.md similarity index 100% rename from site/content/en/docs/Contributing/testing.en.md rename to site/content/en/docs/contrib/testing.en.md diff --git a/site/content/en/docs/Contributing/translations.md b/site/content/en/docs/contrib/translations.md similarity index 100% rename from site/content/en/docs/Contributing/translations.md rename to site/content/en/docs/contrib/translations.md diff --git a/site/content/en/docs/Contributing/triage.md b/site/content/en/docs/contrib/triage.md similarity index 100% rename from site/content/en/docs/Contributing/triage.md rename to site/content/en/docs/contrib/triage.md diff --git a/site/content/en/docs/Reference/Drivers/_index.md b/site/content/en/docs/drivers/_index.md similarity index 91% rename from site/content/en/docs/Reference/Drivers/_index.md rename to site/content/en/docs/drivers/_index.md index c1c0adb612..7efc0914c9 100644 --- a/site/content/en/docs/Reference/Drivers/_index.md +++ b/site/content/en/docs/drivers/_index.md @@ -2,8 +2,6 @@ title: "Drivers" linkTitle: "Drivers" weight: 8 -date: 2017-01-05 -date: 2018-08-05 description: > Configuring various minikube drivers --- diff --git a/site/content/en/docs/Reference/Drivers/docker.md b/site/content/en/docs/drivers/docker.md similarity index 73% rename from site/content/en/docs/Reference/Drivers/docker.md rename to site/content/en/docs/drivers/docker.md index 7c0c0c2470..4c82cf36f5 100644 --- a/site/content/en/docs/Reference/Drivers/docker.md +++ b/site/content/en/docs/drivers/docker.md @@ -1,26 +1,24 @@ --- title: "docker" -linkTitle: "docker" weight: 3 -date: 2020-02-05 -description: > - Docker driver +aliases: + - /docs/reference/drivers/docker --- ## Overview The Docker driver is the newest minikube driver. which runs kubernetes in container VM-free ! with full feature parity with minikube in VM. -{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}} - +{{% readfile file="/docs/drivers/includes/docker_usage.inc" %}} ## Special features + - Cross platform (linux, macos, windows) - No hypervisor required when run on Linux. ## Known Issues. -- The 'ingress' and 'ingress-dns' addons are only supported on Linux. +- The 'ingress' and 'ingress-dns' addons are only supported on Linux. these addons are not supported for Docker Driver on MacOS and Windows yet. to get updates on the work in progress please check [issue page](https://github.com/kubernetes/minikube/issues/7332) -- a known [docker issue for MacOs](https://github.com/docker/for-mac/issues/1835), a containers on Docker on MacOS might hang and get stuck while other containers can get created. The current workaround is restarting docker. \ No newline at end of file +- a known [docker issue for macOS](https://github.com/docker/for-mac/issues/1835), a containers on Docker on MacOS might hang and get stuck while other containers can get created. The current workaround is restarting docker. diff --git a/site/content/en/docs/Reference/Drivers/hyperkit.md b/site/content/en/docs/drivers/hyperkit.md similarity index 90% rename from site/content/en/docs/Reference/Drivers/hyperkit.md rename to site/content/en/docs/drivers/hyperkit.md index 2b72f11719..49be1a066f 100644 --- a/site/content/en/docs/Reference/Drivers/hyperkit.md +++ b/site/content/en/docs/drivers/hyperkit.md @@ -1,17 +1,15 @@ --- title: "hyperkit" -linkTitle: "hyperkit" weight: 1 -date: 2018-08-08 -description: > - HyperKit driver +aliases: + - /docs/reference/drivers/hyperkit --- ## Overview [HyperKit](https://github.com/moby/hyperkit) is an open-source hypervisor for macOS hypervisor, optimized for lightweight virtual machines and container deployment. -{{% readfile file="/docs/Reference/Drivers/includes/hyperkit_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/hyperkit_usage.inc" %}} ## Special features diff --git a/site/content/en/docs/Reference/Drivers/hyperv.md b/site/content/en/docs/drivers/hyperv.md similarity index 74% rename from site/content/en/docs/Reference/Drivers/hyperv.md rename to site/content/en/docs/drivers/hyperv.md index 3595a2bb9d..78d5528ecd 100644 --- a/site/content/en/docs/Reference/Drivers/hyperv.md +++ b/site/content/en/docs/drivers/hyperv.md @@ -1,17 +1,14 @@ --- title: "hyperv" -linkTitle: "hyperv" weight: 2 -date: 2017-01-05 -date: 2018-08-05 -description: > - Microsoft Hyper-V driver +aliases: + - /docs/reference/drivers/hyperv --- ## Overview Hyper-V is a native hypervisor built in to modern versions of Microsoft Windows. -{{% readfile file="/docs/Reference/Drivers/includes/hyperv_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/hyperv_usage.inc" %}} ## Special features diff --git a/site/content/en/docs/Reference/Drivers/includes/check_baremetal_linux.inc b/site/content/en/docs/drivers/includes/check_baremetal_linux.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/check_baremetal_linux.inc rename to site/content/en/docs/drivers/includes/check_baremetal_linux.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/check_virtualization_linux.inc b/site/content/en/docs/drivers/includes/check_virtualization_linux.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/check_virtualization_linux.inc rename to site/content/en/docs/drivers/includes/check_virtualization_linux.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/check_virtualization_windows.inc b/site/content/en/docs/drivers/includes/check_virtualization_windows.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/check_virtualization_windows.inc rename to site/content/en/docs/drivers/includes/check_virtualization_windows.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/docker_usage.inc b/site/content/en/docs/drivers/includes/docker_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/docker_usage.inc rename to site/content/en/docs/drivers/includes/docker_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/hyperkit_usage.inc b/site/content/en/docs/drivers/includes/hyperkit_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/hyperkit_usage.inc rename to site/content/en/docs/drivers/includes/hyperkit_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/hyperv_usage.inc b/site/content/en/docs/drivers/includes/hyperv_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/hyperv_usage.inc rename to site/content/en/docs/drivers/includes/hyperv_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/kvm2_usage.inc b/site/content/en/docs/drivers/includes/kvm2_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/kvm2_usage.inc rename to site/content/en/docs/drivers/includes/kvm2_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/none_usage.inc b/site/content/en/docs/drivers/includes/none_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/none_usage.inc rename to site/content/en/docs/drivers/includes/none_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/parallels_usage.inc b/site/content/en/docs/drivers/includes/parallels_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/parallels_usage.inc rename to site/content/en/docs/drivers/includes/parallels_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/podman_usage.inc b/site/content/en/docs/drivers/includes/podman_usage.inc similarity index 86% rename from site/content/en/docs/Reference/Drivers/includes/podman_usage.inc rename to site/content/en/docs/drivers/includes/podman_usage.inc index 9962043165..186c5bb604 100644 --- a/site/content/en/docs/Reference/Drivers/includes/podman_usage.inc +++ b/site/content/en/docs/drivers/includes/podman_usage.inc @@ -1,7 +1,7 @@ ## experimental This is an experimental driver. please use it only for experimental reasons. -for a better kubernetes in container experience, use docker [driver](https://minikube.sigs.k8s.io/docs/reference/drivers/docker). +for a better kubernetes in container experience, use docker [driver](https://minikube.sigs.k8s.io/Drivers/docker). ## Install Podman diff --git a/site/content/en/docs/Reference/Drivers/includes/virtualbox_usage.inc b/site/content/en/docs/drivers/includes/virtualbox_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/virtualbox_usage.inc rename to site/content/en/docs/drivers/includes/virtualbox_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/includes/vmware_macos_usage.inc b/site/content/en/docs/drivers/includes/vmware_macos_usage.inc similarity index 100% rename from site/content/en/docs/Reference/Drivers/includes/vmware_macos_usage.inc rename to site/content/en/docs/drivers/includes/vmware_macos_usage.inc diff --git a/site/content/en/docs/Reference/Drivers/kvm2.md b/site/content/en/docs/drivers/kvm2.md similarity index 89% rename from site/content/en/docs/Reference/Drivers/kvm2.md rename to site/content/en/docs/drivers/kvm2.md index 52102bb83e..b447745524 100644 --- a/site/content/en/docs/Reference/Drivers/kvm2.md +++ b/site/content/en/docs/drivers/kvm2.md @@ -1,11 +1,10 @@ --- title: "kvm2" -linkTitle: "kvm2" weight: 2 -date: 2017-01-05 -date: 2018-08-05 description: > Linux KVM (Kernel-based Virtual Machine) driver +aliases: + - /docs/reference/drivers/kvm2 --- @@ -13,11 +12,11 @@ description: > [KVM (Kernel-based Virtual Machine)](https://www.linux-kvm.org/page/Main_Page) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions. To work with KVM, minikube uses the [libvirt virtualization API](https://libvirt.org/) -{{% readfile file="/docs/Reference/Drivers/includes/kvm2_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/kvm2_usage.inc" %}} ## Check virtualization support -{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_linux.inc" %}} +{{% readfile file="/docs/drivers/includes/check_virtualization_linux.inc" %}} ## Special features diff --git a/site/content/en/docs/Reference/Drivers/none.md b/site/content/en/docs/drivers/none.md similarity index 81% rename from site/content/en/docs/Reference/Drivers/none.md rename to site/content/en/docs/drivers/none.md index 2040128bdf..363c950db5 100644 --- a/site/content/en/docs/Reference/Drivers/none.md +++ b/site/content/en/docs/drivers/none.md @@ -1,18 +1,22 @@ --- title: "none" -linkTitle: "none" weight: 3 -date: 2017-01-05 -date: 2018-08-05 description: > Linux none (bare-metal) driver +aliases: + - /docs/reference/drivers/none --- ## Overview -This document is written for system integrators who are familiar with minikube, and wish to run it within a customized VM environment. The `none` driver allows advanced minikube users to skip VM creation, allowing minikube to be run on a user-supplied VM. +{{% pageinfo %}} +Most users of this driver should consider the newer [Docker driver]({{< ref "docker.md" >}}), as it is +significantly easier to configure and does not require root access. The 'none' driver is recommended for advanced users only. +{{% /pageinfo %}} -{{% readfile file="/docs/Reference/Drivers/includes/none_usage.inc" %}} +This document is written for system integrators who wish to run minikube within a customized VM environment. The `none` driver allows advanced minikube users to skip VM creation, allowing minikube to be run on a user-supplied VM. + +{{% readfile file="/docs/drivers/includes/none_usage.inc" %}} ## Issues diff --git a/site/content/en/docs/Reference/Drivers/parallels.md b/site/content/en/docs/drivers/parallels.md similarity index 71% rename from site/content/en/docs/Reference/Drivers/parallels.md rename to site/content/en/docs/drivers/parallels.md index 8bcfbb0222..6498a913a1 100644 --- a/site/content/en/docs/Reference/Drivers/parallels.md +++ b/site/content/en/docs/drivers/parallels.md @@ -1,17 +1,15 @@ --- title: "parallels" -linkTitle: "parallels" weight: 4 -date: 2018-08-08 -description: > - Parallels driver +aliases: + - /docs/reference/drivers/parallels --- ## Overview The Parallels driver is particularly useful for users who own Parallels Desktop, as it does not require VT-x hardware support. -{{% readfile file="/docs/Reference/Drivers/includes/parallels_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/parallels_usage.inc" %}} ## Issues diff --git a/site/content/en/docs/drivers/podman.md b/site/content/en/docs/drivers/podman.md new file mode 100644 index 0000000000..93854fa899 --- /dev/null +++ b/site/content/en/docs/drivers/podman.md @@ -0,0 +1,22 @@ +--- +title: "podman" +weight: 3 +aliases: + - /docs/reference/drivers/podman +--- + +## Overview + +{{% pageinfo %}} +This driver is experimental and in active development. Help wanted! +{{% /pageinfo %}} + +The podman driver is another kubernetes in container driver for minikube. similar to [docker](https://minikube.sigs.k8s.io/Drivers/docker/) driver. The podman driver is experimental, and only supported on Linux and macOS (with a remote podman server) + +## Try it with CRI-O container runtime. + +```shell +minikube start --driver=podman --container-runtime=cri-o +``` + +{{% readfile file="/docs/drivers/includes/podman_usage.inc" %}} diff --git a/site/content/en/docs/Reference/Drivers/virtualbox.md b/site/content/en/docs/drivers/virtualbox.md similarity index 64% rename from site/content/en/docs/Reference/Drivers/virtualbox.md rename to site/content/en/docs/drivers/virtualbox.md index f979ad499e..b9158788ad 100644 --- a/site/content/en/docs/Reference/Drivers/virtualbox.md +++ b/site/content/en/docs/drivers/virtualbox.md @@ -1,17 +1,15 @@ --- title: "virtualbox" -linkTitle: "virtualbox" weight: 5 -date: 2018-08-08 -description: > - VirtualBox driver +aliases: + - /docs/reference/drivers/virtualbox --- ## Overview -VirtualBox is the oldest and most stable VM driver for minikube. +VirtualBox is minikube's original driver. It may not provide the fastest start-up time, but it is the most stable driver available for users of Microsoft Windows Home. -{{% readfile file="/docs/Reference/Drivers/includes/virtualbox_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/virtualbox_usage.inc" %}} ## Special features diff --git a/site/content/en/docs/Reference/Drivers/vmware.md b/site/content/en/docs/drivers/vmware.md similarity index 78% rename from site/content/en/docs/Reference/Drivers/vmware.md rename to site/content/en/docs/drivers/vmware.md index cd355144aa..89403bd4b3 100644 --- a/site/content/en/docs/Reference/Drivers/vmware.md +++ b/site/content/en/docs/drivers/vmware.md @@ -1,10 +1,8 @@ --- title: "vmware" -linkTitle: "vmware" weight: 6 -date: 2018-08-08 -description: > - VMware driver +aliases: + - /docs/reference/drivers/vmware --- ## Overview @@ -13,7 +11,7 @@ The vmware driver supports virtualization across all VMware based hypervisors. {{% tabs %}} {{% tab "macOS" %}} -{{% readfile file="/docs/Reference/Drivers/includes/vmware_macos_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/vmware_macos_usage.inc" %}} {{% /tab %}} {{% tab "Linux" %}} No documentation is available yet. diff --git a/site/content/en/docs/faq/_index.md b/site/content/en/docs/faq/_index.md new file mode 100644 index 0000000000..321bff9bae --- /dev/null +++ b/site/content/en/docs/faq/_index.md @@ -0,0 +1,19 @@ +--- +title: "FAQ" +linkTitle: "FAQ" +weight: 3 +description: > + Questions that come up regularly +--- + +## Operating-systems + +## Linux + +### Preventing password prompts + +The easiest approach is to use the `docker` driver, as the backend service always runs as `root`. + +`none` users may want to try `CHANGE_MINIKUBE_NONE_USER=true`, where kubectl and such will still work: [see environment variables](https://minikube.sigs.k8s.io/reference/environment_variables/) + +Alternatively, configure `sudo` to never prompt for the commands issued by minikube. diff --git a/site/content/en/featured-background.jpg b/site/content/en/docs/featured-background.jpg similarity index 100% rename from site/content/en/featured-background.jpg rename to site/content/en/docs/featured-background.jpg diff --git a/site/content/en/docs/handbook/_index.md b/site/content/en/docs/handbook/_index.md new file mode 100644 index 0000000000..d73d6c2a8c --- /dev/null +++ b/site/content/en/docs/handbook/_index.md @@ -0,0 +1,8 @@ +--- +title: "Handbook" +weight: 2 +description: > + How to perform common tasks with minikube +aliases: + - /docs/start/examples/ +--- diff --git a/site/content/en/docs/Tasks/loadbalancer.md b/site/content/en/docs/handbook/accessing.md similarity index 64% rename from site/content/en/docs/Tasks/loadbalancer.md rename to site/content/en/docs/handbook/accessing.md index 4ec2f0f06d..5df12ed3df 100644 --- a/site/content/en/docs/Tasks/loadbalancer.md +++ b/site/content/en/docs/handbook/accessing.md @@ -1,13 +1,47 @@ --- -title: "LoadBalancer access" -linkTitle: "LoadBalancer access" -weight: 6 -date: 2018-08-02 +title: "Accessing apps" +weight: 3 description: > - How to access a LoadBalancer service in minikube + How to access applications running within minikube +aliases: + - /docs/tasks/loadbalancer + - /docs/tasks/nodeport --- -## Overview +There are two major categories of services in Kubernetes: + +* NodePort +* LoadBalancer + +minikube supports either. Read on! + +## NodePort access + +A NodePort service is the most basic way to get external traffic directly to your service. NodePort, as the name implies, opens a specific port, and any traffic that is sent to this port is forwarded to the service. + +### Getting the NodePort using the service command + +We also have a shortcut for fetching the minikube IP and a service's `NodePort`: + +`minikube service --url $SERVICE` + +## Getting the NodePort using kubectl + +The minikube VM is exposed to the host system via a host-only IP address, that can be obtained with the `minikube ip` command. Any services of type `NodePort` can be accessed over that IP address, on the NodePort. + +To determine the NodePort for your service, you can use a `kubectl` command like this (note that `nodePort` begins with lowercase `n` in JSON output): + +`kubectl get service $SERVICE --output='jsonpath="{.spec.ports[0].nodePort}"'` + +### Increasing the NodePort range + +By default, minikube only exposes ports 30000-32767. If this does not work for you, you can adjust the range by using: + +`minikube start --extra-config=apiserver.service-node-port-range=1-65535` + +This flag also accepts a comma separated list of ports and port ranges. + +## LoadBalancer access A LoadBalancer service is the standard way to expose a service to the internet. With this method, each service gets its own IP address. diff --git a/site/content/en/docs/handbook/config.md b/site/content/en/docs/handbook/config.md new file mode 100644 index 0000000000..34b83cb5b7 --- /dev/null +++ b/site/content/en/docs/handbook/config.md @@ -0,0 +1,138 @@ +--- +title: "Configuration" +weight: 4 +description: > + Configuring your cluster +--- + +## Basic Configuration + +Most minikube configuration is done via the flags interface. To see which flags are possible for the start command, run: + +```shell +minikube start --help +``` + +## Persistent Configuration + +minikube allows users to persistently store new default values to be used across all profiles, using the `minikube config` command. This is done providing a property name, and a property value. + +### Listing config properties + +```shell +minikube config +``` + +For example, to persistently configure minikube to use hyperkit: + +```shell +minikube config set driver hyperkit +``` + +## Kubernetes configuration + +minikube allows users to configure the Kubernetes components with arbitrary values. To use this feature, you can use the `--extra-config` flag on the `minikube start` command. + +This flag is repeated, so you can pass it several times with several different values to set multiple options. + +### Selecting a Kubernetes version + +By default, minikube installs the latest stable version of Kubernetes that was available at the time of the minikube release. You may select a different Kubernetes release by using the `--kubernetes-version` flag, for example: + +`minikube start --kubernetes-version=v1.11.10` + +If you omit this flag, minikube will upgrade your cluster to the default version. If you would like to pin to a specific Kubernetes version across clusters, restarts, and upgrades to minikube, use: + +`minikube config set kubernetes-version v1.11.0` + +minikube follows the [Kubernetes Version and Version Skew Support Policy](https://kubernetes.io/docs/setup/version-skew-policy/), so we guarantee support for the latest build for the last 3 minor Kubernetes releases. When practical, minikube aims for the last 6 minor releases so that users can emulate legacy environments. + +As of September 2019, this means that minikube supports and actively tests against the latest builds of: + +* v1.16 (default) +* v1.15 +* v1.14 +* v1.13 +* v1.12 +* v1.11 (best effort) + +For more up to date information, see `OldestKubernetesVersion` and `NewestKubernetesVersion` in [constants.go](https://github.com/kubernetes/minikube/blob/master/pkg/minikube/constants/constants.go) + +### Enabling feature gates + +Kubernetes alpha/experimental features can be enabled or disabled by the `--feature-gates` flag on the `minikube start` command. It takes a string of the form `key=value` where key is the `component` name and value is the `status` of it. + +```shell +minikube start --feature-gates=EphemeralContainers=true +``` + +### Modifying Kubernetes defaults + +The kubeadm bootstrapper can be configured by the `--extra-config` flag on the `minikube start` command. It takes a string of the form `component.key=value` where `component` is one of the strings + +* kubeadm +* kubelet +* apiserver +* controller-manager +* scheduler + +and `key=value` is a flag=value pair for the component being configured. For example, + +```shell +minikube start --extra-config=apiserver.v=10 --extra-config=kubelet.max-pods=100 +``` + +For instance, to allow Kubernetes to launch on an unsupported Docker release: + +```shell +minikube start --extra-config=kubeadm.ignore-preflight-errors=SystemVerification +``` + +## Runtime configuration + +The default container runtime in minikube is Docker. You can select it explicitly by using: + +```shell +minikube start --container-runtime=docker +``` + +You can also select: + +* *[containerd](https://github.com/containerd/containerd): +* `cri-o`: [CRI-O](https://github.com/kubernetes-sigs/cri-o): + +## Environment variables + +minikube supports passing environment variables instead of flags for every value listed in `minikube config`. This is done by passing an environment variable with the prefix `MINIKUBE_`. + +For example the `minikube start --iso-url="$ISO_URL"` flag can also be set by setting the `MINIKUBE_ISO_URL="$ISO_URL"` environment variable. + +### Exclusive environment tunings + +Some features can only be accessed by minikube specific environment variables, here is a list of these features: + +* **MINIKUBE_HOME** - (string) sets the path for the .minikube directory that minikube uses for state/configuration. *Please note: this is used only by minikube and does not affect anything related to Kubernetes tools such as kubectl.* + +* **MINIKUBE_IN_STYLE** - (bool) manually sets whether or not emoji and colors should appear in minikube. Set to false or 0 to disable this feature, true or 1 to force it to be turned on. + +* **MINIKUBE_WANTUPDATENOTIFICATION** - (bool) sets whether the user wants an update notification for new minikube versions + +* **MINIKUBE_REMINDERWAITPERIODINHOURS** - (int) sets the number of hours to check for an update notification + +* **CHANGE_MINIKUBE_NONE_USER** - (bool) automatically change ownership of ~/.minikube to the value of $SUDO_USER + +* **MINIKUBE_ENABLE_PROFILING** - (int, `1` enables it) enables trace profiling to be generated for minikube + +### Example: Disabling emoji + +```shell +export MINIKUBE_IN_STYLE=false +minikube start +``` + +### Making environment values persistent + +To make the exported variables persistent across reboots: + +* Linux and macOS: Add these declarations to `~/.bashrc` or wherever your shells environment variables are stored. +* Windows: Add these declarations via [system settings](https://support.microsoft.com/en-au/help/310519/how-to-manage-environment-variables-in-windows-xp) or using [setx](https://stackoverflow.com/questions/5898131/set-a-persistent-environment-variable-from-cmd-exe) diff --git a/site/content/en/docs/Examples/_index.md b/site/content/en/docs/handbook/controls.md similarity index 93% rename from site/content/en/docs/Examples/_index.md rename to site/content/en/docs/handbook/controls.md index 6aaeb7c36e..537f2478c6 100755 --- a/site/content/en/docs/Examples/_index.md +++ b/site/content/en/docs/handbook/controls.md @@ -1,9 +1,7 @@ --- -title: "Examples" -linkTitle: "Examples" -weight: 3 -date: 2017-01-05 +title: "Basic controls" +weight: 2 description: > See minikube in action! --- diff --git a/site/content/en/docs/Tasks/dashboard.md b/site/content/en/docs/handbook/dashboard.md similarity index 90% rename from site/content/en/docs/Tasks/dashboard.md rename to site/content/en/docs/handbook/dashboard.md index 3fec853830..b0dd904408 100644 --- a/site/content/en/docs/Tasks/dashboard.md +++ b/site/content/en/docs/handbook/dashboard.md @@ -1,9 +1,10 @@ --- title: "Dashboard" -date: 2019-07-31 -weight: 1 +weight: 4 description: > - Using the Kubernetes Dashboard + Dashboard +aliases: + - /docs/tasks/dashboard/ --- minikube has integrated support for the [Kubernetes Dashboard UI](https://github.com/kubernetes/dashboard). @@ -46,4 +47,4 @@ minikube dashboard --url ## Reference -For additional information, see [the official Dashboard documentation](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/). +For additional information, see [the official Dashboard documentation](https://kubernetes.io/docs/Handbook/access-application-cluster/web-ui-dashboard/). diff --git a/site/content/en/docs/handbook/deploying.md b/site/content/en/docs/handbook/deploying.md new file mode 100644 index 0000000000..209d12b1a9 --- /dev/null +++ b/site/content/en/docs/handbook/deploying.md @@ -0,0 +1,48 @@ +--- +title: "Deploying apps" +weight: 2 +description: > + How to deploy an application to minikube +aliases: + - /docs/tasks/addons +--- + +## kubectl + +``` +kubectl create deployment hello-minikube1 --image=k8s.gcr.io/echoserver:1.4 +kubectl expose deployment hello-minikube1 --type=LoadBalancer --port=8080 +``` + +## Addons + +minikube has a built-in list of applications and services that may be easily deployed, such as Istio or Ingress. To list the available addons for your version of minikube: + + +```shell +minikube addons list +``` + +To enable an add-on, see: +```shell +minikube addons enable +``` + +To enable an addon at start-up: + +```shell +minikube start --addons +``` + +For addons that expose a browser endpoint, you can quickly open them with: + +```shell +minikube addons open +``` + +To disable an addon: + + +```shell +minikube addons disable +``` diff --git a/site/content/en/docs/Tasks/sync.md b/site/content/en/docs/handbook/filesync.md similarity index 96% rename from site/content/en/docs/Tasks/sync.md rename to site/content/en/docs/handbook/filesync.md index fb39f5dc87..bfa1551349 100644 --- a/site/content/en/docs/Tasks/sync.md +++ b/site/content/en/docs/handbook/filesync.md @@ -1,10 +1,10 @@ --- title: "File Sync" -linkTitle: "File Sync" -weight: 6 -date: 2019-08-01 +weight: 12 description: > How to sync files into minikube +aliases: + - /docs/tasks/sync/ --- ## Built-in sync diff --git a/site/content/en/docs/Tasks/accessing-host-resources.md b/site/content/en/docs/handbook/host-access.md similarity index 92% rename from site/content/en/docs/Tasks/accessing-host-resources.md rename to site/content/en/docs/handbook/host-access.md index 421eb0afb5..da419d0c94 100644 --- a/site/content/en/docs/Tasks/accessing-host-resources.md +++ b/site/content/en/docs/handbook/host-access.md @@ -1,9 +1,11 @@ --- -title: "Accessing host resources" +title: "Host access" date: 2017-01-05 -weight: 2 +weight: 9 description: > How to access host resources from a pod +aliases: + - docs/tasks/accessing-host-resources/ --- {{% pageinfo %}} diff --git a/site/content/en/docs/Tasks/mount.md b/site/content/en/docs/handbook/mount.md similarity index 94% rename from site/content/en/docs/Tasks/mount.md rename to site/content/en/docs/handbook/mount.md index d7b19f05c4..40033f5bcd 100644 --- a/site/content/en/docs/Tasks/mount.md +++ b/site/content/en/docs/handbook/mount.md @@ -1,9 +1,11 @@ --- -title: "Filesystem mounts" +title: "Mounting filesystems" date: 2017-01-05 -weight: 4 +weight: 11 description: > How to mount a host directory into the VM +aliases: + - /docs/tasks/mount --- ## 9P Mounts @@ -78,4 +80,4 @@ These mounts can be disabled by passing `--disable-driver-mounts` to `minikube s ## File Sync -See [File Sync]({{}}) +See [File Sync]({{}}) diff --git a/site/content/en/docs/Reference/disk_cache.md b/site/content/en/docs/handbook/offline.md similarity index 91% rename from site/content/en/docs/Reference/disk_cache.md rename to site/content/en/docs/handbook/offline.md index 24590727d5..d9238520fb 100644 --- a/site/content/en/docs/Reference/disk_cache.md +++ b/site/content/en/docs/handbook/offline.md @@ -1,7 +1,7 @@ --- -title: "Disk cache" -linkTitle: "Disk cache" -weight: 6 +title: "Offline usage" +linkTitle: "Offline usage" +weight: 8 date: 2019-08-01 description: > Cache Rules Everything Around minikube @@ -16,12 +16,10 @@ minikube has built-in support for caching downloaded resources into `$MINIKUBE_H ## Kubernetes image cache +NOTE: the `none` driver caches images directly into Docker rather than a separate disk cache. + `minikube start` caches all required Kubernetes images by default. This default may be changed by setting `--cache-images=false`. These images are not displayed by the `minikube cache` command. -## Arbitrary docker image cache - -See [Tasks: Caching images]({{< ref "/docs/tasks/caching.md" >}}) - ## Sharing the minikube cache For offline use on other hosts, one can copy the contents of `~/.minikube/cache`. As of the v1.0 release, this directory contains 685MB of data: diff --git a/site/content/en/docs/Reference/persistent_volumes.md b/site/content/en/docs/handbook/persistent_volumes.md similarity index 99% rename from site/content/en/docs/Reference/persistent_volumes.md rename to site/content/en/docs/handbook/persistent_volumes.md index 02e90bc703..0da5465b7b 100644 --- a/site/content/en/docs/Reference/persistent_volumes.md +++ b/site/content/en/docs/handbook/persistent_volumes.md @@ -1,7 +1,7 @@ --- title: "Persistent Volumes" linkTitle: "Persistent Volumes" -weight: 6 +weight: 10 date: 2019-08-01 description: > About persistent volumes (hostPath) diff --git a/site/content/en/docs/handbook/pushing.md b/site/content/en/docs/handbook/pushing.md new file mode 100644 index 0000000000..64f385e7f5 --- /dev/null +++ b/site/content/en/docs/handbook/pushing.md @@ -0,0 +1,120 @@ +--- +title: "Pushing images" +weight: 5 +description: > + There are many ways to push images into minikube. +aliases: + - /docs/tasks/building + - /docs/tasks/caching + - /docs/tasks/podman_service + - /docs/tasks/docker_daemon +--- + +## Cached Images + +From the host, you can push a Docker image directly to minikube. It will also be cached for future cluster starts. + +```shell +minikube cache add ubuntu:16.04 +``` + +The add command will store the requested image to `$MINIKUBE_HOME/cache/images`, and load it into the VM's container runtime environment next time `minikube start` is called. + +To display images you have added to the cache: + +```shell +minikube cache list +``` + +This listing will not include the images which are built-in to minikube. + + +```shell +minikube cache delete +``` + +For more information, see: + +* [Reference: cache command]({{< ref "/docs/commands/cache.md" >}}) + +You must be using minikube with the container runtime set to Docker. This is the default setting. + +## Pushing directly to the in-cluster Docker daemon + +When using a single VM of Kubernetes it's really handy to reuse the Docker daemon inside the VM; as this means you don't have to build on your host machine and push the image into a docker registry - you can just build inside the same docker daemon as minikube which speeds up local experiments. + +To be able to work with the docker daemon on your mac/linux host use the docker-env command in your shell: + +```shell +eval $(minikube docker-env) +``` + +You should now be able to use docker on the command line on your host mac/linux machine talking to the docker daemon inside the minikube VM: + +```shell +docker ps +``` + +Remember to turn off the `imagePullPolicy:Always` (use `imagePullPolicy:IfNotPresent` or `imagePullPolicy:Never`), as otherwise Kubernetes won't use images you built locally. + + +## Pushing directly to in-cluster CRIO + +To push directly to CRIO, configure podman client on your mac/linux host using the podman-env command in your shell: + +```shell +eval $(minikube podman-env) +``` + +You should now be able to use podman on the command line on your host mac/linux machine talking to the podman service inside the minikube VM: + +```shell +podman-remote help +``` + +Remember to turn off the `imagePullPolicy:Always` (use `imagePullPolicy:IfNotPresent` or `imagePullPolicy:Never`), as otherwise Kubernetes won't use images you built locally. + +## Pushing to an in-cluster Registry + +For illustration purpose, we will assume that minikube VM has one of the ip from `192.168.39.0/24` subnet. If you have not overridden these subnets as per [networking guide](https://minikube.sigs.k8s.io/reference/networking/), you can find out default subnet being used by minikube for a specific OS and driver combination [here](https://github.com/kubernetes/minikube/blob/dfd9b6b83d0ca2eeab55588a16032688bc26c348/pkg/minikube/cluster/cluster.go#L408) which is subject to change. Replace `192.168.39.0/24` with appropriate values for your environment wherever applicable. + +Ensure that docker is configured to use `192.168.39.0/24` as insecure registry. Refer [here](https://docs.docker.com/registry/insecure/) for instructions. + +Ensure that `192.168.39.0/24` is enabled as insecure registry in minikube. Refer [here](https://minikube.sigs.k8s.io/Handbook/registry/insecure/) for instructions.. + +Enable minikube registry addon: + +```shell +minikube addons enable registry +``` + +Build docker image and tag it appropriately: + +```shell +docker build --tag $(minikube ip):5000/test-img . +``` + +Push docker image to minikube registry: + +```shell +docker push $(minikube ip):5000/test-img +``` + +## Building images inside of minikube + +Use `minikube ssh` to connect to the virtual machine, and run the `docker build` there: + +```shell +docker build +``` + +For more information on the `docker build` command, read the [Docker documentation](https://docs.docker.com/engine/reference/commandline/build/) (docker.com). + +For Podman, use: + +```shell +sudo -E podman build +``` + +For more information on the `podman build` command, read the [Podman documentation](https://github.com/containers/libpod/blob/master/docs/source/markdown/podman-build.1.md) (podman.io). + diff --git a/site/content/en/docs/Tasks/Registry/insecure.md b/site/content/en/docs/handbook/registry.md similarity index 65% rename from site/content/en/docs/Tasks/Registry/insecure.md rename to site/content/en/docs/handbook/registry.md index e3f1116014..5d6d8d8385 100644 --- a/site/content/en/docs/Tasks/Registry/insecure.md +++ b/site/content/en/docs/handbook/registry.md @@ -1,12 +1,40 @@ --- -title: "Insecure" -linkTitle: "Insecure" +title: "Registries" +linkTitle: "Registries" weight: 6 -date: 2019-08-1 description: > - How to enable insecure registry support within minikube + How to interact with registries +aliases: + - /docs/tasks/registry + - /docs/tasks/docker_registry + - /docs/tasks/registry/private + - /docs/tasks/registry/insecure --- +## Using a Private Registry + +**GCR/ECR/ACR/Docker**: minikube has an addon, `registry-creds` which maps credentials into minikube to support pulling from Google Container Registry (GCR), Amazon's EC2 Container Registry (ECR), Azure Container Registry (ACR), and Private Docker registries. You will need to run `minikube addons configure registry-creds` and `minikube addons enable registry-creds` to get up and running. An example of this is below: + +```shell +$ minikube addons configure registry-creds +Do you want to enable AWS Elastic Container Registry? [y/n]: n + +Do you want to enable Google Container Registry? [y/n]: y +-- Enter path to credentials (e.g. /home/user/.config/gcloud/application_default_credentials.json):/home/user/.config/gcloud/application_default_credentials.json + +Do you want to enable Docker Registry? [y/n]: n + +Do you want to enable Azure Container Registry? [y/n]: n +registry-creds was successfully configured +$ minikube addons enable registry-creds +``` + +For additional information on private container registries, see [this page](https://kubernetes.io/docs/Handbook/configure-pod-container/pull-image-private-registry/). + +We recommend you use _ImagePullSecrets_, but if you would like to configure access on the minikube VM you can place the `.dockercfg` in the `/home/docker` directory or the `config.json` in the `/var/lib/kubelet` directory. Make sure to restart your kubelet (for kubeadm) process with `sudo systemctl restart kubelet`. + +## Enabling Insecure Registries + minikube allows users to configure the docker engine's `--insecure-registry` flag. You can use the `--insecure-registry` flag on the @@ -78,3 +106,5 @@ docker push localhost:5000/myimage ``` After the image is pushed, refer to it by `localhost:5000/{name}` in kubectl specs. + +## \ No newline at end of file diff --git a/site/content/en/docs/Tasks/debug.md b/site/content/en/docs/handbook/troubleshooting.md similarity index 95% rename from site/content/en/docs/Tasks/debug.md rename to site/content/en/docs/handbook/troubleshooting.md index bab4de45c7..b4606f0116 100644 --- a/site/content/en/docs/Tasks/debug.md +++ b/site/content/en/docs/handbook/troubleshooting.md @@ -1,10 +1,10 @@ --- -title: "Debugging" -linkTitle: "Debugging" -weight: 9 +title: "Troubleshooting" +linkTitle: "Troubleshoot" +weight: 20 date: 2019-08-01 description: > - How to debug issues within minikube + How to troubleshoot minikube issues --- ## Enabling debug logs diff --git a/site/content/en/docs/handbook/uninstalling_minikube.md b/site/content/en/docs/handbook/uninstalling_minikube.md new file mode 100644 index 0000000000..b01809f513 --- /dev/null +++ b/site/content/en/docs/handbook/uninstalling_minikube.md @@ -0,0 +1,45 @@ +--- +title: "Uninstall" +linkTitle: "Uninstall" +weight: 99 +draft: true +date: 2019-08-18 +description: > + Reference on uninstalling minikube +--- + +NOTE: To be moved to the FAQ + +## Chocolatey + +- Open a command prompt with Administrator privileges. +- Run `minikube delete --purge --all` +- Run, `choco uninstall minikube` to remove the minikube package from your system. + +## Windows Installer + +- Open a command prompt with Administrator privileges. +- Run `minikube delete --purge --all` +- Open the Run dialog box (**Win+R**), type in `appwiz.cpl` and hit **Enter** key. +- In there, find an entry for the Minikube installer, right click on it & click on **Uninstall**. + +## Binary/Direct + +- Open a command prompt with Administrator privileges. +- Run `minikube delete --purge --all` +- Delete the minikube binary. + +## Debian/Ubuntu (Deb) + +- Run `minikube delete --purge --all` +- Run `sudo dpkg -P minikube` + +## Fedora/Red Hat (RPM) + +- Run `minikube delete --purge --all` +- Run `sudo rpm -e minikube` + +## Brew + +- Run `minikube delete --purge --all` +- Run `brew uninstall minikube` diff --git a/site/content/en/docs/handbook/untrusted_certs.md b/site/content/en/docs/handbook/untrusted_certs.md new file mode 100644 index 0000000000..049f9075d7 --- /dev/null +++ b/site/content/en/docs/handbook/untrusted_certs.md @@ -0,0 +1,35 @@ +--- +title: "Certificates" +weight: 7 +date: 2019-08-15 +description: > + All about TLS certificates +--- + +## Untrusted Root Certificates + +Many organizations deploy their own Root Certificate and CA service inside the corporate networks. +Internal websites, image repositories and other resources may install SSL server certificates issued by this CA service for security and privacy concerns. + +You may install the Root Certificate into the minikube cluster to access these corporate resources within the cluster. + +### Tutorial + +You will need a corporate X.509 Root Certificate in PEM format. If it's in DER format, convert it: + +``` +openssl x509 -inform der -in my_company.cer -out my_company.pem +``` + +Copy the certificate into the certs directory: + +```shell +mkdir -p $HOME/.minikube/certs +cp my_company.pem $HOME/.minikube/certs/my_company.pem +``` + +Then restart minikube to sync the certificates: + +```shell +minikube start +``` diff --git a/site/content/en/docs/Reference/Networking/proxy.md b/site/content/en/docs/handbook/vpn_and_proxy.md similarity index 71% rename from site/content/en/docs/Reference/Networking/proxy.md rename to site/content/en/docs/handbook/vpn_and_proxy.md index e82fece322..08c8e1c5ff 100644 --- a/site/content/en/docs/Reference/Networking/proxy.md +++ b/site/content/en/docs/handbook/vpn_and_proxy.md @@ -1,13 +1,15 @@ --- -title: "HTTP Proxies" -linkTitle: "HTTP Proxies" +title: "Proxies & VPN's" weight: 6 -date: 2017-01-05 description: > - How to use an HTTP/HTTPS proxy with minikube + How to use minikube with a VPN or HTTP/HTTPS Proxy --- -minikube requires access to the internet via HTTP, HTTPS, and DNS protocols. If a HTTP proxy is required to access the internet, you may need to pass the proxy connection information to both minikube and Docker using environment variables: +minikube requires access to the internet via HTTP, HTTPS, and DNS protocols. + +## Proxy + +If a HTTP proxy is required to access the internet, you may need to pass the proxy connection information to both minikube and Docker using environment variables: * `HTTP_PROXY` - The URL to your HTTP proxy * `HTTPS_PROXY` - The URL to your HTTPS proxy @@ -47,20 +49,9 @@ minikube start To set these environment variables permanently, consider adding these to your [system settings](https://support.microsoft.com/en-au/help/310519/how-to-manage-environment-variables-in-windows-xp) or using [setx](https://stackoverflow.com/questions/5898131/set-a-persistent-environment-variable-from-cmd-exe) -## Configuring Docker to use a proxy +### Troubleshooting -As of v1.0, minikube automatically configures the Docker instance inside of the VM to use the proxy environment variables, unless you have specified a `--docker-env` override. If you need to manually configure Docker for a set of proxies, use: - -```shell -minikube start \ - --docker-env=HTTP_PROXY=$HTTP_PROXY \ - --docker-env HTTPS_PROXY=$HTTPS_PROXY \ - --docker-env NO_PROXY=$NO_PROXY -``` - -## Troubleshooting - -### unable to cache ISO... connection refused +#### unable to cache ISO... connection refused ```text Unable to start VM: unable to cache ISO: https://storage.googleapis.com/minikube/iso/minikube.iso: @@ -72,7 +63,7 @@ proxyconnect tcp: dial tcp :: connect: connection refused This error indicates that the host:port combination defined by HTTPS_PROXY or HTTP_PROXY is incorrect, or that the proxy is unavailable. -## Unable to pull images..Client.Timeout exceeded while awaiting headers +#### Unable to pull images..Client.Timeout exceeded while awaiting headers ```text Unable to pull images, which may be OK: @@ -84,7 +75,7 @@ Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connect This error indicates that the container runtime running within the VM does not have access to the internet. Verify that you are passing the appropriate value to `--docker-env HTTPS_PROXY`. -## x509: certificate signed by unknown authority +#### x509: certificate signed by unknown authority ```text [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.13.3: @@ -100,10 +91,23 @@ Ask your IT department for the appropriate PEM file, and add it to: Then run `minikube delete` and `minikube start`. -## downloading binaries: proxyconnect tcp: tls: oversized record received with length 20527 +#### downloading binaries: proxyconnect tcp: tls: oversized record received with length 20527 The supplied value of `HTTPS_PROXY` is probably incorrect. Verify that this value is not pointing to an HTTP proxy rather than an HTTPS proxy. -## Additional Information +## VPN -* [Configure Docker to use a proxy server](https://docs.docker.com/network/proxy/) +minikube requires access from the host to the following IP ranges: + +* **192.168.99.0/24**: Used by the minikube VM. Configurable for some hypervisors via `--host-only-cidr` +* **192.168.39.0/24**: Used by the minikube kvm2 driver. +* **10.96.0.0/12**: Used by service cluster IP's. Configurable via `--service-cluster-ip-range` + +Unfortunately, many VPN configurations route packets to these destinations through an encrypted tunnel, rather than allowing the packets to go to the minikube VM. + +### Possible workarounds + +1. If you have access, whitelist the above IP ranges in your VPN software +2. In your VPN software, select an option similar to "Allow local (LAN) access when using VPN" [(Cisco VPN example)](https://superuser.com/questions/987150/virtualbox-guest-os-through-vpn) +3. You may have luck selecting alternate values to the `--host-only-cidr` and `--service-cluster-ip-range` flags. +4. Turn off the VPN diff --git a/site/content/en/logo.png b/site/content/en/docs/logo.png similarity index 100% rename from site/content/en/logo.png rename to site/content/en/docs/logo.png diff --git a/site/content/en/start.png b/site/content/en/docs/start.png similarity index 100% rename from site/content/en/start.png rename to site/content/en/docs/start.png diff --git a/site/content/en/docs/start/_index.md b/site/content/en/docs/start/_index.md new file mode 100644 index 0000000000..6d58d2df6d --- /dev/null +++ b/site/content/en/docs/start/_index.md @@ -0,0 +1,8 @@ +--- +title: "Get Started!" +weight: 1 +description: > + How to install minikube +aliases: + - /docs/start +--- diff --git a/site/content/en/docs/Start/includes/post_install.inc b/site/content/en/docs/start/includes/post_install.inc similarity index 100% rename from site/content/en/docs/Start/includes/post_install.inc rename to site/content/en/docs/start/includes/post_install.inc diff --git a/site/content/en/docs/Start/linux.md b/site/content/en/docs/start/linux.md similarity index 66% rename from site/content/en/docs/Start/linux.md rename to site/content/en/docs/start/linux.md index 1e4fd4a9b1..d4036af85c 100644 --- a/site/content/en/docs/Start/linux.md +++ b/site/content/en/docs/start/linux.md @@ -2,6 +2,8 @@ title: "Linux" linkTitle: "Linux" weight: 1 +aliases: + - /docs/start/linux/ --- ## Installation @@ -44,34 +46,34 @@ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-{{< la {{% tabs %}} {{% tab "Docker" %}} ## Check container support -{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/docker_usage.inc" %}} {{% /tab %}} {{% tab "KVM" %}} ## Check virtualization support -{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_linux.inc" %}} +{{% readfile file="/docs/drivers/includes/check_virtualization_linux.inc" %}} -{{% readfile file="/docs/Reference/Drivers/includes/kvm2_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/kvm2_usage.inc" %}} {{% /tab %}} {{% tab "VirtualBox" %}} ## Check virtualization support -{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_linux.inc" %}} +{{% readfile file="/docs/drivers/includes/check_virtualization_linux.inc" %}} -{{% readfile file="/docs/Reference/Drivers/includes/virtualbox_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/virtualbox_usage.inc" %}} {{% /tab %}} {{% tab "None (bare-metal)" %}} ## Check baremetal support -{{% readfile file="/docs/Reference/Drivers/includes/check_baremetal_linux.inc" %}} +{{% readfile file="/docs/drivers/includes/check_baremetal_linux.inc" %}} If you are already running minikube from inside a VM, it is possible to skip the creation of an additional VM layer by using the `none` driver. -{{% readfile file="/docs/Reference/Drivers/includes/none_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/none_usage.inc" %}} {{% /tab %}} {{% tab "Podman (experimental)" %}} -{{% readfile file="/docs/Reference/Drivers/includes/podman_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/podman_usage.inc" %}} {{% /tab %}} {{% /tabs %}} -{{% readfile file="/docs/Start/includes/post_install.inc" %}} +{{% readfile file="/docs/start/includes/post_install.inc" %}} diff --git a/site/content/en/docs/Start/macos.md b/site/content/en/docs/start/macos.md similarity index 68% rename from site/content/en/docs/Start/macos.md rename to site/content/en/docs/start/macos.md index b23a81cf13..5350cbe2d0 100644 --- a/site/content/en/docs/Start/macos.md +++ b/site/content/en/docs/start/macos.md @@ -2,6 +2,8 @@ title: "macOS" linkTitle: "macOS" weight: 2 +aliases: + - /docs/start/macos/ --- ### Prerequisites @@ -51,24 +53,24 @@ brew upgrade minikube {{% tabs %}} {{% tab "Docker" %}} -{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/docker_usage.inc" %}} {{% /tab %}} {{% tab "Hyperkit" %}} -{{% readfile file="/docs/Reference/Drivers/includes/hyperkit_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/hyperkit_usage.inc" %}} {{% /tab %}} {{% tab "VirtualBox" %}} -{{% readfile file="/docs/Reference/Drivers/includes/virtualbox_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/virtualbox_usage.inc" %}} {{% /tab %}} {{% tab "Parallels" %}} -{{% readfile file="/docs/Reference/Drivers/includes/parallels_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/parallels_usage.inc" %}} {{% /tab %}} {{% tab "VMware" %}} -{{% readfile file="/docs/Reference/Drivers/includes/vmware_macos_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/vmware_macos_usage.inc" %}} {{% /tab %}} {{% tab "Podman (experimental)" %}} -{{% readfile file="/docs/Reference/Drivers/includes/podman_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/podman_usage.inc" %}} {{% /tab %}} {{% /tabs %}} -{{% readfile file="/docs/Start/includes/post_install.inc" %}} +{{% readfile file="/docs/start/includes/post_install.inc" %}} diff --git a/site/content/en/docs/Start/windows.md b/site/content/en/docs/start/windows.md similarity index 61% rename from site/content/en/docs/Start/windows.md rename to site/content/en/docs/start/windows.md index 2fe1d79a5f..7e31831846 100644 --- a/site/content/en/docs/Start/windows.md +++ b/site/content/en/docs/start/windows.md @@ -2,6 +2,8 @@ title: "Windows" linkTitle: "Windows" weight: 3 +aliases: + - /docs/start/windows/ --- ### Prerequisites @@ -28,25 +30,27 @@ After it has installed, close the current CLI session and reopen it. minikube sh {{% /tab %}} {{% /tabs %}} - - {{% tabs %}} {{% tab "Docker" %}} -{{% readfile file="/docs/Reference/Drivers/includes/docker_usage.inc" %}} +{{% readfile file="/docs/drivers/includes/docker_usage.inc" %}} {{% /tab %}} {{% tab "Hyper-V" %}} -## Check Hypervisor -{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_windows.inc" %}} -{{% readfile file="/docs/Reference/Drivers/includes/hyperv_usage.inc" %}} +## Check Hypervisor + +{{% readfile file="/docs/drivers/includes/check_virtualization_windows.inc" %}} + +{{% readfile file="/docs/drivers/includes/hyperv_usage.inc" %}} {{% /tab %}} {{% tab "VirtualBox" %}} -## Check Hypervisor -{{% readfile file="/docs/Reference/Drivers/includes/check_virtualization_windows.inc" %}} -{{% readfile file="/docs/Reference/Drivers/includes/virtualbox_usage.inc" %}} +## Check Hypervisor + +{{% readfile file="/docs/drivers/includes/check_virtualization_windows.inc" %}} + +{{% readfile file="/docs/drivers/includes/virtualbox_usage.inc" %}} {{% /tab %}} {{% /tabs %}} -{{% readfile file="/docs/Start/includes/post_install.inc" %}} +{{% readfile file="/docs/start/includes/post_install.inc" %}} diff --git a/site/content/en/docs/Tutorials/_index.md b/site/content/en/docs/tutorials/_index.md similarity index 91% rename from site/content/en/docs/Tutorials/_index.md rename to site/content/en/docs/tutorials/_index.md index 60e07fef45..83db8c6e1f 100755 --- a/site/content/en/docs/Tutorials/_index.md +++ b/site/content/en/docs/tutorials/_index.md @@ -1,8 +1,6 @@ --- title: "Tutorials" -linkTitle: "Tutorials" weight: 4 -date: 2017-01-04 description: > Contributed end-to-end tutorials using minikube --- diff --git a/site/content/en/docs/tutorials/audit-policy.md b/site/content/en/docs/tutorials/audit-policy.md new file mode 100644 index 0000000000..973986f0bb --- /dev/null +++ b/site/content/en/docs/tutorials/audit-policy.md @@ -0,0 +1,39 @@ +--- +title: "Audit Policy" +linkTitle: "Audit Policy" +weight: 1 +date: 2019-11-19 +description: > + Enabling audit policy for minikube +--- + +## Overview + +[Auditing](https://kubernetes.io/docs/Handbook/debug-application-cluster/audit/) is not enabled in minikube by default. +This tutorial shows how to provide an [Audit Policy](https://kubernetes.io/docs/Handbook/debug-application-cluster/audit/#audit-policy) file to the minikube API server on startup. + +## Tutorial + +```shell +minikube stop + +mkdir -p ~/.minikube/files/etc/ssl/certs + +cat < ~/.minikube/files/etc/ssl/certs/audit-policy.yaml +# Log all requests at the Metadata level. +apiVersion: audit.k8s.io/v1 +kind: Policy +rules: +- level: Metadata +EOF + +minikube start \ + --extra-config=apiserver.audit-policy-file=/etc/ssl/certs/audit-policy.yaml \ + --extra-config=apiserver.audit-log-path=- + +kubectl logs kube-apiserver-minikube -n kube-system | grep audit.k8s.io/v1 +``` + +The [Audit Policy](https://kubernetes.io/docs/Handbook/debug-application-cluster/audit/#audit-policy) used in this tutorial is very minimal and quite verbose. As a next step you might want to finetune the `audit-policy.yaml` file. To get the changes applied you need to stop and start minikube. Restarting minikube triggers the [file sync mechanism](https://minikube.sigs.k8s.io/Handbook/sync/) that copies the yaml file onto the minikube node and causes the API server to read the changed policy file. + +Note: Currently there is no dedicated directory to store the `audit-policy.yaml` file in `~/.minikube/`. Using the `~/.minikube/files/etc/ssl/certs` directory is a workaround! This workaround works like this: By putting the file into a sub-directory of `~/.minikube/files/`, the [file sync mechanism](https://minikube.sigs.k8s.io/Handbook/sync/) gets triggered and copies the `audit-policy.yaml` file from the host onto the minikube node. When the API server container gets started by `kubeadm` I'll mount the `/etc/ssl/certs` directory from the minikube node into the container. This is the reason why the `audit-policy.yaml` file has to be stored in the ssl certs directory: It's one of the directories that get mounted from the minikube node into the container. diff --git a/site/content/en/docs/Tutorials/configuring_creds_for_aws_ecr.md b/site/content/en/docs/tutorials/configuring_creds_for_aws_ecr.md similarity index 100% rename from site/content/en/docs/Tutorials/configuring_creds_for_aws_ecr.md rename to site/content/en/docs/tutorials/configuring_creds_for_aws_ecr.md diff --git a/site/content/en/docs/tutorials/continuous_integration.md b/site/content/en/docs/tutorials/continuous_integration.md new file mode 100644 index 0000000000..c4ced226c3 --- /dev/null +++ b/site/content/en/docs/tutorials/continuous_integration.md @@ -0,0 +1,30 @@ +--- +title: "Continuous Integration" +weight: 1 +description: > + Using minikube for Continuous Integration +--- + +## Overview + +Most continuous integration environments are already running inside a VM, and may not support nested virtualization. + +The `docker` driver was designed for this use case, as well as the older `none` driver. + +## Example + + Here is an example, that runs minikube from a non-root user, and ensures that the latest stable kubectl is installed: + +```shell +curl -LO \ + https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ + && install minikube-linux-amd64 /tmp/ + +kv=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) +curl -LO \ + https://storage.googleapis.com/kubernetes-release/release/$kv/bin/linux/amd64/kubectl \ + && install kubectl /tmp/ + +export MINIKUBE_WANTUPDATENOTIFICATION=false +/tmp/minikube-linux-amd64 start --driver=docker +``` diff --git a/site/content/en/docs/Tutorials/ebpf_tools_in_minikube.md b/site/content/en/docs/tutorials/ebpf_tools_in_minikube.md similarity index 100% rename from site/content/en/docs/Tutorials/ebpf_tools_in_minikube.md rename to site/content/en/docs/tutorials/ebpf_tools_in_minikube.md diff --git a/site/content/en/docs/Tutorials/nginx_tcp_udp_ingress.md b/site/content/en/docs/tutorials/nginx_tcp_udp_ingress.md similarity index 94% rename from site/content/en/docs/Tutorials/nginx_tcp_udp_ingress.md rename to site/content/en/docs/tutorials/nginx_tcp_udp_ingress.md index 596ddf1f3d..97eabbbabe 100644 --- a/site/content/en/docs/Tutorials/nginx_tcp_udp_ingress.md +++ b/site/content/en/docs/tutorials/nginx_tcp_udp_ingress.md @@ -18,14 +18,14 @@ is only configured to listen on ports 80 and 443. TCP and UDP services listening - Latest minikube binary and ISO - Telnet command line tool -- [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) command line tool +- [Kubectl](https://kubernetes.io/docs/Handbook/tools/install-kubectl) command line tool - A text editor ## Configuring TCP and UDP services with the nginx ingress controller -### Enable the ingress addon +### Enable the ingress addon -Enable the minikube ingress addon with the following command: +Enable the minikube ingress addon with the following command: ```shell minikube addons enable ingress @@ -228,6 +228,6 @@ for the latest info on these potential changes. ## Related articles -- [Routing traffic multiple services on ports 80 and 443 in minikube with the Kubernetes Ingress resource](https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/) -- [Use port forwarding to access applications in a cluster](https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) +- [Routing traffic multiple services on ports 80 and 443 in minikube with the Kubernetes Ingress resource](https://kubernetes.io/docs/Handbook/access-application-cluster/ingress-minikube/) +- [Use port forwarding to access applications in a cluster](https://kubernetes.io/docs/Handbook/access-application-cluster/port-forward-access-application-cluster/) diff --git a/site/content/en/docs/Tutorials/nvidia_gpu.md b/site/content/en/docs/tutorials/nvidia_gpu.md similarity index 100% rename from site/content/en/docs/Tutorials/nvidia_gpu.md rename to site/content/en/docs/tutorials/nvidia_gpu.md diff --git a/site/content/en/docs/Tutorials/openid_connect_auth.md b/site/content/en/docs/tutorials/openid_connect_auth.md similarity index 93% rename from site/content/en/docs/Tutorials/openid_connect_auth.md rename to site/content/en/docs/tutorials/openid_connect_auth.md index 46fbe28968..769155c296 100644 --- a/site/content/en/docs/Tutorials/openid_connect_auth.md +++ b/site/content/en/docs/tutorials/openid_connect_auth.md @@ -13,7 +13,7 @@ Read more about OpenID Connect Authentication for Kubernetes here: You can find out how to contribute to these docs in our Contributing Guide. +

You can find out how to contribute to these docs in our Contributing Guide. diff --git a/site/layouts/partials/section-index.html b/site/layouts/partials/section-index.html new file mode 100644 index 0000000000..ffea5611c7 --- /dev/null +++ b/site/layouts/partials/section-index.html @@ -0,0 +1,39 @@ +{{ $related := .Site.RegularPages.Related . | first 3 }} +{{ with $related }} +

See Also

+ +{{ end }} + +
+ {{ $pages := (where .Site.Pages "Section" .Section).ByWeight }} + {{ $parent := .Page }} + {{ if $parent.Params.no_list }} + {{/* If no_list is true we don't show a list of subpages */}} + {{ else if $parent.Params.simple_list }} + {{/* If simple_list is true we show a bulleted list of subpages */}} +
    + {{ range $pages }} + {{ if eq .Parent $parent }} +
  • {{- .Title -}}
  • + {{ end }} + {{ end }} +
+ {{ else }} + {{/* Otherwise we show a nice formatted list of subpages with page descriptions */}} +
+ {{ range $pages }} + {{ if eq .Parent $parent }} +
+
+ {{- .Title -}} +
+

{{ .Description | markdownify }}

+
+ {{ end }} + {{ end }} + {{ end }} +
diff --git a/site/layouts/partials/sidebar-tree.html b/site/layouts/partials/sidebar-tree.html index 7e1fcf4c80..029abae4c5 100644 --- a/site/layouts/partials/sidebar-tree.html +++ b/site/layouts/partials/sidebar-tree.html @@ -1,3 +1,5 @@ + + {{/* minikube hack: temporarily forked from docsy/layouts/partials/sidebar-tree.html for hugo v0.69 compatibility */}} {{/* We cache this partial for bigger sites and set the active class client side. */}} @@ -19,41 +21,95 @@ {{ template "section-tree-nav-section" (dict "page" . "section" .FirstSection "delayActive" $shouldDelayActive) }} + + + {{ define "section-tree-nav-section" }} {{ $s := .section }} {{ $p := .page }} {{ $shouldDelayActive := .delayActive }} -{{ $active := eq $p.CurrentSection $s }} -{{ $show := or (and (not $p.Site.Params.ui.sidebar_menu_compact) ($p.IsAncestor $s)) ($p.IsDescendant $s) }} +{{ $activeSection := eq $p.CurrentSection $s }} -{{/* minikube hack: Override $show due to a Hugo upgrade bug */}} -{{ $show = true }} +{{/* minikube hack: Override $showSection due to a Hugo upgrade bug */}} +{{ $showSection := false }} +{{ $expandSection := false }} +{{ $sid := $s.RelPermalink | anchorize }} +{{ $sectionParent := $s.Parent.Title | anchorize }} +{{ $csid := $p.CurrentSection.Title | anchorize }} + +{{ if $p.IsDescendant $s }} + + {{ $showSection = true }} +{{ else if eq $sectionParent "minikube" }} + + {{ $showSection = true }} +{{ else if eq $sectionParent "welcome" }} + + {{ $showSection = true }} +{{ else if eq $sectionParent "handbook" }} + + {{ $showSection = true }} +{{ else if eq $p.CurrentSection $s.Parent }} + + {{ $showSection = true }} +{{ else if $p.Parent.IsAncestor $s }} + + {{ if eq $s $p.CurrentSection }} + {{ $showSection = true }} + {{ end }} + +{{ end }} + + {{/* end minikube hack */}} {{ $sid := $s.RelPermalink | anchorize }} -
    -
  • - {{ $s.LinkTitle }} -
  • -
      -
    • - {{ $pages := where (union $s.Pages $s.Sections).ByWeight ".Params.toc_hide" "!=" true }} - {{ $pages := $pages | first 50 }} - {{ range $pages }} - {{ if .IsPage }} - {{ $mid := printf "m-%s" (.RelPermalink | anchorize) }} - - {{/* minikube hack: Override $active due to a Hugo upgrade bug */}} - {{ if $active }} - {{ $activePage := eq . $p }} - {{ .LinkTitle }} - {{ end }} - {{/* end minikube hack */}} - {{ else }} - {{ template "section-tree-nav-section" (dict "page" $p "section" .) }} - {{ end }} - {{ end }} +{{ if $showSection }} +
        +
      • + + {{ $s.LinkTitle }}
      • +
          +
        • + {{ $pages := where (union $s.Pages $s.Sections).ByWeight ".Params.toc_hide" "!=" true }} + {{ $pages := $pages | first 50 }} + {{ range $pages }} + {{ if .IsPage }} + {{ $mid := printf "m-%s" (.RelPermalink | anchorize) }} + + {{/* minikube hack: Override $activeSection due to a Hugo upgrade bug */}} + {{ $showPage := false }} + {{ $activePage := false }} + + + {{ if $activeSection }} + {{ $showPage = true }} + {{ $activePage := eq . $p }} + {{ end }} + + + {{ if eq $s.Title "Handbook" }} + {{ if lt (len $p.CurrentSection.Pages) 7 }} + {{ $showPage = true }} + {{ end }} + + {{ if eq $csid "welcome" }} + {{ $showPage = true }} + {{ end }} + {{ end }} + + {{ if $showPage }} + {{ .LinkTitle }} + {{ end }} + + {{/* end minikube hack */}} + {{ else }} + {{ template "section-tree-nav-section" (dict "page" $p "section" .) }} + {{ end }} + {{ end }} +
        • +
      -
    + {{ end }} {{ end }} diff --git a/site/static/images/screenshot.png b/site/static/images/screenshot.png new file mode 100644 index 0000000000..4eefa2e796 Binary files /dev/null and b/site/static/images/screenshot.png differ diff --git a/site/themes/docsy b/site/themes/docsy index 3123298f5b..e13afeb5c0 160000 --- a/site/themes/docsy +++ b/site/themes/docsy @@ -1 +1 @@ -Subproject commit 3123298f5b0f56b3315b55319e17a8fa6c9d98f9 +Subproject commit e13afeb5c0ffa5a2dff237fffa77bea80319f578