☸️

AKS にコンテナ アプリを ACR Build でデプロイ

難易度:中級
所要時間:60 分

ラボ概要

事前構築の AKS と ACR に対して、Python (Flask) アプリをコンテナ化して `az acr build` でクラウドビルド → AKS にデプロイ → LoadBalancer Service で外部公開します。

このラボでは、Kubernetes プラットフォーム上にマイクロサービスを展開する開発者の想定で、シンプルな Python Web アプリのコンテナ化から外部公開までの一貫した DevOps フローを体験します。Docker デーモン不要の az acr build(ACR Tasks)を使ってクラウド側でコンテナをビルドし、AKS の Managed Identity を通じて ACR からプル、Kubernetes の Deployment + LoadBalancer Service で Public IP 経由のエンドポイントを構築します。

学習目標:

  • Cloud Shell で Python (Flask) アプリと Dockerfile および Kubernetes Manifest をヒアドキュメントで作成する
  • az acr build を使ってクラウド側で Docker イメージをビルドし、ACR にプッシュする(ローカル Docker 不要)
  • az aks get-credentials で AKS の kubeconfig を Cloud Shell にマージする
  • Kubernetes Deployment Manifest(Pod replicas + container image)を kubectl apply で適用する
  • Kubernetes Service Manifest(LoadBalancer SKU)を適用して Public IP 経由で外部公開する
  • kubectl rollout status で Deployment 進捗を、kubectl get service で Public IP 取得を確認する
  • ブラウザで HTTP 応答(Hello from AKS!)を取得して動作検証する
前提知識:
  • Container と Docker の基本概念
  • Kubernetes の Pod / Deployment / Service の概念
  • Cloud Shell および bash の基本コマンド
  • YAML の文法
完了条件:
  • ACR に myapp:latest のコンテナ イメージがプッシュされていること
  • AKS クラスタに myapp-deployment の Deployment が 3 replicas で稼働していること
  • AKS クラスタに myapp-service の LoadBalancer Service が Public IP を割り当てられて稼働していること
  • ブラウザまたは curl で Public IP に HTTP アクセスして Hello from AKS! を取得できること
☸️

ハンズオンラボとは?

本物の Azure リソースを使い、リスクなく試行錯誤しながら実践的なスキルを身につけられます。

他のラボを見る