イントロダクション

完了

あなたは Java 開発者であり、オンプレミス のサーバーで実行するアプリをビルドしてデプロイしているとします。 これらのサーバーを調整し、依存関係、スケーリング、その他の考慮事項を管理するのは困難なプロセスです。

ハードウェアをエミュレートする仮想マシンとは異なり、コンテナーは通常のプロセスとしてホスト オペレーティング システム、カーネル、ハードウェアの上で直接実行されます。 このシンプルさのため、コンテナーに必要なシステム リソースが少なくなります。 その結果、オーバーヘッドが大幅に少なく、アプリの起動時間が短縮され、オンデマンドでスケーリングするための優れたユース ケースが得られます。

コンテナーを使用すると、アプリと依存関係がコンテナー イメージで常に分離され、大規模なデプロイの準備が整っていることを確認できます。

このモジュールでは、まず既存の Java アプリをコンテナー化します。 オープンインターネットから、 MITライセンスで共有されている フライト予約システム は、JavaサーブレットとJavaサーバーページ(JSP)を使用して作られたモデルビューコントローラ(MVC)アーキテクチャを使用して構築されたサンプル航空会社に基づいて、完全に応答性の高いサンプルWebベースのフライト予約システムです。 元の Web アプリケーションは、Java SE 8 と Tomcat 8.5 で実行するように設計されています。 ただし、アプリケーションを最新化するように更新され、Java SE 17 と Tomcat 10.1 で実行できるようにしました。

アプリをコンテナー化したら、Dockerfile を構築し、コンテナー イメージを構築するために必要な Docker 命令を記述します。 次に、コンテナー イメージをローカルで実行し、アプリをテストします。 その後、コンテナー イメージを Azure Container Registry にプッシュし、Azure Kubernetes Service にデプロイします。

このモジュールを終了すると、Java アプリをコンテナー化し、コンテナー イメージを Azure Container Registry にプッシュしてから、Azure Kubernetes Service にデプロイできるようになります。

リソースを作成、更新、削除するためのアクセス権を持つ独自の Azure サブスクリプションを使用して、このモジュールのリソースをデプロイします。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

重要

Azure サブスクリプションでの不必要な課金を避けるために、このモジュールを終了したら Azure リソースをプロビジョニング解除することを忘れないでください。

学習目標

このモジュールを終了すると、次のタスクを実行できるようになります。

  • Java アプリをコンテナー化します。
  • Java アプリのコンテナー イメージをビルドします。
  • コンテナー イメージをローカルで実行します。
  • Azure Container Registry にコンテナー イメージをプッシュします。
  • コンテナー イメージを Azure Kubernetes Service にデプロイします。

[前提条件]

Java 開発者は、既にアプリの構築に精通しています。 このモジュールの演習を完了すると、個人の Azure アカウントを使用します。 以下のリソースがあることを確認してください。

  • リソースを作成、更新、削除するためのアクセス権を持つ Azure サブスクリプション。
  • Docker CLI、Git CLI、Azure CLI バージョン 2.66 以降のローカル インストール。