minikube start

minikube 是本地 Kubernetes,专注于简化 Kubernetes 的学习和开发。

你只需要 Docker(或类似的兼容)容器或虚拟机环境,Kubernetes 只需一条命令即可:minikube start

你需要什么

1安装

单击描述目标平台的按钮。对于其他架构,请参阅 发行说明页面,以获取 minikube 二进制文件的完整列表。

要在 x86-64 Linux 上使用 二进制下载安装最新的 minikube 稳定版发行版

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

使用二进制下载x86-64 Linux上安装最新的 minikube beta 版本

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 stable 版本

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 beta 版本

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 stable 版本

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 beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64
sudo install minikube-linux-arm64 /usr/local/bin/minikube && rm minikube-linux-arm64

使用二进制下载ARM64 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_arm64.deb
sudo dpkg -i minikube_latest_arm64.deb

使用Debian 软件包ARM64 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.aarch64.rpm
sudo rpm -Uvh minikube-latest.aarch64.rpm

使用RPM 软件包ARM64 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-ppc64le
sudo install minikube-linux-ppc64le /usr/local/bin/minikube && rm minikube-linux-ppc64le

使用二进制下载ppc64 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_ppc64le.deb
sudo dpkg -i minikube_latest_ppc64le.deb

使用Debian 软件包ppc64 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.ppc64el.rpm
sudo rpm -Uvh minikube-latest.ppc64el.rpm

使用RPM 软件包ppc64 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-s390x
sudo install minikube-linux-s390x /usr/local/bin/minikube && rm minikube-linux-s390x

使用二进制下载S390x Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_s390x.deb
sudo dpkg -i minikube_latest_s390x.deb

使用Debian 软件包S390x Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.s390x.rpm
sudo rpm -Uvh minikube-latest.s390x.rpm

使用RPM 软件包S390x Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm
sudo install minikube-linux-arm /usr/local/bin/minikube && rm minikube-linux-arm

使用二进制下载ARMv7 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_armhf.deb
sudo dpkg -i minikube_latest_armhf.deb

使用Debian 软件包ARMv7 Linux上安装最新的 minikube beta 版本

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 stable 版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.armv7hl.rpm
sudo rpm -Uvh minikube-latest.armv7hl.rpm

使用RPM 软件包ARMv7 Linux上安装最新的 minikube beta 版本

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

使用Homebrewx86-64 macOS上安装最新的 minikube stable 版本

如果已安装Homebrew 软件包管理器

brew install minikube

如果在通过 brew 安装后which minikube失败,您可能需要移除旧的 minikube 链接并链接新安装的二进制文件

brew unlink minikube
brew link minikube

使用二进制下载x86-64 macOS上安装最新的 minikube 稳定版本

curl -LO https://storage.googleapis.com/minikube/releases/latest/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://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
sudo install minikube-darwin-arm64 /usr/local/bin/minikube

使用HomebrewARM64 macOS上安装最新的 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

使用Windows 包管理器x86-64 Windows上安装最新的 minikube 稳定版本

如果已安装Windows 包管理器,请使用以下命令安装 minikube

winget install Kubernetes.minikube

使用Chocolateyx86-64 Windows上安装最新的 minikube 稳定版本

如果已安装Chocolatey 包管理器,请使用以下命令

choco install minikube

使用.exe 下载x86-64 Windows上安装最新的 minikube 稳定版本

  1. 下载并运行最新版本的安装程序。

    或者,如果使用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
    
  2. 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)
    }
    

    如果您使用终端(如 powershell)进行安装,请在运行 minikube 之前关闭终端并重新打开。

使用.exe 下载x86-64 Windows上安装最新的 minikube 测试版本

  1. 下载并运行最新测试版本的安装程序。

    或者,如果使用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
    
  2. 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 --"

最初,某些服务(例如 storage-provisioner)可能尚未处于运行状态。这是集群启动期间的正常情况,将很快自行解决。为了进一步了解你的集群状态,minikube 捆绑了 Kubernetes 仪表板,让你可以轻松适应你的新环境

minikube dashboard

4部署应用程序

Service

创建一个示例部署并将其公开在端口 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

瞧!你的应用程序现在可以在 https://127.0.0.1:7080/ 上访问。

你应该能够在应用程序输出中看到请求元数据。尝试更改请求的路径并观察更改。同样,你可以执行 POST 请求并观察输出中显示的内容。

LoadBalancer

要访问 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

启用 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

采取下一步

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享