RubyMine 2026.2 Help

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

在本地运行 Kubernetes 对于原型开发、测试部署和学习 Kubernetes 工作流非常有用。 借助 RubyMine 中提供的 Docker 和 Kubernetes 支持,可以启动集群、部署资源并在不离开 IDE 的情况下检查应用程序。

开始之前

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

启用必需插件

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

默认情况下,该插件在 RubyMine 中已捆绑并启用。 如果相关功能不可用,请确保没有禁用该插件。

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

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

创建一个 Rails 应用程序

若要从头开始创建一个 Rails 应用,请执行以下操作:

  1. 运行 RubyMine 并点击 新建项目欢迎界面

    欢迎屏幕
  2. 新建项目 对话框中,左侧窗格 项目类型 组的 RailsRuby on Rails 中选择 应用程序 ,并指定以下设置:

  3. 指定以下设置:

    新建项目对话框:Rails 应用程序
    • 名称 :为项目指定一个名称(在我们的示例中为 rails-helloworld)。

    • Location :指定您希望创建项目的目录路径。 默认情况下,RubyMine 会创建一个与项目同名的目录。

    • 解释器 :选择您希望在项目中使用的 Ruby 解释器

    • Rails 版本 :选择您希望在项目中使用的 Rails 版本。 如果所选解释器中未安装 Rails gem 或缺少所需的 Rails 版本,请单击字段中的 安装 Rails Gem 按钮。 等待 RubyMine 下载所有可用的 Rails 版本,然后从下拉列表中选择所需版本。 点击 确定 继续。

      安装 Rails gem

      如果所选版本尚未安装,RubyMine 会在创建项目时安装它。

    • 额外选项 :在 额外选项 字段中提供用于项目创建的额外 Rails 选项。

      例如,您可以指定通常用于附加到 rails new 命令的 参数--skip-tests 跳过测试文件的创建, --skip-action-mailer 跳过 Action Mailer 文件, --skip-action-cable 跳过 Action Cable 文件,等等。

      要获取与所用 Rails 版本兼容的 Rails 选项的完整列表,请运行 rails new --help 命令。

  4. 点击 创建 关闭 新建项目 对话框。

  5. RubyMine 创建一个新的 Rails 应用程序,安装 Gemfile 中提到的 gem 依赖项,并安装项目 package.json 文件中提到的 JavaScript 依赖项。 您可以在 Run 工具窗口中看到此过程。

    为项目生成 Rails 应用程序
  6. 安装所有依赖项后,您可以在左侧的 Project 工具窗口(Alt+1 )中查看项目结构。 在右侧,RubyMine 会自动在编辑器中打开主要的项目文件。

    全新的 Rails 应用程序

    如果您的操作系统中安装了 Git,生成一个新的 Rails 应用程序时也会初始化一个 Git 仓库。 您可以从 版本控制 部分学习如何在 RubyMine 中使用版本控制系统。

  7. 现在我们有一个运行正常的 Rails 应用。 要查看其效果,您需要启动一个 web 服务器。 执行以下步骤来完成此操作:

    1. 单击右上角的 运行 图标。

    2. RubyMine 将展示准备运行应用程序的过程。

      Rails 服务器输出
    3. 在浏览器中打开 http://127.0.0.1:3000 ,即可查看 Rails 的默认信息页面。

      Rails 默认页面

将应用程序容器化

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

构建 Docker 镜像

  1. Project 视图,在编辑器中打开 Dockerfile

  2. 编辑文件:

    • 更改

      ENV RAILS_ENV="production" \ BUNDLE_DEPLOYMENT="1" \ BUNDLE_PATH="/usr/local/bundle" \ BUNDLE_WITHOUT="development"

      to

      ENV RAILS_ENV="development" \ BUNDLE_PATH="/usr/local/bundle"
    • 更改

      EXPOSE 80 CMD ["./bin/thrust", "./bin/rails", "server"]

      to

      EXPOSE 3000 CMD ["./bin/rails", "server", "-b", "0.0.0.0", "-p", "3000"]
  3. 在 Dockerfile 内侧边栏中,点击 在 Docker 上运行图标 并选择 新建运行配置

  4. 编辑运行配置 对话框中,在 图像标签 字段中指定 rails-minikube-app ,在 容器名称 字段中指定 rails-minikube。 然后,点击 运行

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

连接到 minikube

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

使用 Docker 驱动启动 minikube

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

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

    minikube start --driver=docker
  3. 使用此命令验证集群是否成功启动并运行:

    minikube status

使用 Docker 驱动会在 Docker 容器内运行 minikube 集群,提供适合本地开发的轻量级环境。

将 minikube 集群添加到 RubyMine

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

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

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

    添加集群对话框

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

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

    连接到 minikube 集群

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

部署应用程序

您已在前面教程中 在本地构建了应用程序镜像。 但 minikube 集群无法自动访问您本地 Docker 守护进程中的镜像。 您需要将镜像加载到 minikube 以供其使用。

将 Docker 镜像加载到 minikube

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

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

    minikube image load <image tag>

    其中 <image tag> 是在 运行/调试配置​ 如上所述 中指定的值。 在我们的示例中应为:

    minikube image load hello-world-docker-app
  3. 通过运行以下命令来验证 rails-minikube-app 镜像是否在集群中可用:

    minikube image ls | grep rails-minikube-app

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

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

  • 部署,有助于在 pod 中运行容器

  • Service,用于暴露应用,便于从本地访问

创建部署清单

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

    创建 Kubernetes 资源
  2. 新建 Kubernetes 资源 对话框中,选择 部署 文件类型,输入清单名称,然后按 Enter

    创建新部署

    如收到提示,请同意将文件添加至 Git。

  3. 请将生成的文件内容替换为以下代码:

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

创建服务清单

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

    创建 Kubernetes 资源
  2. 新建 Kubernetes 资源 对话框中,选择 服务 文件类型,输入清单名称,然后按 Enter

    如收到提示,请同意将文件添加至 Git。

  3. 请将生成的文件内容替换为以下代码:

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

访问应用程序

  1. 在编辑器中打开文件。

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

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

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

您已学会如何使用 minikube 和 RubyMine 将 Rails 应用程序部署到本地 Kubernetes 集群。 这种方法无需远程集群即可启用本地的 Kubernetes 快速测试与实验。

后续步骤

可通过以下主题学习 Kubernetes 的相关操作:

2026年 7月 14日