minikube start
minikube 是本地 Kubernetes,专注于使 Kubernetes 的学习和开发变得容易。
你只需要 Docker(或类似兼容的)容器或虚拟机环境,Kubernetes 只需一个命令即可启动:minikube start
你需要什么
- 2 个或更多 CPU
- 2GB 可用内存
- 20GB 可用磁盘空间
- 互联网连接
- 容器或虚拟机管理器,例如:Docker、QEMU、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox 或 VMware Fusion/Workstation
1安装
单击描述你的目标平台的按钮。对于其他架构,请参阅发布页面以获取完整的 minikube 二进制文件列表。
要使用二进制文件下载在 x86-64 Linux 上安装最新的 minikube 稳定版
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
要使用二进制文件下载在 x86-64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-amd64' | head -n1)
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
要使用 Debian 包在 x86-64 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
要使用 Debian 包在 x86-64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_amd64.deb' | head -n1)
curl -L $u > minikube_beta_amd64.deb && sudo dpkg -i minikube_beta_amd64.deb
要使用 RPM 包在 x86-64 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
sudo rpm -Uvh minikube-latest.x86_64.rpm
要使用 RPM 包在 x86-64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.x86_64.rpm' | head -n1)
curl -L $u > minikube-beta.x86_64.rpm && sudo rpm -Uvh minikube-beta.x86_64.rpm
要使用二进制文件下载在 ARM64 Linux 上安装最新的 minikube 稳定版
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-arm64
sudo install minikube-linux-arm64 /usr/local/bin/minikube && rm minikube-linux-arm64
要使用二进制文件下载在 ARM64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-arm64' | head -n1)
sudo install minikube-linux-arm64 /usr/local/bin/minikube && rm minikube-linux-arm64
要使用 Debian 包在 ARM64 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_arm64.deb
sudo dpkg -i minikube_latest_arm64.deb
要使用 Debian 包在 ARM64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_arm64.deb' | head -n1)
curl -L $u > minikube_beta_arm64.deb && sudo dpkg -i minikube_beta_arm64.deb
要使用 RPM 包在 ARM64 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.aarch64.rpm
sudo rpm -Uvh minikube-latest.aarch64.rpm
要使用 RPM 包在 ARM64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.aarch64.rpm' | head -n1)
curl -L $u > minikube-beta.aarch64.rpm && sudo rpm -Uvh minikube-beta.aarch64.rpm
要使用二进制文件下载在 ppc64 Linux 上安装最新的 minikube 稳定版
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-ppc64le
sudo install minikube-linux-ppc64le /usr/local/bin/minikube && rm minikube-linux-ppc64le
要使用二进制文件下载在 ppc64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-ppc64le' | head -n1)
sudo install minikube-linux-ppc64le /usr/local/bin/minikube && rm minikube-linux-ppc64le
要使用 Debian 包在 ppc64 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_ppc64le.deb
sudo dpkg -i minikube_latest_ppc64le.deb
要使用 Debian 包在 ppc64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_ppc64le.deb' | head -n1)
curl -L $u > minikube_beta_ppc64le.deb && sudo dpkg -i minikube_beta_ppc64le.deb
要使用 RPM 包在 ppc64 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.ppc64el.rpm
sudo rpm -Uvh minikube-latest.ppc64el.rpm
要使用 RPM 包在 ppc64 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.ppc64el.rpm' | head -n1)
curl -L $u > minikube-beta.ppc64el.rpm && sudo rpm -Uvh minikube-beta.ppc64el.rpm
要使用二进制文件下载在 S390x Linux 上安装最新的 minikube 稳定版
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-s390x
sudo install minikube-linux-s390x /usr/local/bin/minikube && rm minikube-linux-s390x
要使用二进制文件下载在 S390x Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-s390x' | head -n1)
sudo install minikube-linux-s390x /usr/local/bin/minikube && rm minikube-linux-s390x
要使用 Debian 包在 S390x Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_s390x.deb
sudo dpkg -i minikube_latest_s390x.deb
要使用 Debian 包在 S390x Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_s390x.deb' | head -n1)
curl -L $u > minikube_beta_s390x.deb && sudo dpkg -i minikube_beta_s390x.deb
要使用 RPM 包在 S390x Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.s390x.rpm
sudo rpm -Uvh minikube-latest.s390x.rpm
要使用 RPM 包在 S390x Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.s390x.rpm' | head -n1)
curl -L $u > minikube-beta.s390x.rpm && sudo rpm -Uvh minikube-beta.s390x.rpm
要使用二进制文件下载在 ARMv7 Linux 上安装最新的 minikube 稳定版
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-arm
sudo install minikube-linux-arm /usr/local/bin/minikube && rm minikube-linux-arm
要使用二进制文件下载在 ARMv7 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-linux-arm' | head -n1)
sudo install minikube-linux-arm /usr/local/bin/minikube && rm minikube-linux-arm
要使用 Debian 包在 ARMv7 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_armhf.deb
sudo dpkg -i minikube_latest_armhf.deb
要使用 Debian 包在 ARMv7 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube_.*_armhf.deb' | head -n1)
curl -L $u > minikube_beta_armhf.deb && sudo dpkg -i minikube_beta_armhf.deb
要使用 RPM 包在 ARMv7 Linux 上安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.armv7hl.rpm
sudo rpm -Uvh minikube-latest.armv7hl.rpm
要使用 RPM 包在 ARMv7 Linux 上安装最新的 minikube 测试版
r=https://api.github.com/repos/kubernetes/minikube/releases
u=$(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-.*.armv7hl.rpm' | head -n1)
curl -L $u > minikube-beta.armv7hl.rpm && sudo rpm -Uvh minikube-beta.armv7hl.rpm
在 x86-64 macOS 上使用 Homebrew 安装最新的 minikube 稳定版本
如果已安装 Homebrew 包管理器
brew install minikube
如果在通过 brew 安装后 which minikube
失败,您可能需要删除旧的 minikube 链接并链接新安装的二进制文件
brew unlink minikube
brew link minikube
在 x86-64 macOS 上使用二进制文件下载安装最新的 minikube 稳定版本
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
在 x86-64 macOS 上使用二进制文件下载安装最新的 minikube 测试版本
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-darwin-amd64' | head -n1)
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
在 ARM64 macOS 上使用二进制文件下载安装最新的 minikube 稳定版本
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-darwin-arm64
sudo install minikube-darwin-arm64 /usr/local/bin/minikube
在 ARM64 macOS 上使用 Homebrew 安装最新的 minikube 稳定版本
如果已安装 Homebrew 包管理器
brew install minikube
如果在通过 brew 安装后 which minikube
失败,您可能需要删除旧的 minikube 链接并链接新安装的二进制文件
brew unlink minikube
brew link minikube
在 ARM64 macOS 上使用二进制文件下载安装最新的 minikube 测试版本
r=https://api.github.com/repos/kubernetes/minikube/releases
curl -LO $(curl -s $r | grep -o 'http.*download/v.*beta.*/minikube-darwin-arm64' | head -n1)
sudo install minikube-darwin-arm64 /usr/local/bin/minikube
在 x86-64 Windows 上使用 Windows 包管理器安装最新的 minikube 稳定版本
如果已安装 Windows 包管理器,请使用以下命令安装 minikube
winget install Kubernetes.minikube
在 x86-64 Windows 上使用 Chocolatey 安装最新的 minikube 稳定版本
如果已安装 Chocolatey 包管理器,请使用以下命令
choco install minikube
在 x86-64 Windows 上使用 .exe 下载安装最新的 minikube 稳定版本
-
下载并运行 最新版本的安装程序。
或者,如果使用PowerShell
,请使用此命令New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
-
将
minikube.exe
二进制文件添加到您的PATH
。
请确保以管理员身份运行 PowerShell。如果您使用终端(如 powershell)进行安装,请关闭终端并重新打开,然后再运行 minikube。$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) if ($oldPath.Split(';') -inotcontains 'C:\minikube'){ [Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine) }
在 x86-64 Windows 上使用 .exe 下载安装最新的 minikube 测试版本
-
下载并运行 最新测试版本的安装程序。
或者,如果使用PowerShell
,请使用此命令New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force $response = Invoke-WebRequest -Uri 'https://api.github.com/repos/kubernetes/minikube/releases' -UseBasicParsing $json = $response.Content | ConvertFrom-Json $item = ($json | ?{ $_.prerelease -eq $true })[0].assets | ?{ $_.name -eq 'minikube-windows-amd64.exe' } Invoke-WebRequest -Uri $item.browser_download_url -OutFile 'c:\minikube\minikube.exe' -UseBasicParsing
-
将
minikube.exe
二进制文件添加到您的PATH
。
请确保以管理员身份运行 PowerShell。$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) if ($oldPath.Split(';') -inotcontains 'C:\minikube'){ [Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine) }
如果您使用 CLI 执行安装,则需要在继续操作之前关闭该 CLI 并打开一个新的 CLI。
2启动您的集群
从具有管理员权限(但不是以 root 用户身份登录)的终端运行
minikube start
如果 minikube 启动失败,请参阅 驱动程序页面,以获取有关设置兼容的容器或虚拟机管理器的帮助。
3与您的集群交互
如果您已经安装了 kubectl(请参阅文档),您现在可以使用它来访问您全新的集群
kubectl get po -A
或者,minikube 可以下载相应版本的 kubectl,您应该可以像这样使用它
minikube kubectl -- get po -A
您还可以通过将以下内容添加到您的 shell 配置中来简化您的生活:(有关更多详细信息,请参阅:kubectl)
alias kubectl="minikube kubectl --"
最初,某些服务(如存储 provisioner)可能尚未处于“Running”状态。 这是集群启动期间的正常情况,并且会立即自行解决。 为了进一步了解您的集群状态,minikube 捆绑了 Kubernetes 仪表板,让您可以轻松适应新环境
minikube dashboard
4部署应用程序
创建一个示例部署并将其暴露在端口 8080 上
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080
可能需要一些时间,但当您运行
kubectl get services hello-minikube
访问此服务的最简单方法是让 minikube 为您启动一个 Web 浏览器
minikube service hello-minikube
或者,使用 kubectl 转发端口
kubectl port-forward service/hello-minikube 7080:8080
成功! 您的应用程序现在可以在 http://localhost:7080/ 上访问。
您应该能够在应用程序输出中看到请求元数据。 尝试更改请求的路径并观察变化。 类似地,您可以执行 POST 请求并观察输出中显示的请求体。
要访问 LoadBalancer 部署,请使用“minikube tunnel”命令。 这是一个示例部署
kubectl create deployment balanced --image=kicbase/echo-server:1.0
kubectl expose deployment balanced --type=LoadBalancer --port=8080
在另一个窗口中,启动隧道以为“balanced”部署创建一个可路由的 IP
minikube tunnel
要查找可路由的 IP,请运行此命令并检查 EXTERNAL-IP
列
kubectl get services balanced
您的部署现在可以在 <EXTERNAL-IP>:8080 上访问
启用 ingress 插件
minikube addons enable ingress
以下示例创建简单的 echo-server 服务和一个 Ingress 对象来路由到这些服务。
kind: Pod
apiVersion: v1
metadata:
name: foo-app
labels:
app: foo
spec:
containers:
- name: foo-app
image: 'kicbase/echo-server:1.0'
---
kind: Service
apiVersion: v1
metadata:
name: foo-service
spec:
selector:
app: foo
ports:
- port: 8080
---
kind: Pod
apiVersion: v1
metadata:
name: bar-app
labels:
app: bar
spec:
containers:
- name: bar-app
image: 'kicbase/echo-server:1.0'
---
kind: Service
apiVersion: v1
metadata:
name: bar-service
spec:
selector:
app: bar
ports:
- port: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- pathType: Prefix
path: /foo
backend:
service:
name: foo-service
port:
number: 8080
- pathType: Prefix
path: /bar
backend:
service:
name: bar-service
port:
number: 8080
---
应用内容
kubectl apply -f https://storage.googleapis.com/minikube-site-examples/ingress-example.yaml
等待入口地址
kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress nginx * <your_ip_here> 80 5m45s
Docker Desktop 用户注意事项
要使入口正常工作,您需要打开一个新的终端窗口并运行 minikube tunnel
,并在下一步中使用 127.0.0.1
代替 <ip_from_above>
。
现在验证入口是否正常工作
$ curl <ip_from_above>/foo
Request served by foo-app
...
$ curl <ip_from_above>/bar
Request served by bar-app
...
5管理您的集群
暂停 Kubernetes 而不影响已部署的应用程序
minikube pause
取消暂停已暂停的实例
minikube unpause
停止集群
minikube stop
更改默认内存限制(需要重新启动)
minikube config set memory 9001
浏览易于安装的 Kubernetes 服务目录
minikube addons list
创建第二个运行旧版本 Kubernetes 的集群
minikube start -p aged --kubernetes-version=v1.16.1
删除所有 minikube 集群
minikube delete --all
下一步
- minikube 手册
- 社区贡献的教程
- minikube 命令参考
- 贡献者指南
- 请填写我们的快速 5 个问题调查,分享您的想法 🙏