OpenShift Dev Spaces 3 - Workspace 运行环境和统一开发镜像 UDI

OpenShift / RHEL / DevSecOps 汇总目录
本系列在 OpenShift 4.17 + Dev Spaces 3.17.0 验证

Workspace 运行环境

开发者使用 Workspace 的开通流程

  1. 开发人员访问 DevSpaces 地址(该地址实际是由 che-gateway 服务处理)。
  2. 如果用户没有登录,将由 OAuth 重定向到 OpenShift 登录页面。
  3. 用户登录后,如果用户没有运行 Workspace 的项目,则为用户自动创建该项目。
  4. 用户缺省的项目名为 “用户名-devspaces”。
  5. 用户进入自己的 Dev Spaces 仪表盘页面。
  6. 用户创建一个 Workspace。
  7. 后台基于 DevWorkspaceTemplate 创建一个 DevWorkspace 实例。该实例会运行 Container 为开发人员提供 Workspace 开发环境。
    在这里插入图片描述

启动 Workspace 的其他方法

可以使用以下方法使用 Git Repo 或 Devfile 启动 Workspace。

  • https://<openshift_dev_spaces_fqdn>#https://github.com/che-samples/cpp-hello-world
  • https://<openshift_dev_spaces_fqdn>#https://raw.githubusercontent.com/che-samples/cpp-hello-world/main/devfile.yaml

Dev Spaces 仪表盘的管理功能

开发者在登录 Dev Spaces 后会跳转到自己的 Dev Spaces 仪表盘页面。用户可以在 Dev Spaces 仪表盘中可以对 Workspace 进行各种操作,并配置 Workspace 使用到的相关资源:

  • 创建新的 Workspace
  • 查看、列出和管理现有 Workspace
  • 启动、停止和删除 Workspace

此外还可进入 User Preferences,为 Workspace 提供配置:

  • 配置 Container Registry 凭据
  • 查看 Git Services (缺省有 github 的配置)
  • 配置 Personal Access Token
  • 查看 Gitconfig
  • 设置 SSH Ksy
    在这里插入图片描述

运行 Workspace 的容器镜像

基于容器的应用开发环境

Workspace是提供给单个用户的开发环境的容器化实例。用户可以 Workspace 中访问、编写、构建、运行或调试代码。运行 Workspace 的容器中包含开发人员所有用到的工具,包括:

  • 语言运行时/开发工具包,如 Node.js、JDK、Python
  • Maven 或 Gradle 等构建工具
  • 与 OpenShift 或其他工具交互的 CLI
  • 运行应用程序服务器、消息代理等特定进程的二进制文件

通用开发者镜像

用户可以在 Devfile 文件中定义 Workspace 用到的容器镜像。如果在启动 Workspace 的时候其项目仓库中没有 Devfile 文件,Dev Spaces 会使用一个缺省的 Devfile 文件和通用开发者镜像 (Universal Developer Image - UDI)。

UBI 是 Workspace 默认使用的镜像,它是基于 Red Hat Universal Base Image 构建的。在 UDI 环境中包含以下工具和运行环境:
在这里插入图片描述

使用其他镜像

可以在 Devfile 中的 components 使用其他容器镜像作为 Workspace 的运行环境。例如下面示例:

schemaVersion: 2.2.2
metadata:
  name: java-springboot
  displayName: Spring Boot
  description: Java application using Spring Boot® and OpenJDK 17
  icon: https://raw.githubusercontent.com/devfile-samples/devfile-stack-icons/main/spring.svg
  tags:
    - Java
    - Spring
  projectType: springboot
  language: Java
  version: 1.4.0
starterProjects:
  - name: springbootproject
    git:
      remotes:
        origin: "https://github.com/devfile-samples/springboot-ex.git"
components:
  - name: tools
    container:
      image: registry.access.redhat.com/ubi9/openjdk-17:1.20-2.1721752931
      command: ["tail", "-f", "/dev/null"]
。。。。。

参考

https://redhatquickcourses.github.io/devspaces-workspaces/devspaces-workspaces/3/workspaces/dashboard.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值