Skip to content

Minikube

在这篇文章中

信息

Minikube 是一个命令行实用程序,允许您轻松部署本地 Kubernetes 集群。它对于需要本地 Kubernetes 环境进行测试和应用程序开发的开发人员非常有用。

警告

这只是一个用于管理容器或虚拟机管理器的实用程序,例如:Docker、QEMU、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox 或 VMware Fusion/Workstation。您需要自己在服务器上安装所需的容器化或虚拟机软件!

Minikube 关键特性

  • 快速启动本地 Kubernetes 集群 - minikube 允许您在几分钟内在本地机器上启动单节点 Kubernetes 集群。您无需进行复杂的配置或设置完整的多节点集群。
  • 支持不同的虚拟化驱动程序 - Minikube 集群可以在 VirtualBox、Hyper-V、VMware 中运行,也可以在 Linux、macOS 和 Windows 上原生运行。这为您提供了部署方式的灵活性。
  • 自动 kubectl 配置 - 集群启动后,minikube 会自动配置 kubectl 以连接到该集群。无需手动配置 Kubernetes 客户端。
  • 内置仪表板和应用 - 仪表板、heapster、ingress 控制器和其他有用工具开箱即用。这加快了入门速度。
  • 便捷的管理命令 - minikube startstopdelete 和其他命令使得直接从终端管理集群生命周期变得容易。
  • 网络隔离模式 - 可以以仅主机网络模式启动集群,使其与主网络隔离。
  • 附加组件支持 - 可以通过附加组件启用监控、日志记录、可视化等附加功能。
  • 与云服务集成 - kubectl 和仪表板可以定制以与云中的远程集群配合使用。

部署功能

ID 软件名称 兼容操作系统 虚拟机 物理机 vGPU GPU 最低CPU(核) 最低内存(GB) 最低硬盘(GB) 自定义域名 是否启用
44 Minikube Ubuntu 22.04 + + + - 2 2 - 订购

备注

除非另有说明,默认情况下,我们从开发人员的网站或操作系统存储库安装软件的最新发布版本。

部署 Minikube 后的入门指南

支付订单后,系统将向注册时指定的电子邮件发送通知,告知服务器已准备好工作。该邮件将包含 VPS 的 IP 地址以及用于连接的 loginPassword

我司客户通过服务器硬件和 API 控制面板 — Invapi 进行管理。

您可以在服务器控制面板的 Configuration >> Tags 选项卡中,或在发送的电子邮件中找到授权数据。

  • Password:在软件部署完成后,服务器准备就绪时,将发送至您的电子邮件地址。

要使用该服务,您必须通过 SSH 连接到服务器:

ssh root@<server_ip>

然后运行 start 命令,该命令将使用多个 Docker 容器和最新稳定版本的 Kubernetes 自动创建本地 Kubernetes 集群:

minikube start

该命令需要一些时间运行,并应输出 kubectl 已配置的信息。

备注

如果您需要使用非标准 Kubernetes 版本运行 minikube 以检查兼容性,可以使用带有 --kubernetes-version 参数的 minikube start 命令,例如 v1.2.3

通过 Homebrew 安装 minikube 也会安装 kubectl,这是管理 Kubernetes 集群的主要命令行工具。现在您可以运行 kubectl get 命令,就像对其他任何 Kubernetes 集群一样,以列出所有正在运行的 pod:

kubectl get pods -A

-A 参数返回所有命名空间中的 pod。

执行上述步骤后,将创建本地 Kubernetes 集群,您可以使用 kubectl 等标准 Kubernetes 工具与其交互。

您可以使用以下命令访问仪表板:

minikube dashboard

执行后,将显示一个链接,例如 http://127.0.0.1:42049/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/。需要对其进行编辑 - 输入服务器的 IP 地址,然后继续查看仪表板。

服务创建

默认情况下,pod 仅可通过 Kubernetes 集群内的内部 IP 地址访问。要使 hello-node 容器在 Kubernetes 虚拟网络之外可用,需要将 pod 暴露为 Kubernetes 服务。

您可以使用 kubectl expose 命令将 pod 公开为 Kubernetes 服务:

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

--type=LoadBalancer 标志表示该服务应在集群外部可见。

测试镜像中的应用代码仅监听 TCP 端口 8080。如果您在 kubectl expose 命令中将应用设置为在其他端口上可用,客户端将无法连接到该端口。

您可以使用以下命令检查创建的服务:

kubectl get services

输出结果大致如下:

NAME             TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)               AGE
hello-node       LoadBalancer   10.108.144.78  <pending>        8080:30369/TCP        21s
kubernetes       ClusterIP      10.96.0.1      <none>           443/TCP               23m

对于支持负载均衡器的云提供商,会提供外部 IP 地址以访问服务。在 Minikube 中,LoadBalancer 类型通过 minikube service 命令使服务可用。

运行以下命令:

minikube service hello-node

该命令会打开一个浏览器窗口,运行应用程序并显示其响应。

备注

有关 Minikube 基本设置的详细信息,请参阅 开发人员文档

使用 API 订购带有 Minikube 的服务器

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×