第2章 アプリケーションライフサイクル管理
2.1. Developer パースペクティブを使用したアプリケーションの作成
Web コンソールの Developer パースペクティブでは、Add ビューからアプリケーションおよび関連サービスを作成し、それらを OpenShift Container Platform にデプロイするための以下のオプションが提供されます。
- From Git: このオプションを使用して、Git リポジトリーの既存のコードベースをインポートし、OpenShift Container Platform でアプリケーションを作成し、ビルドし、デプロイします。
- Container Image: イメージストリームまたはレジストリーからの既存イメージを使用し、これを OpenShift Container Platform にデプロイします。
- From Catalog: Developer Catalog で、イメージビルダーに必要なアプリケーション、サービス、またはソースを選択し、これをプロジェクトに追加します。
- From Dockerfile: Git リポジトリーから dockerfile をインポートし、アプリケーションをビルドし、デプロイします。
- YAML: エディターを使用して YAML または JSON 定義を追加し、リソースを作成し、変更します。
- Database: Developer Catalog を参照して、必要なデータベースサービスを選択し、これをアプリケーションに追加します。
Developer パースペクティブの Serverless オプションは、OpenShift Serverless Operator がクラスターにインストールされている場合にのみ表示されます。
2.1.1. 前提条件
Developer パースペクティブを使用してアプリケーションを作成するには、以下を確認してください。
- Web コンソールにログインしている。
- Developer パースペクティブにいる。
- OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するための適切なプロジェクト内のロールおよびパーミッションがある。
前述の前提条件に加えてサーバーレスアプリケーションを作成するには、以下を確認します。
2.1.2. Git のコードベースのインポートおよびアプリケーションの作成
以下の手順では、Developer パースペクティブの Git からのインポートオプションを使用してアプリケーションを作成します。
以下のように GitHub で既存のコードベースを使用して、OpenShift Container Platform でアプリケーションを作成し、ビルドし、デプロイします。
手順
- Add ビューで From Git をクリックし、Import from Git フォームを表示します。
-
Git セクションで、アプリケーションの作成に使用するコードベースの Git リポジトリー URL を入力します。たとえば、このサンプル nodejs アプリケーションの URL
https://github.com/sclorg/nodejs-ex
を入力します。その後、URL は検証されます。 オプション: Show Advanced Git Options をクリックし、以下のような詳細を追加できます。
- Git Reference: アプリケーションのビルドに使用する特定のブランチ、タグ、またはコミットのコードを参照します。
- Context Dir: アプリケーションのビルドに使用するアプリケーションのソースコードのサブディレクトリーを指定します。
- Source Secret: プライベートリポジトリーからソースコードをプルするための認証情報で Secret Name を作成します。
-
Builder セクションで、URL の検証後に、適切なビルダーイメージが検出され、スターのマークが付けられ、自動的に選択されます。
https://github.com/sclorg/nodejs-ex
Git URL の場合、Node.js ビルダーイメージがデフォルトで選択されます。必要に応じて、Builder Image Version のドロップダウンリストを使用してバージョンを変更できます。 General セクションで、以下を実行します。
-
Application フィールドに、アプリケーションを分類するために一意の名前 (
myapp
など) を入力します。アプリケーション名が namespace で一意であることを確認します。 Name フィールドで、このアプリケーション用に作成されたリソースが Git リポジトリー URL をベースとして自動的に設定されることを確認します。
注記リソース名は namespace で一意である必要があります。エラーが出る場合はリソース名を変更します。
-
Application フィールドに、アプリケーションを分類するために一意の名前 (
Resources セクションで、以下を選択します。
- Deployment: 単純な Kubernetes スタイルのアプリケーションを作成します。
- Deployment Config: OpenShift スタイルのアプリケーションを作成します。
- Knative Service: マイクロサービスを作成します。
注記Knative Service オプションは、Serverless Operator がクラスターにインストールされている場合にのみ、Import from git 形式で表示されます。詳細は、OpenShift Serverless のインストールについてのドキュメントを参照してください。
- Advanced Options セクションでは、Create a route to the application がデフォルトで選択されるため、公開されている URL を使用してアプリケーションにアクセスできます。アプリケーションをパブリックルートに公開したくない場合は、チェックボックスをクリアできます。
オプション: 以下の高度なオプションを使用してアプリケーションをさらにカスタマイズできます。
- ルーティング
Routing リンクをクリックして、以下を実行します。
- ルートのホスト名をカスタマイズします。
- ルーターが監視するパスを指定します。
- ドロップダウンリストから、トラフィックのターゲットポートを選択します。
Secure Route チェックボックスを選択してルートを保護します。必要な TLS 終端タイプを選択し、各ドロップダウンリストから非セキュアなトラフィックについてのポリシーを設定します。
サーバーレスアプリケーションの場合、Knative Service が上記のすべてのルーティングオプションを管理します。ただし、必要に応じて、トラフィックのターゲットポートをカスタマイズできます。ターゲットポートが指定されていない場合、デフォルトポートの
8080
が使用されます。
- ビルドおよびデプロイメント設定
- Build Configuration および Deployment Configuration リンクをクリックして、各設定オプションを表示します。オプションの一部はデフォルトで選択されています。必要なトリガーおよび環境変数を追加して、オプションをさらにカスタマイズできます。サーバーレスアプリケーションの場合、Deployment Configuration オプションは表示されません。これは、Knative 設定リソースが DeploymentConfig の代わりにデプロイメントの状態を維持するためです。
- スケーリング
Scaling リンクをクリックして、最初にデプロイするアプリケーションの Pod 数またはインスタンス数を定義します。
サーバーレスアプリケーションの場合、以下を実行できます。
- Autoscaler で設定できる Pod 数の上限および下限を設定します。下限が指定されない場合は、デフォルトでゼロに設定されます。
- 指定された時点でのアプリケーションインスタンスごとに必要な同時要求数のソフト制限を定義します。自動スケーリングの推奨設定です。指定されていない場合は、クラスター設定で指定した値を使用します。
- 指定された時点でのアプリケーションインスタンスごとに許可される同時要求数のハード制限を定義します。これは、リビジョンテンプレートで設定されます。指定されていない場合、デフォルトでクラスター設定で指定された値に設定されます。
- リソースの制限
- Resource Limit リンクをクリックして、コンテナーが実行時に保証または使用が許可されている CPU および メモリー リソースの量を設定します。
- ラベル
- Labels リンクをクリックして、カスタムラベルをアプリケーションに追加します。
- Create をクリックして、アプリケーションを作成し、Topology ビューでビルドのステータスを確認します。