type
Post
status
Published
date
Feb 26, 2025
slug
summary
tags
DO285
Redhat
EX280
学習ノート
category
民間資格勉強
icon
password
ソリューション:マルチコンテナアプリケーションのデプロイ
このラボでは、OpenShiftテンプレートを使用して、PHPアプリケーションとMySQLデータベースをデプロイし、アプリケーションに必要なリソースを定義します。
成果物
複数のコンテナで構成されたOpenShiftアプリケーションを作成し、ウェブブラウザーを通じてアクセスできるようになります。
始める前に
第7章「OpenShift Container Platformのインストール」のラボをすべて完了し、マスターと2つのノードを持つOpenShift Container Platformクラスターが稼働している必要があります。もしまだ実施していない場合は、以下のコマンドを使用してマスター、ノード1、ノード2ホストをリセットし、作業ホストで環境が正しく設定されていることを確認してください。
クラスターが開始され、必要なファイルがダウンロードされることを確認するため、作業ホストで以下のコマンドを実行します。
1. OpenShiftクラスターにログインし、この演習用の新しいプロジェクトを作成
1.1. ワークステーションVMから、管理者ユーザーとしてログインします。
ターミナルウィンドウで以下のコマンドを実行します。
oc login コマンドが「安全でない接続の使用」に関して尋ねてきた場合は、y(はい)と答えます。
1.2. OpenShiftで新しいプロジェクト「deploy」を作成します。
以下のコマンドを実行してプロジェクトを作成します。
1.3. デフォルトのクラスターセキュリティポリシーを緩和します。
適切な権限でコンテナを実行できるように、提供されたsetpolicy.shシェルスクリプトを使用してセキュリティポリシーを設定します。
2. データベースコンテナイメージのビルドとプライベートレジストリへの公開
2.1. 提供されたDockerfileとビルドスクリプトを使用してMySQLデータベースイメージをビルドします。
2.2. MySQLイメージをプライベートレジストリにプッシュします。
イメージにタグ「registry.lab.example.com/do285/mysql-57-rhel7」を付けて、プライベートレジストリにプッシュします。
3. PHPコンテナイメージのビルドとプライベートレジストリへの公開
3.1. 提供されたDockerfileとビルドスクリプトを使用してPHPイメージをビルドします。
3.2. PHPイメージにタグを付けて、プライベートレジストリにプッシュします。
4. 提供されたテンプレートファイル /home/student/DO285/labs/deploy-multicontainer/quote-php-template.json を確認
テンプレート内で定義されたポッド、サービス、および永続ボリュームクレームの設定を確認します。
5. アプリケーションに必要な永続ボリュームを作成
提供されたcreate-pv.shスクリプトを使用して永続ボリュームを作成します。
6. PHPアプリケーションテンプレートをアップロード
以下のコマンドでテンプレートをプロジェクトにアップロードします。
7. アップロードしたテンプレートを処理してアプリケーションリソースを作成
7.1. oc process コマンドを使用してテンプレートファイルを処理し、結果を oc create コマンドにパイプで送ってアプリケーションを作成します。
7.2. デプロイのステータスを確認します。
8. サービスを公開
PHP Quoteアプリケーションを外部ネットワークからアクセスできるようにするため、oc expose コマンドでquote-phpサービスを公開します。
9. アプリケーションのテスト
9.1. oc get route コマンドでアプリケーションが利用可能なFQDNを確認します。
9.2. curl コマンドでPHP QuoteアプリケーションのREST APIをテストします。
10. クリーンアップ
10.1. 演習で使用したプロジェクトを削除します。
10.2. 提供されたdelete-pv.shスクリプトを使用して永続ボリュームを削除します。
10.3. Dockerfileビルド時に生成したコンテナイメージを削除します。
これでラボは終了です。

 
概要
この章では、以下の内容を学びました:
  • コンテナ化されたアプリケーションは、サービスを見つけるために固定IPアドレスやホスト名に依存することはできません。DockerとKubernetesは、ネットワーク接続パラメータを定義する環境変数を提供する仕組みを提供します。
  • ユーザー定義のDockerネットワークを使用すると、コンテナは他のコンテナと名前で通信できるようになります。コンテナが相互に通信できるようにするためには、同じユーザー定義ネットワークに接続する必要があります。これには、docker runコマンドの-networkオプションを使用します。
  • Kubernetesサービスは、同じプロジェクト内のすべてのポッドに注入される環境変数を定義します。
  • Kubernetesのテンプレートは、サービスによって相互接続された複数のポッドから構成されるアプリケーションを自動的に作成します。
  • テンプレートパラメータは、複数のポッドに対する環境変数を定義します。
 
43- 第10章:OpenShift でのマルチコンテナアプリケーションのデプロイ-2:テンプレートの演習45- 第11章:コマンドの実行-1:CLIを使用したリソースの構成の説明
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

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

📚 発信内容

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