Azure Kubernetes Service

Azure Kubernetes Service (AKS) を使用すると、運用上のオーバーヘッドが Azure にオフロードされるため、Azure でのマネージド Kubernetes クラスターのデプロイが簡素化されます。 ホストされた Kubernetes サービスとして、Azure によって正常性監視やメンテナンスなどの重要なタスクが処理されます。 AKS クラスターを作成すると、コントロール プレーンが自動的に作成されて構成されます。 このコントロール プレーンは、ユーザーから抽象化されたマネージド Azure リソースとして無料で提供されます。 AKS クラスターに接続されているノードに対してのみ課金され、管理します。

次のものを使用して、AKS クラスターを作成できます。

AKS クラスターをデプロイするときに、ノードの数とサイズを指定すると、AKS によって Kubernetes コントロール プレーンとノードがデプロイし構成されます。 デプロイ プロセス中に、高度なネットワークAzure Active Directory (Azure AD) 統合監視、およびその他の機能を構成できます。

Kubernetes の基礎の詳細については、AKS における Kubernetes の中心概念に関するページを参照してください。

Note

このサービスは Azure Lighthouse をサポートしているため、サービス プロバイダーは各自のテナントにサインインして、顧客から委任されたサブスクリプションやリソース グループを管理することができます。

AKS では、Windows Server コンテナーもサポートされています。

アクセス、セキュリティ、および監視

セキュリティと管理を強化するために、Azure AD と統合して次のことができます。

  • Kubernetes のロールベースのアクセス制御 (Kubernetes RBAC) を使用する。
  • クラスターとリソースの正常性を監視する。

ID とセキュリティ管理

Kubernetes RBAC

クラスター リソースへのアクセスを制限するために、AKS では Kubernetes RBAC がサポートされています。 Kubernetes RBAC によって、Kubernetes のリソースおよび名前空間へのアクセスとアクセス許可が制御されます。

Azure AD

Azure AD と統合するように AKS クラスターを構成できます。 Azure AD との統合により、既存の ID とグループ メンバーシップに基づいて、Kubernetes アクセスを設定できます。 Azure AD の既存のユーザーとグループには、統合されたサインオン エクスペリエンスと AKS リソースへのアクセスを提供できます。

ID の詳細については、AKS でのアクセスと ID オプションに関するページを参照してください。

ご利用の AKS クラスターをセキュリティで保護するには、Azure Active Directory と AKS の統合に関するページを参照してください。

ログ記録と監視の統合

コンテナーの正常性に関する Azure Monitor では、AKS クラスター内のコンテナー、ノード、コン ローラーと、デプロイされているアプリケーションから、メモリとプロセッサのパフォーマンス メトリックを収集します。 コンテナー ログと Kubernetes ログの両方を確認できます。これらの特徴は次のとおりです。

  • Azure Log Analytics ワークスペースに保存されます。
  • Azure portal、Azure CLI、または REST エンドポイントを介して使用できます。

詳細については、「AKS コンテナーの正常性を監視する」を参照してください。

クラスターとノード

AKS ノードは Azure 仮想マシン (VM) で実行されます。 AKS ノードでは、ストレージをノードやポッドに接続し、クラスター コンポーネントをアップグレードして、GPU を使用できます。 AKS では、混在するオペレーティング システムと Windows Server コンテナーをサポートするために複数のノード プールを実行する Kubernetes クラスターがサポートされています。

Kubernetes クラスター、ノード、ノード プールの機能の詳細については、AKS における Kubernetes の中心概念に関する記事をご覧ください。

クラスター ノードとポッドのスケーリング

リソースに対する需要は変化するため、サービスを実行するクラスター ノードやポッドの数は自動的にスケールアップまたはスケールダウンされます。 需要に合わせてポッドの水平オートスケーラーとクラスター オートスケーラーの両方を調整し、必要なリソースのみを実行できます。

詳細については、「AKS クラスターをスケーリングする」を参照してください。

クラスター ノードのアップグレード

AKS では、複数の Kubernetes バージョンを提供しています。 AKS で新しいバージョンが使用できるようになると、Azure portal、Azure CLI、または Azure PowerShell を使用してクラスターをアップグレードできます。 アップグレード プロセス中、実行中のアプリケーションの中断を最小限に抑えるために、ノードは慎重に切断およびドレインされます。

ライフ サイクルのバージョンの詳細については、AKS でサポートされている Kubernetes のバージョンに関するページを参照してください。 アップグレード方法の手順については、「AKS クラスターのアップグレード」を参照してください。

GPU 対応ノード

AKS は GPU 対応ノード プールの作成をサポートしています。 Azure は現在、単一または複数の GPU に対応する VM を提供しています。 GPU 対応 VM は、コンピューティング処理やグラフィック処理の負荷が高い視覚化ワークロードを想定して設計されています。

詳細については、AKS での GPU の使用に関するページを参照してください。

コンフィデンシャル コンピューティング ノード (パブリック プレビュー)

AKS では、Intel SGX ベースのコンフィデンシャル コンピューティング ノード プール (DCSv2 VM) の作成がサポーされています。 コンフィデンシャル コンピューティング ノードを使用すると、ハードウェアベースの高信頼実行環境 (エンクレーブ) でコンテナーを実行できます。 コンテナー間の分離を、構成証明を通じたコード整合性と組み合わせることで、多層防御によるコンテナー セキュリティ戦略を支援できます。 コンフィデンシャル コンピューティング ノードでは、機密コンテナー (既存の Docker アプリ) とエンクレーブ対応コンテナーの両方がサポートされています。

詳細については、AKS のコンフィデンシャル コンピューティング ノードに関するページを参照してください

Mariner ノード

Mariner は Microsoft によって作成されたオープンソースの Linux ディストリビューションであり、Azure Kubernetes Service (AKS) 上のコンテナー ホストとしてプレビューできるようになりました。 Mariner コンテナー ホストは、AKS、AKS-HCI、Arc の製品全体で、クラウドからエッジまでの信頼性と一貫性を提供します。 新しいクラスターに Mariner ノード プールをデプロイすること、既存の Ubuntu クラスターに Mariner ノード プールを追加すること、Ubuntu ノードを Mariner ノードに移行することができます。

詳細については、AKS での Mariner コンテナー ホストの使用 に関するページを参照してください

ストレージ ボリュームのサポート

アプリケーション ワークロードをサポートするため、永続的なデータ用に静的または動的ストレージ ボリュームをマウントできます。 ストレージ ボリュームを共有すると予想される接続されているポッドの数に応じて、以下によってサポートされるストレージを使用できます。

  • 単一ポッドへのアクセスに対応する Azure Disks
  • 複数のポッドへの同時アクセスに対応する Azure Files

詳細については、AKS でのアプリケーションのストレージ オプションに関するページを参照してください。

仮想ネットワークとイングレス

AKS クラスターは、既存の仮想ネットワークにデプロイできます。 この構成では、クラスター内のすべてのポッドは、仮想ネットワーク内の IP アドレスが割り当てられるため、クラスター内の他のポッドや仮想ネットワーク内の他のノードと直接通信することができます。

また、ポッドは、ピアリングされた仮想ネットワーク内の他のサービスに接続することも、ExpressRoute またはサイト間 (S2S) VPN 接続を介してオンプレミス ネットワークに接続することもできます。

詳細については、AKS のアプリケーションにおけるネットワークの概念に関するページを参照してください。

HTTP アプリケーション ルーティングを使用するイングレス

HTTP アプリケーション ルーティング アドオンを利用すると、AKS クラスターにデプロイされたアプリケーションへのアクセスが容易になります。 有効にすると、HTTP アプリケーション ルーティング ソリューションによって AKS クラスター内のイングレス コントローラーが構成されます。

アプリケーションがデプロイされると、パブリック アクセス可能な DNS 名が自動的に構成されます。 HTTP アプリケーション ルーティングにより、DNS ゾーンが設定され、AKS クラスターと統合されます。 その後は、Kubernetes イングレス リソースを通常どおりデプロイできます。

イングレス トラフィックの使用を開始するには、「HTTP アプリケーション ルーティング」を参照してください。

開発ツールの統合

Kubernetes には、AKS とシームレスに連携する開発および管理ツールの豊富なエコシステムがあります。 これらのツールには、HelmVisual Studio Code 用 Kubernetes 拡張機能が含まれます。

Azure には、DevOps Starter など、Kubernetes の効率化に役立つツールがいくつか用意されています。

DevOps Starter

DevOps Starter では、既存のコードおよび Git リポジトリを Azure に取り込むための簡単なソリューションを提供しています。 DevOps Starter では、次のことが自動的に実行されます。

  • Azure リソース (AKS など) を作成します。
  • CI 用のビルド パイプラインを含むリリース パイプラインを Azure DevOps Services に構成する。
  • CD 用のリリース パイプラインをセットアップする。
  • 監視のために Azure Application Insights リソースを生成する。

詳細については、DevOps Starter に関するページを参照してください。

Docker イメージのサポートとプライベート コンテナー レジストリ

AKS は Docker イメージ形式をサポートしています。 Docker イメージのプライベート ストレージのために、AKS を Azure Container Registry (ACR) と統合できます。

プライベート イメージ ストアを作成するには、Azure Container Registry に関するページを参照してください。

Kubernetes 認定

AKS は、Kubernetes 準拠として CNCF 認定されています。

規制に対するコンプライアンス

AKS は、SOC、ISO、PCI DSS、HIPAA に準拠しています。 詳細については、「Overview of Microsoft Azure compliance」 (Microsoft Azure コンプライアンスの概要) を参照してください。

次のステップ

AKS のデプロイと管理の詳細については、こちらを参照してください。