第 2 章 开发人员 CLI (odo)


2.1. 了解 OpenShift Do

odo 是一个在 OpenShift Container Platform 和 Kubernetes 上创建应用程序的 CLI 工具。通过odo,开发人员可以集中精力创建应用程序,而无需自己管理集群。odo 会自动创建部署配置、构建配置、服务路由和其他 OpenShift Container Platform 或 Kubernetes 元素。

现有工具,如 oc 更加注重操作,需要对 Kubernetes 和 OpenShift Container Platform 概念有深入了解。odo 会处理与 Kubernetes 和 OpenShift Container Platform 相关的复杂概念,从而使开发人员可以把主要精力专注于最重要的内容:代码。

2.1.1. 主要特性

odo 的设计是简单而简洁的,其主要特性如下:

  • 简单的语法,围绕开发人员熟悉的概念(比如项目、应用程序和组件)进行设计。
  • 完全基于客户端。部署不需要 OpenShift Container Platform 以外的服务器。
  • 对 Node.js 和 Java 组件的官方支持。
  • 与各种语言和框架兼容,比如 Ruby 、Perl 、PHP 和 Python 部分兼容。
  • 它会检测本地代码的更改,并自动将其部署到集群中,为验证更改提供即时反馈。
  • 列出集群中的所有可用组件和服务。

2.1.2. 核心概念

Project(项目)
项目是一个用来对源代码、测试和库进行管理的独立空间。
Application(应用程序)
应用程序是为最终用户设计的程序。应用程序由多个微服务或组件组成,它们单独用来构建整个应用程序。应用程序示例:视频游戏、媒体播放器、网页浏览器。
组件
组件就是一组 Kubernetes 资源,用于托管代码或数据。每个组件可以单独运行和部署。组件示例:Node.js、Perl、PHP、Python、Ruby。
Service
服务是您的组件链接到或依赖的软件。服务示例:MariaDB、Jenkins、MySQL。在 odo 中,服务从 OpenShift Service Catalog 置备,且必须在集群中启用。

2.1.2.1. 官方支持的语言和相应的容器镜像

表 2.1. 支持的语言、容器镜像和软件包管理器
语言容器镜像软件包管理器

Node.js

centos/nodejs-8-centos7

NPM

 

rhoar-nodejs/nodejs-8

NPM

 

bucharestgold/centos7-s2i-nodejs

NPM

 

rhscl/nodejs-8-rhel7

NPM

 

rhscl/nodejs-10-rhel7

NPM

Java

redhat-openjdk-18/openjdk18-openshift

Maven,Gradle

 

openjdk/openjdk-11-rhel8

Maven,Gradle

 

openjdk/openjdk-11-rhel7

Maven,Gradle

2.1.2.1.1. 列出可用的容器镜像
注意

可用的容器镜像列表从集群的内部容器 registry 以及与集群关联的外部 registry 提供。

要列出集群的可用组件和相关容器镜像,请执行以下操作:

  1. 使用 odo 登陆到集群:

    $ odo login -u developer -p developer
  2. 要列出可用的 odo 支持和不支持的组件以及相应的容器镜像,请执行以下操作:

    $ odo catalog list components
    Odo Supported OpenShift Components:
    NAME        PROJECT      TAGS
    java       openshift     8,latest
    nodejs     openshift     10,8,8-RHOAR,latest
    
    Odo Unsupported OpenShift Components:
    NAME                      PROJECT       TAGS
    dotnet                    openshift     1.0,1.1,2.1,2.2,latest
    fuse7-eap-openshift       openshift     1.3

    TAGS 列代表可用镜像版本,例如:10 代表 rhoar-nodejs/nodejs-10 容器镜像。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.