2.5. odo を使用した単一コンポーネントアプリケーションの作成
odo を使用すると、OpenShift Container Platform クラスターでアプリケーションを作成し、デプロイできます。
2.5.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
-
odoがインストールされている。 - OpenShift Container Platform クラスターが実行中である。CodeReady Containers (CRC) を使用して、OpenShift Container Platform のローカルクラスターを迅速にデプロイできます。
2.5.2. プロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトを作成し、別個の単一の単位で編成されるソースコード、テスト、ライブラリーを維持します。
手順
OpenShift Container Platform クラスターにログインします。
$ odo login -u developer -p developerプロジェクトを作成します。
$ odo project create myproject ✓ Project 'myproject' is ready for use ✓ New project created and now using project : myproject
2.5.3. odo を使用した Node.js アプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
Node.js コンポーネントを作成するには、Node.js アプリケーションをダウンロードし、odoでソースコードをクラスターにプッシュします。
手順
コンポーネントの新規ディレクトリーを作成します。
$ mkdir my_components $$ cd my_componentsNode.js アプリケーションのサンプルをダウンロードします。
$ git clone https://github.com/openshift/nodejs-ex現在のディレクトリーをアプリケーションのあるディレクトリーに切り替えます。
$ cd <directory name>Node.js タイプのコンポーネントをアプリケーションに追加します。
$ odo create nodejs注記デフォルトで、最新イメージが使用されます。また、
odo create openshift/nodejs:8を使用してイメージのバージョンを明示的に指定できます。初期ソースコードをコンポーネントにプッシュします。
$ odo pushこれで、コンポーネントは OpenShift Container Platform にデプロイされます。
URL を作成し、以下のようにローカル設定ファイルにエントリーを追加します。
$ odo url create --port 8080変更をプッシュします。これにより、URL がクラスターに作成されます。
$ odo pushコンポーネントに必要な URL を確認するために URL を一覧表示します。
$ odo url list生成された URL を使用してデプロイされたアプリケーションを表示します。
$ curl <URL>
2.5.4. アプリケーションコードの変更 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションコードを変更し、それらの変更を OpenShift Container Platform のアプリケーションに適用します。
- 選択するテキストエディターで、Node.js ディレクトリー内のレイアウトファイルのいずれかを編集します。
コンポーネントを更新します。
$ odo push- ブラウザーでアプリケーションを更新し、変更を確認します。
2.5.5. ストレージのアプリケーションコンポーネントへの追加 リンクのコピーリンクがクリップボードにコピーされました!
永続ストレージは、odo を再起動してもデータを利用可能な状態に維持します。odo storage コマンドを使用して、ストレージをコンポーネントに追加できます。
手順
ストレージをコンポーネントに追加します。
$ odo storage create nodestorage --path=/opt/app-root/src/storage/ --size=1Gi
コンポーネントには 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イメージにタグを付け、odo からアクセスできるようにします。
$ oc annotate istag/openjdk18:latest tags=builderodo でイメージをデプロイします。
$ odo create openjdk18 --git \ https://github.com/openshift-evangelists/Wild-West-Backend
2.5.7. OpenShift Service Catalog を使用したアプリケーションの複数サービスへの接続 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift サービスカタログは、Kubernetes 用の Open Service Broker API (OSB API) の実装です。これを使用すると、OpenShift Container Platform にデプロイされているアプリケーションをさまざまなサービスに接続できます。
前提条件
- OpenShift Container Platform クラスターが実行中である。
- サービスカタログがクラスターにインストールされ、有効にされている。
手順
サービスを一覧表示するには、以下を使用します。
$ odo catalog list servicesサービスカタログ関連の操作を使用するには、以下を実行します。
$ odo service <verb> <servicename>
2.5.8. アプリケーションの削除 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションを削除すると、アプリケーションに関連付けられたすべてのコンポーネントが削除されます。
手順
現在のプロジェクトのアプリケーションを一覧表示します。
$ odo app list The project '<project_name>' has the following applications: NAME appアプリケーションに関連付けられたコンポーネントを一覧表示します。これらのコンポーネントはアプリケーションと共に削除されます。
$ odo component list APP NAME TYPE SOURCE STATE app nodejs-nodejs-ex-elyf nodejs file://./ Pushedアプリケーションを削除します。
$ odo app delete <application_name> ? Are you sure you want to delete the application: <application_name> from project: <project_name>-
Yで削除を確定します。-fフラグを使用すると、確認プロンプトを非表示にできます。