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
要在 x86-64 Linux 上使用 Debian 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
要在 x86-64 Linux 上使用 Debian 包安装最新的 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
要在 x86-64 Linux 上使用 RPM 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
sudo rpm -Uvh minikube-latest.x86_64.rpm
要在 x86-64 Linux 上使用 RPM 包安装最新的 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
要在 ARM64 Linux 上使用 Debian 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_arm64.deb
sudo dpkg -i minikube_latest_arm64.deb
要在 ARM64 Linux 上使用 Debian 包安装最新的 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
要在 ARM64 Linux 上使用 RPM 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.aarch64.rpm
sudo rpm -Uvh minikube-latest.aarch64.rpm
要在 ARM64 Linux 上使用 RPM 包安装最新的 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
要在 ppc64 Linux 上使用 Debian 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_ppc64le.deb
sudo dpkg -i minikube_latest_ppc64le.deb
要在 ppc64 Linux 上使用 Debian 包安装最新的 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
要在 ppc64 Linux 上使用 RPM 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.ppc64el.rpm
sudo rpm -Uvh minikube-latest.ppc64el.rpm
要在 ppc64 Linux 上使用 RPM 包安装最新的 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
要在 S390x Linux 上使用 Debian 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_s390x.deb
sudo dpkg -i minikube_latest_s390x.deb
要在 S390x Linux 上使用 Debian 包安装最新的 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
要在 S390x Linux 上使用 RPM 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.s390x.rpm
sudo rpm -Uvh minikube-latest.s390x.rpm
要在 S390x Linux 上使用 RPM 包安装最新的 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
要在 ARMv7 Linux 上使用 Debian 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_armhf.deb
sudo dpkg -i minikube_latest_armhf.deb
要在 ARMv7 Linux 上使用 Debian 包安装最新的 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
要在 ARMv7 Linux 上使用 RPM 包安装最新的 minikube 稳定版
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.armv7hl.rpm
sudo rpm -Uvh minikube-latest.armv7hl.rpm
要在 ARMv7 Linux 上使用 RPM 包安装最新的 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 $ProgressPreference = 'SilentlyContinue'; 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 --"
最初,一些服务(例如存储提供者)可能尚未处于运行状态。这是集群启动期间的正常情况,很快就会自行解决。为了更深入地了解您的集群状态,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 为您启动一个网页浏览器
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
等待 Ingress 地址
kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress nginx * <your_ip_here> 80 5m45s
Docker Desktop 用户注意事项
要使 Ingress 工作,您需要打开一个新的终端窗口并运行 minikube tunnel
,在下一步中,使用 127.0.0.1
替换 <ip_from_above>
。
现在验证 Ingress 是否工作
$ 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 题调查,分享您的想法 🙏