クイック スタート:Azure portal を使用して Azure Kubernetes Service (AKS) クラスターをデプロイする
Azure Kubernetes Service (AKS) は、クラスターをすばやくデプロイおよび管理することができる、マネージド Kubernetes サービスです。 このクイックスタートでは次の作業を行います。
- Azure portal を使用して AKS クラスターをデプロイします。
- このクラスターで、Web フロントエンドと Redis インスタンスが含まれているサンプルの複数コンテナー アプリケーションを実行します。
このクイックスタートは、Kubernetes の基本的な概念を理解していることを前提としています。 詳細については、「Azure Kubernetes Services (AKS) における Kubernetes の中心概念」を参照してください。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
Cloud Shell について初めて学ぶ場合は、「Azure Cloud Shell の概要」を確認してください。
クラスターの作成に使用している ID には、適切な最小限のアクセス許可が与えられています。 AKS のアクセスと ID の詳細については、「Azure Kubernetes Service (AKS) でのアクセスと ID オプション」を参照してください。
AKS クラスターを作成する
Azure portal にサインインします。
Azure portal メニュー上または [ホーム] ページから [リソースの作成] を選択します。
コンテナー>Kubernetes Service を選択します。
[基本] ページで、次のオプションを構成します。
- プロジェクトの詳細:
- Azure のサブスクリプションを選択します
- Azure リソース グループを選択または作成します (myResourceGroup など)。
- クラスターの詳細:
- プリセットの構成が Standard ($$) であることを確認します。 プリセットの構成の詳細については、Azure portal の「クラスター構成プリセット」を参照してください。
- Kubernetes クラスター名 (たとえば、myAKSCluster) を入力します。
- AKS クラスターの [リージョン] を選択し、[Kubernetes バージョン] は既定値を選択したままにします。
- [API サーバーの可用性] は [99.5%] を選択します。
- プライマリ ノード プール:
- 既定値を選択したままにします。
注意
クラスターを作成するときにプリセットの構成を変更するには、[詳細とプリセットの比較] を選択し、別のオプションを選択します。
- プロジェクトの詳細:
[Next:Node pools](次: ノード プール) を、完了したら選択します。
既定の [ノード プール] オプションのままにします。 ページの下部にある [次へ: アクセス] をクリックします。
[アクセス] ページで、次のオプションを構成します。
- [リソース ID] の既定値は [システム割り当てマネージド ID] です。 マネージド ID は、Azure Active Directory (Azure AD) 認証をサポートするリソースに接続するときに使用する ID をアプリケーションに提供します。 マネージド ID の詳細については、「Azure リソースのマネージド ID とは」を参照してください。
- Kubernetes ロールベースのアクセス制御 (RBAC) オプションは既定値であり、AKS クラスターにデプロイされた Kubernetes リソースへのアクセスをよりきめ細かく制御できます。
既定では、"基本" ネットワークが使用され、Container insights が有効です。
完了したら、[Next: Networking] (次へ: ネットワーク) を選択します。
既定の [ネットワーク] オプションのままにします。 画面の下部にある [次へ: 統合] をクリックします。
[統合] ページで、AKS クラスターに対して推奨される既定のアラートを有効にする場合は、[推奨されるアラート ルールを有効にする] を選択します。 このオプションを選択すると、自動的に有効になっているアラートの一覧が表示されます。
[Review + create](レビュー + 作成) をクリックします。 [確認と作成] タブに移動すると、選択した設定の検証が Azure によって実行されます。 検証に合格した場合は、[作成] を選択して AKS クラスターの作成に進むことができます。 検証が失敗した場合は、変更する必要がある設定が示されます。
AKS クラスターの作成には数分かかります。 デプロイが完了したら、次のいずれかの方法でリソースに移動します。
[リソースに移動] を選択します。
AKS クラスター リソース グループを参照し、AKS リソースを選択します。 この例では、myResourceGroup を参照し、リソース myAKSCluster を選択します。
クラスターに接続する
Kubernetes クラスターを管理するには、Kubernetes のコマンドライン クライアントである kubectl を使います。 Azure Cloud Shell を使用している場合、kubectl
は既にインストールされています。 Cloud Shell について初めて学ぶ場合は、「Azure Cloud Shell の概要」を確認してください。
Azure portal の上部にある
>_
ボタンを使用して Cloud Shell を開きます。Note
ローカル インストールのシェルでこれらの操作を実行するには、次のようにします。
- Azure CLI または Azure PowerShell がインストールされていることを確認します。
az login
またはConnect-AzAccount
のコマンドを使用して Azure に接続します。
az aks get-credentials コマンドを使用して、Kubernetes クラスターに接続するように
kubectl
を構成します。 次のコマンドを使用すると、資格情報がダウンロードされ、それを使用するように Kubernetes CLI が構成されます。az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
クラスター ノードの一覧を返す
kubectl get
を使用して、クラスターへの接続を確認します。kubectl get nodes
出力は、前の手順で作成した単一ノードを示しています。 ノードの状態が "準備完了" であることを確認します。
NAME STATUS ROLES AGE VERSION aks-agentpool-12345678-vmss000000 Ready agent 23m v1.19.11 aks-agentpool-12345678-vmss000001 Ready agent 24m v1.19.11
アプリケーションの配置
Kubernetes のマニフェスト ファイルでは、どのコンテナー イメージを実行するかなど、クラスターの望ましい状態を定義します。
このクイックスタートでは、マニフェストを使用して、Azure Vote アプリケーションを実行するために必要なすべてのオブジェクトを作成します。 このマニフェストには、次の 2 つの Kubernetes デプロイが含まれています。
- サンプルの Azure Vote Python アプリケーション。
- Redis インスタンス。
次の 2 つの Kubernetes サービスも作成されます。
- Redis インスタンス用の内部サービス。
- インターネットから Azure Vote アプリケーションにアクセスするための外部サービス。
Cloud Shell でエディターを開き、
azure-vote.yaml
という名前のファイルを作成します。次の YAML 定義を貼り付けます。
apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 selector: matchLabels: app: azure-vote-back template: metadata: labels: app: azure-vote-back spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-back image: mcr.microsoft.com/oss/bitnami/redis:6.0.8 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 selector: matchLabels: app: azure-vote-front template: metadata: labels: app: azure-vote-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-front image: mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 80 env: - name: REDIS value: "azure-vote-back" --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-front
YAML マニフェスト ファイルの内訳については、「デプロイと YAML マニフェスト」を参照してください。
kubectl apply
コマンドを使用してアプリケーションをデプロイし、ご利用の YAML マニフェストの名前を指定します。kubectl apply -f azure-vote.yaml
出力は、正常に作成されたデプロイとサービスを示しています。
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
アプリケーションをテストする
アプリケーションが実行されると、Kubernetes サービスによってアプリケーション フロント エンドがインターネットに公開されます。 このプロセスが完了するまでに数分かかることがあります。
進行状況を監視するには、kubectl get service
コマンドを --watch
引数と一緒に使用します。
kubectl get service azure-vote-front --watch
azure-vote-front
サービスの [EXTERNAL-IP] の出力は、最初は pending と表示されます。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
EXTERNAL-IP アドレスが保留中から実際のパブリック IP アドレスに変わったら、CTRL-C
を使用して kubectl
ウォッチ プロセスを停止します。 次の出力例は、サービスに割り当てられている有効なパブリック IP アドレスを示しています。
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Azure Vote アプリが動作していることを確認するには、Web ブラウザーを開いてサービスの外部 IP アドレスにアクセスします。
クラスターを削除する
Azure の課金を回避するために、この後のチュートリアルを実行しない場合は、不要なリソースをクリーンアップしてください。 AKS クラスター ダッシュボードの [削除] ボタンを選択します。 az group delete コマンドまたは Remove-AzResourceGroup コマンドレットを使用して、リソース グループ、コンテナー サービス、すべての関連リソースを削除することもできします。
az group delete --name myResourceGroup --yes --no-wait
注意
AKS クラスターは、システム割り当てマネージド ID を使用して作成されました。 この ID はプラットフォームによって管理され、削除は必要ありません。
次の手順
このクイック スタートでは、Kubernetes クラスターをデプロイし、そこにサンプルの複数コンテナー アプリケーションをデプロイしました。
アプリケーションの構築、Azure Container Registry からのデプロイ、実行中のアプリケーションの更新、クラスターのスケーリングとアップグレードなどを含む完全な例を見ながら AKS の詳細について学習するには、Kubernetes クラスター チュートリアルに進んでください。