type
status
date
slug
summary
tags
category
icon
password
书籍
ガイド付き演習ソース・ツー・イメージ(S2I)を使ってコンテナ化されたアプリケーションを作成する
この演習では、Source-to-Image(S2I)コンテナを使ってアプリケーションをビルドし、OpenShiftクラスターにデプロイします。
成果物
以下のことができるようになります:
- Source-to-Imageコンテナの構成と、コンテナ内でアプリケーションをビルドおよび実行するために使われるスクリプトについて説明できる。
- OpenShiftコマンドラインインターフェース(CLI)を使って、ソースコードからアプリケーションをビルドできる。
- OpenShiftコマンドラインインターフェースを使用して、アプリケーションのデプロイが成功したことを確認できる。
始める前に
第7章「OpenShift Container Platformのインストール」でのすべてのラボを完了し、マスターと2つのノードを持つOpenShiftクラスターが実行されている必要があります。もしまだセットアップしていない場合、以下のコマンドをワークステーションホストで実行して環境が正しく設定されていることを確認してください:
マスター、node1、node2ホストが起動していることを確認し、このガイド付き演習に必要なファイルをダウンロードするために、ワークステーションで以下のコマンドを実行してください:
1. PHPバージョン5.6のSource-to-Imageコンテナのソースコードを確認する
1.1.
tree
コマンドを使って、コンテナイメージを構成するファイルを確認します:(ファイル構成が表示されます)
1.2.
s2i-php-container/5.6/s2i/bin/assemble
スクリプトを確認します。このスクリプトは、PHPのソースコードを
/tmp/src/
ディレクトリからコンテナ作業ディレクトリに移動する方法を示しています。OpenShiftのSource-to-Imageプロセスは、oc new-app
コマンドまたはウェブコンソールでアプリケーションをビルドするときに提供されるGitリポジトリに対して git clone
コマンドを実行します。このスクリプトの残りの部分は、アプリケーションが要求するPHPパッケージを取得するための処理をサポートします。1.3.
s2i-php-container/5.6/s2i/bin/run
スクリプトを確認します。このスクリプトは、PHPコンテナが実行するコマンド(CMD)として実行されます。HTTPリクエストに対してPHPコードを実行するために、Apache HTTPサービスを設定し実行します。
1.4.
s2i-php-container/5.6/Dockerfile.rhel7
ファイルを確認します。このDockerfileは、PHPのSource-to-Imageコンテナをビルドします。Red Hat Software Collections LibraryからPHPとApache HTTPサーバをインストールし、以前に確認したSource-to-Imageスクリプトを適切な場所にコピーし、OpenShiftクラスターで実行するためにファイルやファイルの権限を変更します。
2. OpenShiftにログインする
ログイン成功後、「プロジェクトがない」と表示されますが、次のステップで新しいプロジェクトを作成します。
3. 新しいプロジェクト「s2i」を作成する
これで「s2i」プロジェクトが作成されます。
4. Gitリポジトリ http://services.lab.example.com/php-helloworld
からSource-to-Imageを使用してPHPアプリケーションを作成する
4.1.
oc new-app
コマンドを使用してPHPアプリケーションを作成します:4.2. ビルドが完了し、アプリケーションがデプロイされるのを待ちます。その後、
oc new-app
コマンドによって作成されたリソースを確認します。作成されたBuildConfigリソースを oc describe
で確認します:このコマンドは、ビルドの状態や、ビルドに関する詳細な情報を表示します。ビルドが完了し、正常に作成されたことが確認できるはずです。
4.3. このビルドのビルドログを確認します。上記のリストで示されたビルド名を使用し、その名前に「-build」を追加して、ビルドのポッド名(php-helloworld-1-build)を作成します。
最初のステップとして、Gitリポジトリがクローンされたことに注目してください。その後、Source-to-Imageプロセスで新しいコンテナ(
s2i/php-helloworld:latest
)がビルドされました。ビルドプロセスの最後には、このコンテナがOpenShiftのプライベートレジストリにプッシュされました。4.4. このアプリケーションの DeploymentConfig を確認します:
4.5. このアプリケーションの サービス を確認します:
4.6. アプリケーションが変更されたことを確認するために、HTTP GETリクエストを送信してテストします(サービスリストに表示されるIPアドレスを使用):
- Gitリポジトリ内のアプリケーションを変更し、新しいSource-to-Imageビルドを開始するための適切なコマンドを実行して、ビルドを開始する方法を探ります。
5.1. プロジェクトをローカルにクローンします:
5.2.
index.php
ファイルを編集して、次の内容に変更します:ファイルを保存します。
5.3. 変更をコミットし、コードをリモートGitリポジトリにプッシュします:
5.4. 新しいSource-to-Imageビルドプロセスを開始し、ビルドとデプロイが完了するのを待ちます:
5.5. アプリケーションが変更を反映しているか確認するためにテストします:
- ラボを評価します:
- ラボをクリーンアップし、OpenShiftプロジェクトを削除して、KubernetesおよびOpenShiftリソースをすべて削除します:
これで、このガイド付き演習は終了です。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a6d7ae8-88e2-807a-9dea-e2dbaa5b30fb
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章