type
Post
status
Published
date
Feb 26, 2025
slug
summary
tags
DO285
Redhat
EX280
学習ノート
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アドレスを使用):

  1. Gitリポジトリ内のアプリケーションを変更し、新しいSource-to-Imageビルドを開始するための適切なコマンドを実行して、ビルドを開始する方法を探ります。
5.1. プロジェクトをローカルにクローンします:
5.2. index.php ファイルを編集して、次の内容に変更します:
ファイルを保存します。
5.3. 変更をコミットし、コードをリモートGitリポジトリにプッシュします:
5.4. 新しいSource-to-Imageビルドプロセスを開始し、ビルドとデプロイが完了するのを待ちます:
5.5. アプリケーションが変更を反映しているか確認するためにテストします:

  1. ラボを評価します:
  1. ラボをクリーンアップし、OpenShiftプロジェクトを削除して、KubernetesおよびOpenShiftリソースをすべて削除します:
これで、このガイド付き演習は終了です。
 
36- 第9章:OpenShift上でのコンテナ化アプリケーションのデプロイ-3:(S2I)でアプリケーション作成の説明38- 第9章:OpenShift上でのコンテナ化アプリケーションのデプロイ-5:ルートの作成の説明
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録