GoLand 2026.3 Help

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

在本教程中,将学习如何通过 minikube 直接在 GoLand 启动本地 Kubernetes 集群,并部署一个示例 Go 应用程序。 在此过程中,您将构建应用程序、创建 Docker 镜像并将其部署到 minikube。

在本地运行 Kubernetes 非常适合原型开发、部署测试和学习 Kubernetes 工作流。 利用 GoLand 中提供的 Docker 和 Kubernetes 支持,无需离开 IDE 就可以启动集群、部署资源以及检查应用程序。

在开始之前

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

启用必需插件

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

该插件默认在 GoLand 中捆绑并启用。 如果相关功能不可用,请确保未禁用该插件。

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

  2. 找到所需的插件并将其开启。

首先,创建一个示例 Go 项目,或在 GoLand 打开现有的 Go 项目。

创建一个示例 Go 应用程序

  1. 创建一个新 Go 项目。

  2. 创建一个 main.go 文件并添加如下代码:

    package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Hello from GoLand and minikube!") }) http.ListenAndServe(":8080", nil) }

构建应用程序

在将应用程序部署到 Kubernetes 之前,需要先构建,并软件包为容器镜像。 本教程中, go build 命令用于编译应用程序源代码并生成可执行文件。

  1. 在 终端 工具窗口中:前往 视图|工具窗口|终端 或按 Alt+F12。

  2. 运行以下命令以构建应用程序:

    go build -o app .
  3. 确保 app 可执行文件出现在项目根目录下。

容器化应用程序

在此步进中,将已构建的应用程序软件包为 Docker 镜像。 Kubernetes 后续会以 pod 形式使用该镜像运行容器。

创建 Dockerfile

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

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

    如有提示,确认将文件添加到 Git。

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

    FROM golang:1.26-alpine AS builder WORKDIR /app COPY go.mod ./ RUN go mod download COPY . . RUN go build -o server . FROM alpine:latest WORKDIR /app COPY --from=builder /app/server . EXPOSE 8080 ENTRYPOINT ["./server"]

所创建的 Dockerfile 包含用于分两暂存构建 Docker 镜像的指令。 第一暂存会编译 Go 应用程序。 第二暂存会将已编译的可执行文件复制到轻量级的 Alpine Linux 镜像。

当你从该镜像启动容器时,Docker 会运行 ./server 命令,从而启动 Go 应用程序。

构建 Docker 镜像

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

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

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

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

连接到 minikube

现在你已有包含应用程序的 Docker 镜像,需要启动本地 Kubernetes 集群用于部署。 我们将使用 minikube 从 GoLand 直接运行一个本地单节点 Kubernetes 集群。

使用 Docker 驱动启动 minikube

  1. 在 终端 工具窗口中:前往 视图|工具窗口|终端 或按 Alt+F12。

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

    minikube start --driver=docker
  3. 通过运行如下命令确认集群已启动且可用:

    minikube status

使用 Docker 驱动会在 Docker 容器中运行 minikube 集群,为本地开发提供了轻量环境。

将 minikube 集群添加到 GoLand

  1. 打开 Services工具窗口:转到 查看 | 工具窗口 | 服务 或按 Alt+8。

  2. 选择 Kubernetes 节点,点击 添加集群 按钮,再从上下文菜单选择 来自默认目录。

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

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

  4. 在 服务 工具窗口内,右键点击 minikube 集群后,选择 连接集群。

    连接到 minikube 集群

此时,GoLand 已连接到正在运行的 minikube 集群,可以显示其 Kubernetes 资源。 可以在 服务 工具窗口直接查看命名空间、节点等集群对象。

部署应用程序

在教程前面,你已经 本地构建了应用程序镜像。 但 minikube 集群无法自动访问本地 Docker daemon 的镜像。 需要将该镜像加载到 minikube,才可使用。

将 Docker 镜像加载到 minikube

  1. 在 终端 工具窗口中:前往 视图|工具窗口|终端 或按 Alt+F12。

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

    minikube image load go-minikube-app
  3. 通过运行以下命令,验证 go-minikube-app 镜像是否在您的集群中可用:

    minikube image ls | grep go-minikube-app

    您应当在输出中看到 docker.io/library/go-minikube-app:latest。

现在镜像已在 minikube 可用,下一步是描述 Kubernetes 将如何运行它。 让我们创建两个 Kubernetes 清单:

  • 部署,它可以帮助您在 pod 中运行容器

  • Service,用于 Exposed 应用,从你的计算机访问

创建部署清单

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

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

    创建新部署

    如有提示,确认将文件添加到 Git。

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

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

    浮动工具栏上的 Apply 按钮

创建服务清单

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

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

    如有提示,确认将文件添加到 Git。

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

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

访问应用程序

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

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

  3. 在 端口转发 对话框中,保留默认值并点击 前进。

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

    在服务工具窗口启动新的端口转发会话

    GoLand 会将您重定向到默认浏览器,在那里可以检查部署在本地 minikube 集群中的 Go 应用程序。

您已经学会如何使用 minikube 和 GoLand 将 Go 应用程序部署到本地 Kubernetes 集群。 这种方法可启用本地对 Kubernetes 的快速测试和实验,而无需远程集群。

后续步骤

您可以通过以下主题了解如何使用 Kubernetes:

2026年 11月 9日