OpenShift 4 - 用 OpenShift DevSpaces 构建多租户的在线云原生应用开发环境

34 篇文章 1 订阅
5 篇文章 0 订阅

OpenShift / RHEL / DevSecOps 汇总目录
本文在 OpenShift 4.11 中已验证。

OpenShift Dev Spaces 说明

红帽 OpenShift Dev Spaces 是一款基于浏览器的云原生应用开发 Web IDE,它是 RedHat 在线应用开发平台 CordeReady Workspace 的升级产品。新版 Dev Spaces 不再需要单独的红帽 RHSSO 作为身份认证登录,而且还支持使用 VS Code 和 IDEA Intellij 作为 IDE 开发界面,并能够使用对应展工具。

环境要求

  1. OpenShift Dev Spaces 目前支持在 OpenShift 4.10 以上版本的运行环境。
  2. 在 OpenShift 中已经有多个用户,包括集群管理员和一般用户。

管理员安装 OpenShift Dev Spaces 环境

  1. 使用集群管理员使用默认配置安装 OpenShift Dev Spaces Operator,此安装过程将自动安装 DevWorkspace Operator。说明:OpenShift Dev Spaces Operator 用来管理 WebIDE 自身的生命周期,而 DevWorkspace Operator 是用来管理每个应用项目的生命周期。
    在这里插入图片描述
  2. 新建一个项目,例如 ocp-devspaces。
  3. 在 ocp-devspaces 项目中进入安装好的 OpenShift Dev Spaces Operator,然后使用缺省配置创建一个 Red Hat OpenShift Dev Spaces instance Specification 实例。
  4. 部署完成后在 “开发者” 视图中可以看到以下部署的资源。点击 che-gateway 右上方的 “打开 URI” 进入 OpenShift Dev Spaces 登录页面。
    在这里插入图片描述

租户创建 Workspace

  1. 使用 OpenShift 的一般用户登录 OpenShift Dev Spaces。
  2. 在 Create Workspace 页面中为 Git Repo URL 提供 https://github.com/liuxiaoyu-git/go-hello-world,然后点击 “Create & Open”。
    在这里插入图片描述
  3. 等待 Workspace 启动完成。
    在这里插入图片描述
  4. 上一步完成后会自动进入 IDE 页面。如果没有,可以进入 Workspaces 列表,然后点击 Open 即可进入 IDE 页面。
    在这里插入图片描述
    另外也可访问 https://devspaces.<OCP-SUB-DOMAIN-NAME>/dashboard/#/workspace/<USER-NAME>-devspaces/<WORDSPACE-NAME> 的方式用 WebIDE 打开一个 Workspace。
    例如:https://devspaces.apps.cluster-n9cx7.n9cx7.sandbox2115.opentlc.com/dashboard/#/workspace/user1-devspaces/go-hello-world-sample
  5. 在进入 VS Code IDE 后即可进行应用代码开发。
  6. 可以在 Extension 中安装所需插件。如下图,因为导入应用是 Go 开发的,因此会自动提示安装 Go Extension。
    在这里插入图片描述
    Git Repo 的应用代码缺省使用标准式样的 IDE 进行操作。之所以能够如上图那样用 VS Code 式样的 IDE 进行编辑,是由于在 hello-world-quarkus/.che/che-editor.yaml 文件中有以下配置:
id: che-incubator/che-code/insiders
registryUrl: https://eclipse-che.github.io/che-plugin-registry/main/v3

另外,还可使用如下配置使用 IDEA Intellij 式样的 IDE 界面:

id: che-incubator/intellij-community/latest
registryUrl: https://eclipse-che.github.io/che-plugin-registry/main/v3

了解 DevWorkspace Operator 中 CRD 的功能

每个 Workspace 对应一个 Git Repo 或 ZIP 类型的代码源。而每个 Workspace 就是 DevWorkspace Operator 中名为 DevWorkspace 的 CRD 运行的一个实例,这可以从 DevWorkspace Operator 中已有的 DevWorkspace CRD 实例数量以及名称得到确认。
在这里插入图片描述
每个 Workspace 实例会缺省在 项目中创建部署对应的部署,以提供租户开发者通过 Web IDE 操作应用代码。
在这里插入图片描述
另外,DevWorkspace Operator 中的 DevWorkspaceTemplate 代表和 WebIDE 相关的配置,例如 WebIDE 样式、快捷操作命令和用到的组件等,其中所有操作命令是在组件定义的 Pod 中运行的。
在这里插入图片描述

参考

https://l0rd.io/posts/vs-code-crw

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值