クラスターの設計と操作Cluster design and operations

クラスター構成とネットワーク設計を特定します。Identify for cluster configuration and network design. インフラストラクチャのプロビジョニングを自動化することで、将来のスケーラビリティに対応します。Future-proof scalability by automating infrastructure provisioning. 事業継続とディザスター リカバリーを計画することで、高可用性を維持します。Maintain high availability by planning for business continuity and disaster recovery.

計画、トレーニング、および証明Plan, train, and proof

開始時に、以下のチェックリストとリソースを使用するとクラスターの設計の計画に役立ちます。As you get started, the checklist and resources below will help you plan the cluster design. 次の質問に答えてください。You should be able answer these questions:

  • クラスターのネットワーク設計要件を特定しましたか?Have you identified the networking design requirements for your cluster?
  • さまざまな要件を含むワークロードはありますか?Do you have workloads with varying requirements? 使用予定のノード プールの数はいくつですか?How many node pools are you going to use?
チェック リストChecklist リソースResources
ネットワーク設計に関する考慮事項を特定する。Identify network design considerations. クラスター ネットワークの設計上の考慮事項を理解して、ネットワーク モデルを比較し、ニーズに合った Kubernetes ネットワーク プラグインを選択します。Understand cluster network design considerations, compare network models, and choose the Kubernetes networking plug-in that fits your needs. Azure Container Networking Interface (CNI) については、ノードあたりの最大ポッド数 (既定値は 30) とノード数の倍数として必要な IP アドレスの数を検討してください。For the Azure container networking interface (CNI), consider the number of IP addresses required as a multiple of the maximum pods per node (default of 30) and number of nodes. アップグレード中に必要なノードを 1 つ追加します。Add one node required during upgrade. ロード バランサー サービスを選択する場合に、公開されるエンドポイントの数を減らすためのサービスが多すぎる場合は、イングレス コントローラーの使用を検討してください。When choosing load balancer services, consider using an ingress controller when there are too many services to reduce the number of exposed endpoints. Azure CNI で適切なルーティングを確保するには、サービス CIDR が仮想ネットワークと接続されているすべての仮想ネットワークで一意である必要があります。For Azure CNI, the service CIDR has to be unique across the virtual network and all connected virtual networks to ensure appropriate routing.
  • Kubernet と Azure Container Networking Interface (CNI)Kubenet and Azure Container Networking Interface (CNI)
  • Azure Kubernetes Service (AKS) の独自の IP アドレス範囲で kubenet ネットワークを使用するUse kubenet networking with your own IP address ranges in Azure Kubernetes Service (AKS)
  • Azure Kubernetes Service (AKS) で Azure CNI ネットワークを構成するConfigure Azure CNI networking in Azure Kubernetes Service (AKS)
  • AKS クラスターのセキュリティで保護されたネットワーク設計Secure network design for an AKS cluster
  • 複数のノード プールを作成する。Create multiple node pools. コンピューティングまたはストレージのさまざまな要件があるアプリケーションをサポートするには、必要に応じて複数のノード プールでクラスターを構成します。To support applications that have different compute or storage demands, you can optionally configure your cluster with multiple node pools. たとえば、追加のノード プールを使用して、コンピューティング集中型アプリケーションに GPU を提供したり、高パフォーマンスな SSD ストレージにアクセスを提供したりします。For example, use additional node pools to provide GPUs for compute-intensive applications or access to high-performance SSD storage.
  • Azure Kubernetes Service  のクラスターの 複数の ノード プールを 作成して 管理する Create and manage multiple node pools for a cluster in Azure Kubernetes Service
  • 可用性の要件を決定する。Decide on availability requirements. Azure Kubernetes Service の背後にある少なくとも 2 つのポッドによって、ポッドのエラー時や再起動時のアプリケーションの高可用性が確保されます。A minimum of two pods behind Azure Kubernetes Service ensures high availability of your application in case of pod failures or restarts. ポッドのエラーや再起動時の負荷を処理するには、3 つ以上のポッドを使用してください。Use three or more pods to handle load during pod failures and restarts. クラスター構成では、99.95% のサービス レベル アグリーメントを満たすために、可用性セットまたは仮想マシン スケールセット内に少なくとも 2 つのノードが必要です。For the cluster configuration, a minimum of 2 nodes in an availability set or virtual machine scale set is required to meet the service-level agreement of 99.95%. ノードのエラー時と再起動時のポッドのスケジューリングを保証するには、少なくとも 3 つのポッドを使用します。Use at least three pods to ensure pod scheduling during node failures and reboots. アプリケーションにより高いレベルの可用性を提供するために、クラスターは可用性ゾーンにまたがって分散させることができます。To provide a higher level of availability to your applications, clusters can be distributed across availability zones. これらのゾーンは、特定のリージョン内の物理的に分離されたデータセンターです。These zones are physically separate datacenters within a given region. クラスター コンポーネントが複数のゾーンに分散されている場合、クラスターは、それらのゾーンのいずれかで障害が発生しても許容できます。When the cluster components are distributed across multiple zones, your cluster is able to tolerate a failure in one of those zones. アプリケーションと管理操作は、1 つのデータセンター全体で障害が発生した場合でも継続して利用できます。Your applications and management operations remain available even if an entire datacenter experiences an outage.
  • 可用性ゾーンを使用する Azure Kubernetes Service (AKS) クラスターを作成するCreate an Azure Kubernetes Service (AKS) cluster that uses availability zones
  • 運用環境へ移行してベスト プラクティスを適用するGo to production and apply best practices

    運用環境向けにアプリケーションを準備するときには、ベスト プラクティスの最小セットを実装する必要があります。As you prepare the application for production, you should implement a minimum set of best practices. この段階で、以下のチェックリストを使用します。Use the checklist below at this stage. 次の質問に答えてください。You should be able to answer these questions:

    • クラスター インフラストラクチャを自信を持って再デプロイできますか?Are you able to confidently redeploy the cluster infrastructure?
    • リソース クォータを適用していますか?Have you applied resource quotas?
    チェック リストChecklist リソースResources
    クラスターのプロビジョニングを自動化する。Automate cluster provisioning. コードとしてのインフラストラクチャを使用することで、インフラストラクチャのプロビジョニングを自動化して災害時の回復性を高め、必要に応じて迅速にインフラストラクチャを再デプロイする機敏性を得ることができます。With infrastructure as code, you can automate infrastructure provisioning to provide more resiliency during disasters and gain agility to quickly redeploy the infrastructure as needed.
  • Terraform を使用して Azure Kubernetes Service で Kubernetes クラスターを作成するCreate a Kubernetes cluster with Azure Kubernetes Service using Terraform
  • ポッド中断バジェットを使用して可用性を計画する。Plan for availability using pod disruption budgets. アプリケーションの可用性を維持するには、ポッド中断バジェット (PDB) を定義して、ハードウェア障害またはクラスターのアップグレード中に最小限の数のポッドがクラスターで使用できるようにします。To maintain the availability of applications, define pod disruption budgets (PDBs) to ensure that a minimum number of pods are available in the cluster during hardware failures or cluster upgrades.
  • ポッド 中断 バジェットを 使用して 可用性を 計画する Plan for availability using pod disruption budgets
  • 名前空間にリソース クォータを適用する。Enforce resource quotas on namespaces. 名前空間レベルでリソース クォータを計画して適用します。Plan and apply resource quotas at the namespace level. クォータは、コンピューティング リソース、ストレージ リソース、およびオブジェクト数に設定できます。Quotas can be set on compute resources, storage resources, and object count.
  • リソース クォータを適用するEnforce resource quotas
  • 最適化とスケールOptimize and scale

    アプリケーションの運用開始後、ワークフローの最適化と、アプリケーションとチームでのスケーリングの準備はどのように行うことができますか?Now that the application is in production, how can you optimize your workflow and prepare your application and team to scale? 最適化とスケーリングのチェックリストを使用して準備してください。Use the optimization and scaling checklist to prepare. 次の質問に答えてください。You should be able to answer these questions:

    • 事業継続とディザスター リカバリーの計画はありますか?Do you have a plan for business continuity and disaster recovery?
    • クラスターでアプリケーションの需要に合わせてスケーリングできますか?Can your cluster scale to meet application demands?
    • クラスターとアプリケーションの正常性を監視し、アラートを受け取ることができますか?Are you able to monitor your cluster and application health and receive alerts?
    チェック リストChecklist リソースResources
    アプリケーションの需要を満たすためにクラスターを自動的にスケーリングする。Automatically scale a cluster to meet application demands. アプリケーションの需要に対応するには、クラスター オートスケーラーを使用してワークロードを自動的に実行するノードの数を調整することが必要な場合があります。To keep up with application demands, you may need to adjust the number of nodes that run your workloads automatically using the cluster autoscaler.
  • Kubernetes クラスター オートスケーラーを構成するConfigure Kubernetes cluster autoscaler
  • 事業継続とディザスター リカバリーを計画する。Plan for business continuity and disaster recovery. 複数リージョンのデプロイを計画して、ストレージ移行計画を作成し、コンテナー イメージの geo レプリケーションを有効にします。Plan for multiregion deployment, create a storage migration plan, and enable geo-replication for container images.
  • リージョンのデプロイのベスト プラクティスBest practices for region deployments
  • Azure Container Registry の geo レプリケーションAzure Container Registry geo-replication
  • 大規模な監視およびトラブルシューティングを構成する。Configure monitoring and troubleshooting at scale. Kubernetes でアプリケーションのアラートと監視を設定します。Set up alerting and monitoring for applications in Kubernetes. 既定の構成、より高度なメトリックを統合する方法、アプリケーションを確実に動作させるために独自のカスタム監視およびアラートを追加する方法について説明します。Learn about the default configuration, how to integrate more advanced metrics, and how to add your own custom monitoring and alerting to reliably operate your application.
  • Kubernetes の監視とアラートの概要 (ビデオ)Get started with monitoring and alerting for Kubernetes (video)
  • コンテナーに対する Azure Monitor を使用してアラートを構成するConfigure alerts using Azure Monitor for containers
  • マスター  コンポーネントの 診断 ログを 確認する Review diagnostic logs for master components
  • Azure Kubernetes Service (AKS) 診断Azure Kubernetes Service (AKS) diagnostics