This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.5. 使用 odo 创建单组件应用程序
使用 odo
,您可以在集群中从创建和部署应用程序。
2.5.1. 先决条件 复制链接链接已复制到粘贴板!
-
已安装了
odo
。 - 有一个正在运行的集群。您可以使用 CodeReady Containers (CRC) 来快速部署一个本地的集群。
2.5.2. 创建一个项目 复制链接链接已复制到粘贴板!
创建一个项目来在一个独立的空间内保存源代码、测试并对库进行管理。
流程
登陆到一个OpenShift Container Platform集群。
odo login -u developer -p developer
$ odo login -u developer -p developer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个项目:
odo project create myproject
$ odo project create myproject ✓ Project 'myproject' is ready for use ✓ New project created and now using project : myproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.3. 使用 odo 创建 Node.js 应用程序 复制链接链接已复制到粘贴板!
要创建一个 Node.js 组件,请下载 Node.js 应用程序并使用 odo
将源代码推送到您的集群中。
流程
为您的组件创建一个新目录:
mkdir my_components $$ cd my_components
$ mkdir my_components $$ cd my_components
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 下载示例 Node.js 应用程序:
git clone https://github.com/openshift/nodejs-ex
$ git clone https://github.com/openshift/nodejs-ex
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将当前目录变为您的应用程序的目录:
cd <directory_name>
$ cd <directory_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将类型 Node.js 的组件添加到应用程序中:
odo create nodejs
$ odo create nodejs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意默认情况下使用最新的镜像。也可以使用
odo create openshift/nodejs:8
明确指定一个镜像版本。将初始源代码推送到组件中:
odo push
$ odo push
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您的组件已被部署到 OpenShift Container Platform 中。
创建一个 URL,按以下方法在本地配置文件中添加条目:
odo url create --port 8080
$ odo url create --port 8080
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 推送更改。这会在集群中创建一个 URL。
odo push
$ odo push
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出用于检查组件所需 URL 的 URL。
odo url list
$ odo url list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用生成的 URL 查看部署的应用程序。
curl <url>
$ curl <url>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.4. 修改应用程序代码 复制链接链接已复制到粘贴板!
您可以修改应用程序代码,并将更改应用于 OpenShift Container Platform 上的应用程序。
- 使用文本编辑器编辑 Node.js 目录中的一个布局文件。
更新您的组件:
odo push
$ odo push
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 刷新浏览器中的应用程序查看更改。
2.5.5. 在应用程序组件中添加存储 复制链接链接已复制到粘贴板!
持久性存储会保留 odo 重启期间的数据。您可以使用 odo storage
命令在组件中添加存储。
流程
在组件中添加存储:
odo storage create nodestorage --path=/opt/app-root/src/storage/ --size=1Gi
$ odo storage create nodestorage --path=/opt/app-root/src/storage/ --size=1Gi
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
您的组件现在有 1 GB 存储。
2.5.6. 添加自定义构建者来指定构建镜像 复制链接链接已复制到粘贴板!
在 OpenShift Container Platform 中,您可以添加自定义镜像来缩小创建自定义镜像间的差距。
以下示例显示 redhat-openjdk-18
镜像已被成功导入并使用:
先决条件
- 安装了 OpenShift CLI (oc) 。
流程
将镜像导入 OpenShift Container Platform:
oc import-image openjdk18 \ --from=registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift \ --confirm
$ oc import-image openjdk18 \ --from=registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift \ --confirm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 标记(tag)镜像使其可以被 odo 访问:
oc annotate istag/openjdk18:latest tags=builder
$ oc annotate istag/openjdk18:latest tags=builder
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 odo 部署镜像:
odo create openjdk18 --git \ https://github.com/openshift-evangelists/Wild-West-Backend
$ odo create openjdk18 --git \ https://github.com/openshift-evangelists/Wild-West-Backend
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.7. 使用 OpenShift Service Catalog 将应用程序连接到多个服务 复制链接链接已复制到粘贴板!
OpenShift Service Catalog 是 Kubernetes 的 Open Service Broker API (OSB API) 的一个实现。您可以使用它将部署在 OpenShift Container Platform 中的应用程序连接到各种服务。
先决条件
- 有一个正在运行的 OpenShift Container Platform 集群。
- 在集群中安装并启用该 service catalog。
流程
要列出服务,请使用:
odo catalog list services
$ odo catalog list services
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用 service catalog 相关的操作:
odo service <verb> <service_name>
$ odo service <verb> <service_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.8. 删除应用程序 复制链接链接已复制到粘贴板!
删除应用程序将删除与应用程序关联的所有组件。
流程
列出当前项目中的应用程序:
odo app list
$ odo app list The project '<project_name>' has the following applications: NAME app
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出与应用程序关联的组件。这些组件将随应用程序一起删除:
odo component list
$ odo component list APP NAME TYPE SOURCE STATE app nodejs-nodejs-ex-elyf nodejs file://./ Pushed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除应用程序:
odo app delete <application_name>
$ odo app delete <application_name> ? Are you sure you want to delete the application: <application_name> from project: <project_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用
Y
确认删除。您可以使用-f
标记来阻止确认提示。