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
を使用すると、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 login -u developer -p developer
Copy to Clipboard Copied! プロジェクトを作成します。
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!
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! Node.js アプリケーションのサンプルをダウンロードします。
git clone https://github.com/openshift/nodejs-ex
$ git clone https://github.com/openshift/nodejs-ex
Copy to Clipboard Copied! 現在のディレクトリーをアプリケーションのあるディレクトリーに切り替えます。
cd <directory name>
$ cd <directory name>
Copy to Clipboard Copied! Node.js タイプのコンポーネントをアプリケーションに追加します。
odo create nodejs
$ odo create nodejs
Copy to Clipboard Copied! 注記デフォルトで、最新イメージが使用されます。また、
odo create openshift/nodejs:8
を使用してイメージのバージョンを明示的に指定できます。初期ソースコードをコンポーネントにプッシュします。
odo push
$ odo push
Copy to Clipboard Copied! これで、コンポーネントは OpenShift Container Platform にデプロイされます。
URL を作成し、以下のようにローカル設定ファイルにエントリーを追加します。
odo url create --port 8080
$ odo url create --port 8080
Copy to Clipboard Copied! 変更をプッシュします。これにより、URL がクラスターに作成されます。
odo push
$ odo push
Copy to Clipboard Copied! コンポーネントに必要な URL を確認するために URL を一覧表示します。
odo url list
$ odo url list
Copy to Clipboard Copied! 生成された URL を使用してデプロイされたアプリケーションを表示します。
curl <URL>
$ curl <URL>
Copy to Clipboard Copied!
2.5.4. アプリケーションコードの変更
アプリケーションコードを変更し、それらの変更を OpenShift Container Platform のアプリケーションに適用します。
- 選択するテキストエディターで、Node.js ディレクトリー内のレイアウトファイルのいずれかを編集します。
コンポーネントを更新します。
odo push
$ odo push
Copy to Clipboard Copied! - ブラウザーでアプリケーションを更新し、変更を確認します。
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!
コンポーネントには 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! イメージにタグを付け、odo からアクセスできるようにします。
oc annotate istag/openjdk18:latest tags=builder
$ oc annotate istag/openjdk18:latest tags=builder
Copy to Clipboard Copied! 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!
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 catalog list services
Copy to Clipboard Copied! サービスカタログ関連の操作を使用するには、以下を実行します。
odo service <verb> <servicename>
$ odo service <verb> <servicename>
Copy to Clipboard Copied!
2.5.8. アプリケーションの削除
アプリケーションを削除すると、アプリケーションに関連付けられたすべてのコンポーネントが削除されます。
手順
現在のプロジェクトのアプリケーションを一覧表示します。
odo app list
$ odo app list The project '<project_name>' has the following applications: NAME app
Copy to Clipboard Copied! アプリケーションに関連付けられたコンポーネントを一覧表示します。これらのコンポーネントはアプリケーションと共に削除されます。
odo component list
$ odo component list APP NAME TYPE SOURCE STATE app nodejs-nodejs-ex-elyf nodejs file://./ Pushed
Copy to Clipboard Copied! アプリケーションを削除します。
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! -
Y
で削除を確定します。-f
フラグを使用すると、確認プロンプトを非表示にできます。