Azure Kubernetes Service (AKS) - 設計と運用を計画する

Kubernetes は、コンテナー化されたアプリケーションのデプロイ、スケーリング、管理を自動化するオープンソース システムです。 マネージド Kubernetes クラスターを Azure にデプロイするには、Azure Kubernetes Service (AKS) をお勧めします。

組織では、さまざまな料金でAzureに Kubernetes を採用しています。 組織の旅は、他のテクノロジーを採用する方法と同様の道をたどる可能性があります。 基礎を学習し、役割と責任に関して組織を調整し、運用環境に対応したワークロードをデプロイします。 そこから、顧客とビジネスの需要の変化に合わせてソリューションを反復して拡張します。

AKS 導入体験を示す図。

AKS の概要

Kubernetes または AKS を初めて使用する場合は、Microsoft Learn から始めます。 この無料のオンライン プラットフォームは、Microsoft製品の対話型トレーニングを提供します。 Azureラーニング パスでは、コンテナー、AKS クラスター管理、ワークロードのデプロイの主要な概念について説明します。

運用へのパス

Kubernetes の利点とトレードオフを理解したら、AKS がワークロードに適したコンピューティング プラットフォームAzureかどうかを評価し、このテクノロジの組織ポリシーを確立します。

ほとんどの運用ワークロードでは、AKS Automatic から始めます。 AKS Automatic は、Azure Well-Architected Framework の推奨事項に従って事前構成された設定です。 これには、ノード管理、スケーリング、セキュリティ ポリシー、アップグレードの組み込み構成が含まれています。 この構成により、プラットフォーム エンジニアリングに費やす時間が短縮されます。

ワークロードでネットワーク、ノード プール、アップグレードの頻度、または承認を明示的に制御する必要がある場合は、 AKS Standard を使用して完全にカスタマイズするための参照アーキテクチャとして AKS ベースライン クラスターを使用します。

AKS パスを選択する

次の表は、ワークロードの要件に基づいて AKS Automatic と AKS Standard を選択するのに役立ちます。

お客様のワークロードのニーズ 推奨パス なぜでしょうか
迅速な配信に重点を置いた初期の Kubernetes 成熟度 AKS Automatic プラットフォーム管理の複雑さを軽減します。チームは、インフラストラクチャのチューニングではなく、アプリケーションに焦点を当てています。
標準的なセキュリティ、スケーリング、ネットワークを使用した一般的なアプリホスティング AKS Automatic 運用対応の既定値が事前構成済み。 自動ノード管理、HPA/KEDA/VPA の有効化、自動アップグレード、組み込みの SLA、マネージド セキュリティ ポリシー、効率的なビンパッキング。 プラットフォーム エンジニアリングのオーバーヘッドを削減します。
ノード プール、ネットワーク トポロジ、またはアップグレード周期を明示的に制御する AKS Standard のベースライン アーキテクチャに従う AKS ベースライン クラスター参照アーキテクチャを使用した完全なカスタマイズ。 高度なネットワーク構成、カスタム CNI、およびきめ細かなコンポーネント制御をサポートします。
厳格なコンプライアンス管理と監査証跡を必要とする規制された環境 規制されたクラスター アーキテクチャに従う AKS Standard PCI DSS アーキテクチャは、多くの規制対象に対応できるコンプライアンス パターンを示しています。 これには、すべてのコンポーネントに対する明示的な制御が含まれており、規制の検証とコンプライアンスに関するドキュメントが可能になります。
確立されたプラットフォームエンジニアリングプロセスとアーキテクチャ標準 AKS Standard 高度な運用パターンと組織の標準化をサポートします。

AKS Automatic: 標準で本番運用対応

AKS 自動では、多くの運用タスクを事前に構成して自動化し、運用ワークロードの実行に必要な決定の数と手動構成を減らします。

AKS Automatic で事前構成されているもの

  • マネージド システム ノード プール: AKS は、ユーザーに代わってシステム コンポーネントをプロビジョニングし、運用します。 コントロール プレーンの仮想マシンを管理することはありません。
  • 自動スケーリング: 水平ポッド オートスケーラー (HPA)、Kubernetes Event-Driven Autoscaler (KEDA)、および Vertical Pod Autoscaler (VPA) は、ワークロードの需要に合わせて自動的に有効になります。
  • 自動アップグレード: クラスターとノードの OS イメージのアップグレードは、安全な間隔で自動化されます。
  • 組み込みの可観測性: Prometheus (メトリック) と Container insights (ログ) のマネージド サービスAzure Monitor既定で有効になっています。
  • 組み込みのセキュリティ制御: デプロイセーフガード、ワークロード ID、OIDC 発行者、および API サーバー仮想ネットワーク統合は、Kubernetes のベスト プラクティスを適用するように事前構成されています。
  • 効率的なリソース使用率: ポッドは、使用率を最大化し、アイドル容量を最小限に抑えるために、ノード間で効率的にビン詰めされます。
  • 含まれる SLA: Pod の準備完了 SLA(5 分以内に 99.9%)とアップタイム SLA(99.95%)が含まれています。

完全な機能の比較については、 AKS 自動と AKS Standard の比較に関する記事を参照してください。

AKS Standard: ベースライン アーキテクチャと特殊なシナリオ

AKS Automatic の事前構成済みエクスペリエンスを超えたカスタマイズが必要な場合は、AKS ベースライン クラスターを参照アーキテクチャとして使用します。 ベースラインでは、AKS Standard の運用対応設計パターン、セキュリティ制御、運用のベスト プラクティスを示します。

ベースライン実装から設計を開始し、ワークロード固有のニーズに合わせて変更します。

特定のシナリオに特化したアーキテクチャ

次のベースライン実装では、一般的なアプリ ホスティング以外の特定のユース ケース用に AKS ベースライン クラスターのコンポーネントを設定する方法について説明します。

マイクロサービス

ベースライン クラスターでマイクロサービスを実行する場合は、ネットワーク ポリシーとポッドの自動スケーリングを設定し、監視のために分散トレースを実装する必要があります。

高セキュリティ コンプライアンス

規制対象の環境では、より強力なセキュリティ制御と制限付きクラスター操作を使用して、ベースラインの実装を強化します。 次の例は、財務的に規制されたワークロードを実行するクラスターを示しています。

事業継続とディザスター リカバリー

回復性の高いソリューションの場合は、アクティブ/アクティブな高可用性構成内のリージョン間で複数のベースライン クラスター インスタンスをデプロイします。

ベスト プラクティス

継続的な操作の一環として、クラスターが推奨されるベスト プラクティスと一致していることを定期的に確認します。

AKS 自動クラスターの場合: 多くのベスト プラクティスが既定で実装されています。 AKS 自動ドキュメントを確認して、事前構成されているパターンと、ワークロードに追加の構成が必要になる可能性がある場所を理解します。

AKS Standard クラスターの場合: まず、クラスターを AKS ベースライン クラスター に合わせ、ベスト プラクティスドキュメントの推奨事項を適用します。

詳細については、以下を参照してください:

また、これらのベスト プラクティスに対する調整を整理して追跡する方法として、 AKS チェックリスト のようなコミュニティ主導のユーティリティを評価することも検討してください。

運用ガイド

ワークロードを AKS にデプロイすると、 2 日目の操作 が優先されます。 AKS day-2 運用ガイドは、顧客の要求を満たし、最適化されたトリアージ プロセスを通じてインシデント対応を処理するのに役立ちます。

ワークロードとクラスターの監視

AKS クラスターで監視を有効にして、メトリックとログを収集します。 次に、そのデータを分析、視覚化、応答して、最適な正常性とパフォーマンスを維持します。

AKS 自動クラスターには、メトリック用の Prometheus 用Azure Monitorマネージド サービスと、ログの Container insights が既定で有効になっています。 必要に応じて、高度な視覚化のためにAzure Managed Grafanaを有効にすることができます。

AKS Standard クラスターでは、Prometheus、Container Insights、および Azure Managed Grafana のマネージド サービスでAzure Monitorを使用して個別に監視を構成し、クラスターレイヤーとアプリケーション レイヤー間でエンドツーエンドの可視性を提供する必要があります。

AKS を最新の状態に保つ

Kubernetes と AKS は急速に進化します。 ロードマップを確認し、情報に基づいてアーキテクチャ上の決定を行い、計画されている非推奨事項を予測します。

その他のリソース

一般的な AKS 体験は、AKS に関する学習から、新しい製品や顧客の需要を満たすために既存のクラスターを成長させるまで、さまざまなものがあります。 次のリソースは、その過程で特定の状況に関する参考資料を提供します。

サンプル ソリューション

次のソリューション例では、AKS を基盤として使用します。

Azure Arc対応 Kubernetes

AKS は、Azureでマネージド Kubernetes エクスペリエンスを提供します。 ただし、Azure Arc 対応 Kubernetes を使用して、独自の Kubernetes クラスターで一部のワークロードを管理することをお勧めします。 サポートされているクラスターには、Red Hat OpenShift、SUSE Rancher Kubernetes Engine (RKE)、Canonical Charmed Kubernetes などがあります。

また、Kubernetes クラスター API プロバイダー Azure クラスターでAzure Arc管理を使用して、コンテナーの分析情報やAzure Policy Azure MonitorなどのAzure Resource Manager表現とクラスター拡張機能を活用することもできます。 Azure Arc対応の Kubernetes では、Azure Local の AKS、および他のクラウド プロバイダーで実行される Kubernetes クラスターもサポートされます。

管理サービス プロバイダー

マネージド サービス プロバイダーは、Azure Lighthouseを使用して複数の顧客のリソースを管理します。 AKS では、ホストされている Kubernetes 環境を管理し、顧客のテナント内にコンテナー化されたアプリケーションをデプロイできるように、Azure Lighthouseがサポートされています。

AWS または Google Cloud プロフェッショナル

次の記事では、Azure サービスを他のクラウド プラットフォームと比較して、Azureをすぐに開始するのに役立ちます。