IntelliJ IDEA 2026.1 Help

教程:将您的应用程序部署到 minikube 集群上

在本教程中,您将学习如何通过 minikube 直接从 IntelliJ IDEA 启动本地 Kubernetes 集群,并部署示例应用程序。 作为此过程的一部分,您将构建应用程序,创建 Docker 镜像,并将其部署到 minikube。

在本地运行 Kubernetes 尤其适用于原型开发、部署测试和学习 Kubernetes 工作流程。 借助 IntelliJ IDEA 中提供的 Docker 和 Kubernetes 支持,您无需离开 IDE,即可启动集群、部署资源并检查您的应用程序。

开始之前

在开始之前,请确保已安装和配置以下内容:

启用必需插件

本教程使用的功能依赖于以下插件:

这些插件已在 IntelliJ IDEA 中默认捆绑并启用。 如果相关功能不可用,请确保未禁用这些插件。

  1. Ctrl+Alt+S 打开设置,然后选择 插件

  2. 打开 已安装 选项卡,找到所需插件,并选中插件名称旁的复选框以启用它们。

克隆示例项目

要开始,请从 GitHub 克隆 Spring PetClinic 应用程序,如果已在本机上拥有该项目,则在 IntelliJ IDEA 中打开。

该应用程序的源代码托管在 GitHub 上 https://github.com/spring-projects/spring-petclinic

  1. 在主菜单中,前往 文件(F) | 新建(N) | 来自版本控制的项目…

  2. 指定存储库的 URL,然后点击 克隆

  3. 打开或导入项目​ 对话框中,选择 Gradle 项目 以使用 Gradle 作为该项目的主要构建系统。

  4. 如有需要,请同意在新窗口中打开克隆的项目。

构建应用程序

在将应用程序部署到 Kubernetes 之前,您需要先构建并将其打包为容器镜像。 在本教程中,会用 Gradle 任务编译应用程序源代码、运行测试并生成可执行 JAR 文件。 此 JAR 文件稍后将在创建 Docker 镜像时使用。

  1. 打开 Gradle 工具窗口。

  2. 展开项目节点( spring-petclinic ),然后展开 任务 节点,双击 构建 任务以运行。

    Gradle 工具窗口

    等待 IntelliJ IDEA 完成该任务。 完成后,IDE 会在项目根目录中创建包含构建产物的 构建 目录。

    Gradle 已成功完成构建任务

为应用程序制作容器镜像

在此步骤中,您将把已构建的应用程序打包为 Docker 镜像。 稍后,Kubernetes 会将此镜像作为容器在 Pod 中运行。

创建 Dockerfile

  1. 项目 工具窗口 Alt+1 中,右键点击项目根目录,指向 新建 ,然后点击 文件

  2. 新建文件… 对话框中,输入 Dockerfile 并按 Enter

  3. 请将以下代码粘贴到新的 Dockerfile 中:

    FROM eclipse-temurin:17-jre WORKDIR /app COPY build/libs/*.jar app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "app.jar"]

已创建的 Dockerfile 包含基于 eclipse-temurin:17-jre 镜像的 Docker 镜像构建指令,同时提供轻量级的 Java 17 运行环境。

当您构建镜像时,Docker 会将 Gradle 构建生成的可执行 JAR 文件从项目的 build/libs 目录复制到容器内的 /app 目录。

当您以该镜像启动容器时,Docker 会运行 java -jar app.jar 命令,从而启动 Spring Petclinic 应用程序。

构建 Docker 镜像。

  1. 在 Dockerfile 内侧边栏中,点击 在 Docker 上运行图标 并选择 新建运行配置

    从编辑器创建新的 Dockerfile 运行/调试配置。
  2. 编辑运行配置 对话框中,在 镜像标记 字段指定 petclinic-app ,在 容器名称 字段指定 petclinic。 然后,点击 运行

IntelliJ IDEA 创建一个 Dockerfile 运行配置 ,该配置从 Dockerfile 构建一个镜像,然后基于该镜像运行一个容器。 要跟踪整个流程,请在 日志 选项卡中打开 服务 工具窗口。

在服务工具窗口中切换日志选项卡。

连接到 minikube

现在您已经拥有包含应用程序的 Docker 镜像,需要启动本地 Kubernetes 集群以部署它。 我们将使用 minikube 直接在 IntelliJ IDEA 中运行本地的单节点 Kubernetes 集群。

使用 Docker 驱动程序启动 minikube

  1. 打开 终端 工具窗口:转到 视图|工具窗口|终端 或按 Alt+F12

  2. 运行以下命令以启动本地 Kubernetes 集群,并指定 minikube 使用 Docker 作为虚拟化驱动程序:

    minikube start --driver=docker
  3. 通过执行以下命令,验证您的集群是否正在运行:

    minikube status

使用 Docker 驱动程序时,minikube 集群会在 Docker 容器中运行,提供轻量级环境,非常适合本地开发。

将 minikube 集群添加到 IntelliJ IDEA

  1. 打开 Services工具窗口:转到 视图(V) | 工具窗口(T) | 服务 或按 Alt+8

  2. 选择 Kubernetes 节点,点击 添加集群 按钮,然后在上下文菜单中选择 来自默认目录

    在服务工具窗口的 Kubernetes 欢迎屏幕添加新集群。
  3. 添加集群 对话框中,选择 minikube 并点击 添加集群

    所添加的集群将在 服务 工具窗口中可用。

  4. 服务 工具窗口中,右键点击 minikube 集群并选择 连接集群

    连接到 minikube 集群

此时,IntelliJ IDEA 已连接到正在运行的 minikube 集群,并且能够显示其 Kubernetes 资源。 您可以直接在 服务 工具窗口中浏览命名空间、节点及其它集群对象。

部署应用程序

在本教程中,你之前已 本地构建应用程序镜像。 但 minikube 集群无法自动访问本地 Docker 守护进程中的镜像。 需要将镜像加载到 minikube 中才能使用。

将 Docker 镜像加载到 minikube 中。

  1. 打开 终端 工具窗口:转到 视图|工具窗口|终端 或按 Alt+F12

  2. 运行以下命令,在 minikube 中构建容器镜像:

    minikube image load petclinic-app
  3. 运行如下命令以验证 petclinic-app 镜像已在您的集群中可用:

    minikube image ls | grep petclinic-app

    您应在输出中看到 docker.io/library/petclinic-app:latest

现在镜像已在 minikube 中可用,下一步是描述 Kubernetes 如何运行它。 现在我们来创建两个 Kubernetes 清单:Deployment(部署),帮助您在 Pod 中运行容器;Service(服务),用于将您的应用暴露以便您从自身机器访问。

创建 Deployment 清单

  1. 项目 工具窗口(Alt+1 )中,右键点击项目名称并选择 新建 | Kubernetes 资源

  2. 新建 Kubernetes 资源 对话框中,选择 部署 文件类型,将 petclinic-deployment 指定为清单名称,然后按 Enter

    创建新的部署(Deployment)
  3. 将生成的 petclinic-deployment.yaml 文件内容替换为以下代码:

    apiVersion: apps/v1 kind: Deployment metadata: name: petclinic spec: replicas: 1 selector: matchLabels: app: petclinic template: metadata: labels: app: petclinic spec: containers: - name: petclinic image: petclinic-app:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8080
  4. 浮动工具栏上,选择当前集群和命名空间,然后点击 应用图标应用 以将更改应用到本地集群。

    浮动工具栏上的 Apply 按钮

创建 Service 清单

  1. 项目 工具窗口(Alt+1 )中,右键点击项目名称并选择 新建 | Kubernetes 资源

  2. 新建 Kubernetes 资源 对话框中,选择 服务 文件类型,将 petclinic-service 指定为清单名称,然后按 Enter

  3. 将生成的 petclinic-service.yaml 文件内容替换为以下代码:

    apiVersion: v1 kind: Service metadata: name: petclinic spec: type: NodePort selector: app: petclinic ports: - port: 8080 targetPort: 8080
  4. 浮动工具栏上,选择当前集群和命名空间,然后点击 应用图标应用 以将更改应用到本地集群。

访问应用程序

  1. 在编辑器中打开 petclinic-deployment.yaml 文件。

  2. 点击 转发端口 嵌入提示,位于 - containerPort: 8080 属性旁。

    端口转发嵌入提示。
  3. 转发端口 对话框中,保留默认值,然后点击 转发

  4. petclinic-deployment.yaml 文件中,点击 在浏览器中打开 嵌入提示。

    在服务工具窗口中新建端口转发会话。

    IntelliJ IDEA 会跳转到默认浏览器,你可以在本地 minikube 集群中检查已部署的 Spring Petclinic 应用程序。

您已学习如何使用 minikube 和 IntelliJ IDEA 将 Spring 应用程序部署到本地 Kubernetes 集群。 此方式可让您快速在本地测试和试验 Kubernetes,而无需远程集群。

后续步骤

您可以通过以下主题学习如何使用 Kubernetes:

完整教程列表请参阅 IntelliJ IDEA 教程

2026年 3月 24日