第2章 OpenShift Do developer CLI (odo)

2.1. OpenShift Do について

OpenShift Do (odo) は、アプリケーションを OpenShift Container Platform で作成するための高速で使いやすい CLI ツールです。odo を使用する開発者は、 OpenShift Container Platform クラスター自体を管理する必要なしにアプリケーションの作成に集中することができます。デプロイメント設定、ビルド設定、サービスルートおよび他の OpenShift Container Platform 要素の作成は、すべて odo によって自動化されます。

oc などの既存ツールは操作により重点が置かれ、Kubernetes および OpenShift Container Platform の概念のより深い理解が必要です。odo は Kubernetes および OpenShift Container Platform の概念の複雑な部分を取り除き、開発者にとって最も重要な「コード」にフォーカスできるようにします。

2.1.1. 主な特長

odo は、以下の主な特長によって単純化および簡潔化されるように設計されています。

  • プロジェクト、アプリケーションおよびコンポーネントなどの開発者にとって馴染みのある概念を中心とした単純な構文および設計。
  • 完全にクライアントベースである。デプロイにあたって OpenShift Container Platform クラスター内のサーバーは不要です。
  • Node.js および Java コンポーネントの正式なサポート。
  • Ruby、Perl、PHP、Python などの言語およびフレームワークとの部分的な互換性。
  • ローカルコードの変更を検出し、これをクラスターに自動的にデプロイ。これにより、変更を検証するためのインスタントフィードバックがリアルタイムに提供されます。
  • OpenShift Container Platform クラスターのすべての利用可能なコンポーネントおよびサービスを一覧表示。

2.1.2. コアとなる概念

Project
Project (プロジェクト) は、別個の単一の単位で編成されるソースコード、テスト、ライブラリーです。
Application
Application (アプリケーション) は、エンドユーザー向けに設計されたプログラムです。アプリケーションは、アプリケーション全体を構築するために個別に動作する複数のマイクロサービスまたはコンポーネントで構成されます。アプリケーションの例: ビデオゲーム、メディアプレイヤー、Web ブラウザー。
Component
コンポーネントとは、コードまたはデータをホストする Kubernetes リソースのセットです。各コンポーネントは個別に実行され、デプロイできます。コンポーネントの例: Node.js、Perl、PHP、Python、Ruby
サービス
Service (サービス) は、コンポーネントのリンク先となるか、またはコンポーネントが依存するソフトウェアです。サービスの例: MariaDB、Jenkins、MySQLodo では、サービスは 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. 利用可能なコンテナーイメージの一覧表示
注記

利用可能なコンテナーイメージの一覧は、クラスターの内部コンテナーレジストリーおよびクラスターに関連付けられた外部レジストリーから取得されます。

利用可能なコンポーネントおよびクラスターの関連付けられたコンテナーイメージを一覧表示するには、以下を実行します。

  1. odo を使用して OpenShift Container Platform クラスターにログインします。

    $ 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 コラムは利用可能なイメージバージョンを表します (例: 10rhoar-nodejs/nodejs-10 コンテナーイメージを表します)。