第 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. 官方支持的语言和相应的容器镜像
语言 | 容器镜像 | 软件包管理器 |
---|---|---|
Node.js | NPM | |
NPM | ||
NPM | ||
NPM | ||
NPM | ||
Java | Maven,Gradle | |
Maven,Gradle | ||
Maven,Gradle |
2.1.2.1.1. 列出可用的容器镜像
可用的容器镜像列表从集群的内部容器 registry 以及与集群关联的外部 registry 提供。
要列出集群的可用组件和相关容器镜像,请执行以下操作:
使用
odo
登陆到集群:$ odo login -u developer -p developer
要列出可用的
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
容器镜像。