Azure Kubernetes サービス (AKS) で Azure CNI ネットワークを構成するConfigure Azure CNI networking in Azure Kubernetes Service (AKS)

既定では、AKS クラスターでは kubenet が使用されて、仮想ネットワークとサブネットが自動的に作成されます。By default, AKS clusters use kubenet, and a virtual network and subnet are created for you. kubenet を使用すると、ノードでは仮想ネットワーク サブネットから IP アドレスが取得されます。With kubenet, nodes get an IP address from a virtual network subnet. その後、ノードにネットワーク アドレス変換 (NAT) が構成されて、ポッドはノードの IP の背後に "隠ぺいされた" IP アドレスを受け取ります。Network address translation (NAT) is then configured on the nodes, and pods receive an IP address "hidden" behind the node IP. この方法では、ポッド用にネットワーク空間で予約する必要がある IP アドレスの数が減ります。This approach reduces the number of IP addresses that you need to reserve in your network space for pods to use.

Azure Container Networking Interface (CNI) では、すべてのポッドにサブネットから IP アドレスが割り当てられ、すべてのポッドに直接アクセスできます。With Azure Container Networking Interface (CNI), every pod gets an IP address from the subnet and can be accessed directly. これらの IP アドレスは、ネットワーク空間全体で一意である必要があり、事前に計画する必要があります。These IP addresses must be unique across your network space, and must be planned in advance. 各ノードには、サポートされるポッドの最大数に対する構成パラメーターがあります。Each node has a configuration parameter for the maximum number of pods that it supports. ノードごとにそれと同じ数の IP アドレスが、そのノードに対して事前に予約されます。The equivalent number of IP addresses per node are then reserved up front for that node. この方法では詳細な計画が必要であり、多くの場合、IP アドレスが不足するか、アプリケーション需要の拡大に伴い、より大きなサブネットでのクラスターの再構築が必要になります。This approach requires more planning, and often leads to IP address exhaustion or the need to rebuild clusters in a larger subnet as your application demands grow.

この記事では、Azure CNI ネットワークを使用して、AKS クラスター用の仮想ネットワーク サブネットを作成して使用する方法を示します。This article shows you how to use Azure CNI networking to create and use a virtual network subnet for an AKS cluster. ネットワークのオプションと考慮事項について詳しくは、Kubernetes および AKS のネットワークの概念に関する記事をご覧ください。For more information on network options and considerations, see Network concepts for Kubernetes and AKS.

前提条件Prerequisites

  • AKS クラスターの仮想ネットワークでは、送信インターネット接続を許可する必要があります。The virtual network for the AKS cluster must allow outbound internet connectivity.
  • AKS クラスターでは、Kubernetes サービスのアドレス範囲、ポッド アドレス範囲、またはクラスターの仮想ネットワーク アドレス範囲に 169.254.0.0/16172.30.0.0/16172.31.0.0/16192.0.2.0/24 を使用することはできません。AKS clusters may not use 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16, or 192.0.2.0/24 for the Kubernetes service address range, pod address range or cluster virtual network address range.
  • AKS クラスターで使用されるサービス プリンシパルには、少なくとも、ご利用の仮想ネットワーク内のサブネットに対するネットワーク共同作成者アクセス許可が必要です。The service principal used by the AKS cluster must have at least Network Contributor permissions on the subnet within your virtual network. 組み込みのネットワークの共同作成者ロールを使用する代わりに、カスタム ロールを定義する場合は、次のアクセス許可が必要です。If you wish to define a custom role instead of using the built-in Network Contributor role, the following permissions are required:
    • Microsoft.Network/virtualNetworks/subnets/join/action
    • Microsoft.Network/virtualNetworks/subnets/read
  • サービス プリンシパルの代わりに、システム割り当てのマネージド ID をアクセス許可のために使用できます。Instead of a service principal, you can use the system assigned managed identity for permissions. 詳細については、マネージド ID の使用に関するページを参照してください。For more information, see Use managed identities.
  • AKS ノード プールに割り当てられたサブネットを委任されたサブネットにすることはできません。The subnet assigned to the AKS node pool cannot be a delegated subnet.

クラスターの IP アドレス指定を計画するPlan IP addressing for your cluster

Azure CNI ネットワークを使用して構成されたクラスターには、追加の計画が必要です。Clusters configured with Azure CNI networking require additional planning. 仮想ネットワークとそのサブネットのサイズは、実行する予定のポッドの数とクラスターのノードの数に対応できる必要があります。The size of your virtual network and its subnet must accommodate the number of pods you plan to run and the number of nodes for the cluster.

ポッドとクラスターのノードの IP アドレスは、仮想ネットワーク内の指定されたサブネットから割り当てられます。IP addresses for the pods and the cluster's nodes are assigned from the specified subnet within the virtual network. 各ノードは、プライマリ IP アドレスで構成されます。Each node is configured with a primary IP address. 既定では、ノードでスケジュールされたポッドに割り当てられている Azure CNI によって 30 の追加の IP アドレスが事前に構成されています。By default, 30 additional IP addresses are pre-configured by Azure CNI that are assigned to pods scheduled on the node. クラスターをスケールアウトすると、サブネットの IP アドレスを使用して各ノードが同様に構成されます。When you scale out your cluster, each node is similarly configured with IP addresses from the subnet. ノードごとの最大ポッド数も表示できます。You can also view the maximum pods per node.

重要

必要な IP アドレス数では、アップグレードとスケーリング操作も考慮する必要があります。The number of IP addresses required should include considerations for upgrade and scaling operations. 固定数のノードのみをサポートするよう、IP アドレスを範囲設定した場合、ご使用のクラスターをアップグレードしたり、スケーリングすることはできません。If you set the IP address range to only support a fixed number of nodes, you cannot upgrade or scale your cluster.

  • ご使用の AKS クラスターをアップグレードする場合、新しいノードはそのクラスターにデプロイされます。When you upgrade your AKS cluster, a new node is deployed into the cluster. サービスやワークロードは新しいノードで実行され、古いノードはクラスターから削除されます。Services and workloads begin to run on the new node, and an older node is removed from the cluster. このローリング アップグレードの手順では、IP アドレスが最低で追加で 1 ブロック利用可能になっている必要があります。This rolling upgrade process requires a minimum of one additional block of IP addresses to be available. その場合、ノードのカウントは n + 1 になります。Your node count is then n + 1.

    • この考慮事項は、Windows Server ノード プールを使用する場合に特に重要です。This consideration is particularly important when you use Windows Server node pools. AKS の Windows Server ノードでは、Windows の更新プログラムを自動的に適用するのではなく、ノード プール上でアップグレードを実行します。Windows Server nodes in AKS do not automatically apply Windows Updates, instead you perform an upgrade on the node pool. このアップグレードでは、最新の Window Server 2019 ベース ノード イメージとセキュリティ パッチを使用して新しいノードをデプロイします。This upgrade deploys new nodes with the latest Window Server 2019 base node image and security patches. Windows Server ノード プールのアップグレードの詳細については、AKS でのノード プールのアップグレードに関するページを参照してください。For more information on upgrading a Windows Server node pool, see Upgrade a node pool in AKS.
  • AKS クラスターをスケーリングする場合、新しいノードはそのクラスターにデプロイされます。When you scale an AKS cluster, a new node is deployed into the cluster. サービスとワークロードは新しいノードで実行開始されます。Services and workloads begin to run on the new node. クラスターでサポートするノードやポッド数をどのようにスケーリングするかを考慮して、使用する IP アドレスの範囲を考慮する必要があります。Your IP address range needs to take into considerations how you may want to scale up the number of nodes and pods your cluster can support. アップグレード操作用に、ノードを追加で 1 つ含める必要もあります。One additional node for upgrade operations should also be included. その場合、ノードのカウントは n + number-of-additional-scaled-nodes-you-anticipate + 1 になります。Your node count is then n + number-of-additional-scaled-nodes-you-anticipate + 1.

ノードで最大数のポッドを実行し、定期的にポッドを破棄およびデプロイする場合、ノードごとに追加の IP アドレスをいくつか用意することも考慮する必要もあります。If you expect your nodes to run the maximum number of pods, and regularly destroy and deploy pods, you should also factor in some additional IP addresses per node. 新しいサービスをデプロイし、アドレスを取得する場合、サービスを削除して IP アドレスを解放するために数秒かかります。これらの追加の IP アドレスでは、それらが考慮されています。These additional IP addresses take into consideration it may take a few seconds for a service to be deleted and the IP address released for a new service to be deployed and acquire the address.

AKS クラスターの IP アドレス計画は、仮想ネットワーク、ノードとポッドの 1 つ以上のサブネット、および Kubernetes サービスのアドレス範囲で構成されます。The IP address plan for an AKS cluster consists of a virtual network, at least one subnet for nodes and pods, and a Kubernetes service address range.

アドレス範囲/Azure リソースAddress range / Azure resource 制限とサイズ変更Limits and sizing
仮想ネットワークVirtual network Azure の仮想ネットワークは、/8 と同じサイズが可能ですが、構成される IP アドレスの個数は 65,536 に制限されています。The Azure virtual network can be as large as /8, but is limited to 65,536 configured IP addresses. アドレス空間を構成する前に、他の仮想ネットワーク内のサービスとの通信を含め、ネットワークのすべてのニーズを考慮に入れてください。Consider all your networking needs, including communicating with services in other virtual networks, before configuring your address space. たとえば、大きすぎるアドレス空間を構成すると、ネットワーク内の他のアドレス空間と重複する問題が発生する可能性があります。For example, if you configure too large of an address space, you may run into issues with overlapping other address spaces within your network.
SubnetSubnet クラスターにプロビジョニングされている可能性のあるノード、ポッド、すべての Kubernetes、および Azure のリソースを収容するのに十分な大きさである必要があります。Must be large enough to accommodate the nodes, pods, and all Kubernetes and Azure resources that might be provisioned in your cluster. たとえば、内部に Azure Load Balancer をデプロイする場合は、そのフロントエンド IP は、パブリック IP ではなく、クラスター サブネットから割り当てられています。For example, if you deploy an internal Azure Load Balancer, its front-end IPs are allocated from the cluster subnet, not public IPs. アップグレード操作や今後のスケーリングのニーズも、サブネットのサイズで考慮される必要があります。The subnet size should also take into account upgrade operations or future scaling needs.

アップグレード操作用の追加のノードを含む最小のサブネットのサイズの計算には、(number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure) を使用します。To calculate the minimum subnet size including an additional node for upgrade operations: (number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)

たとえば、50 のノードから構成されるクラスターは、(51) + (51 * 30 (default)) = 1,581 (/21 以上) です。Example for a 50 node cluster: (51) + (51 * 30 (default)) = 1,581 (/21 or larger)

たとえば、追加でノードを 10 増やす用意がされている 50 のノードのクラスターは、(61) + (61 * 30 (default)) = 1,891 (/21 以上) です。Example for a 50 node cluster that also includes provision to scale up an additional 10 nodes: (61) + (61 * 30 (default)) = 1,891 (/21 or larger)

クラスターを作成するときにノードごとの最大ポッド数を指定しないと、ノードごとの最大ポッド数は 30 に設定されます。If you don't specify a maximum number of pods per node when you create your cluster, the maximum number of pods per node is set to 30. 必要な最小 IP アドレス数はその値に基づきます。The minimum number of IP addresses required is based on that value. 別の最大値に基づいて最小 IP アドレス要件を計算する場合、how to configure the maximum number of pods per node (ノードごとの最大ポッド数の構成方法) を参照して、クラスターをデプロイするときにこの値を設定します。If you calculate your minimum IP address requirements on a different maximum value, see how to configure the maximum number of pods per node to set this value when you deploy your cluster.

Kubernetes サービスのアドレス範囲Kubernetes service address range この範囲は、この仮想ネットワーク上のネットワーク要素、またはこの仮想ネットワークに接続されているネットワーク要素では使用しないでください。This range should not be used by any network element on or connected to this virtual network. サービスのアドレスの CIDR は、/12 より小さくする必要があります。Service address CIDR must be smaller than /12. この範囲は、さまざまな AKS クラスター間で再利用できます。You can reuse this range across different AKS clusters.
Kubernetes DNS サービスの IP アドレスKubernetes DNS service IP address クラスター サービス検索で使用される、Kubernetes サービスのアドレス範囲内の IP アドレス。IP address within the Kubernetes service address range that will be used by cluster service discovery. アドレス範囲内の最初の IP アドレス (.1 など) は使用しないでください。Don't use the first IP address in your address range, such as .1. サブネット範囲の最初のアドレスは、kubernetes.default.svc.cluster.local アドレスに使用されます。The first address in your subnet range is used for the kubernetes.default.svc.cluster.local address.
Docker ブリッジ アドレスDocker bridge address Docker ブリッジのネットワーク アドレスは、すべての Docker インストールに存在する既定の docker0 ブリッジのネットワーク アドレスを表します。The Docker bridge network address represents the default docker0 bridge network address present in all Docker installations. docker0 ブリッジは AKS クラスターまたはポッド自体では使用されませんが、AKS クラスター内の docker ビルドなどのシナリオを引き続きサポートするには、このアドレスを設定する必要があります。While docker0 bridge is not used by AKS clusters or the pods themselves, you must set this address to continue to support scenarios such as docker build within the AKS cluster. Docker ブリッジのネットワーク アドレスの CIDR を選択する必要があります。そうしないと、他の CIDR と競合する可能性のあるサブネットが Docker によって自動的に選択されます。It is required to select a CIDR for the Docker bridge network address because otherwise Docker will pick a subnet automatically which could conflict with other CIDRs. ネットワーク上の残りの CIDR と競合しないアドレス空間を選択する必要があります。これには、クラスターのサービス CIDR とポッド CIDR が含まれます。You must pick an address space that does not collide with the rest of the CIDRs on your networks, including the cluster's service CIDR and pod CIDR. 既定値は 172.17.0.1/16 です。Default of 172.17.0.1/16. この範囲は、さまざまな AKS クラスター間で再利用できます。You can reuse this range across different AKS clusters.

ノードごとの最大ポッド数Maximum pods per node

AKS クラスターのノードごとの最大ポッド数は 250 です。The maximum number of pods per node in an AKS cluster is 250. ノードごとの "既定" の最大ポッド数は、kubenet ネットワークと Azure CNI ネットワークで、またクラスターのデプロイ方法によって異なります。The default maximum number of pods per node varies between kubenet and Azure CNI networking, and the method of cluster deployment.

デプロイ方法Deployment method kubenet の既定値Kubenet default Azure CNI の既定値Azure CNI default デプロイ時に構成可能Configurable at deployment
Azure CLIAzure CLI 110110 3030 はい (最大 250)Yes (up to 250)
Resource Manager テンプレートResource Manager template 110110 3030 はい (最大 250)Yes (up to 250)
ポータルPortal 110110 3030 いいえNo

最大値の構成 - 新しいクラスターConfigure maximum - new clusters

ノードごとの最大ポッド数を構成できるのは、クラスターのデプロイ時、または新しいノード プールを追加するときです。You're able to configure the maximum number of pods per node at cluster deployment time or as you add new node pools. Azure CLI または Resource Manager テンプレートを使用してデプロイする場合、ノードごとの最大ポッド数の値を最大 250 に設定できます。If you deploy with the Azure CLI or with a Resource Manager template, you can set the maximum pods per node value as high as 250.

新しいノード プールを作成するときに maxPods を指定しない場合は、Azure CNI の既定値 30 を受け取ります。If you don't specify maxPods when creating new node pools, you receive a default value of 30 for Azure CNI.

ノードあたりの最大ポッドの最小値は、クラスターの正常性にとって重要なシステム ポッド用の領域を保証するために適用されます。A minimum value for maximum pods per node is enforced to guarantee space for system pods critical to cluster health. ノードごとの最大ポッドに対して設定できる最小値は、各ノード プールの構成に最低 30 個のポッド用の領域がある場合に限り、10 です。The minimum value that can be set for maximum pods per node is 10 if and only if the configuration of each node pool has space for a minimum of 30 pods. たとえば、ノードあたりの最大ポッドを 10 以上に設定するには、個々のノード プールに少なくとも 3 つのノードが必要です。For example, setting the maximum pods per node to the minimum of 10 requires each individual node pool to have a minimum of 3 nodes. この要件は、新しく作成された各ノード プールにも適用されます。したがって、ノードあたりの最大ポッドとして 10 が定義されている場合は、追加された以降の各ノード プールには少なくとも 3 つのノードが必要です。This requirement applies for each new node pool created as well, so if 10 is defined as maximum pods per node each subsequent node pool added must have at least 3 nodes.

ネットワークNetworking 最小値Minimum 最大値Maximum
Azure CNIAzure CNI 1010 250250
KubenetKubenet 1010 110110

注意

上記の表の最小値は、AKS サービスによって厳密に強制されます。The minimum value in the table above is strictly enforced by the AKS service. 示されている最小値より小さい maxPods 値を設定することはできません。そうすると、クラスターが起動できなくなることがあります。You can not set a maxPods value lower than the minimum shown as doing so can prevent the cluster from starting.

  • Azure CLI:az aks create コマンドを使用して、クラスターをデプロイするときに --max-pods 引数を指定します。Azure CLI: Specify the --max-pods argument when you deploy a cluster with the az aks create command. 最大値は 250 です。The maximum value is 250.
  • Resource Manager テンプレート:Resource Manager テンプレートを使用してクラスターをデプロイするときに、ManagedClusterAgentPoolProfile オブジェクトに maxPods プロパティを指定します。Resource Manager template: Specify the maxPods property in the ManagedClusterAgentPoolProfile object when you deploy a cluster with a Resource Manager template. 最大値は 250 です。The maximum value is 250.
  • Azure ポータル:Azure portal を使用してクラスターをデプロイするときに、ノードごとのポッドの最大数を変更することはできません。Azure portal: You can't change the maximum number of pods per node when you deploy a cluster with the Azure portal. Azure portal を使用してデプロイした Azure CNI ネットワーク クラスターのポッド数は、ノードあたり 30 に制限されています。Azure CNI networking clusters are limited to 30 pods per node when you deploy using the Azure portal.

最大値の構成 - 既存のクラスターConfigure maximum - existing clusters

新しいノード プールを作成するときに、ノードごとの maxPod 設定を定義することができます。The maxPod per node setting can be defined when you create a new node pool. 既存のクラスターでノードごとの maxPod の設定値を増やす必要がある場合は、新しく必要な maxPod カウントで新しいノード プールを追加します。If you need to increase the maxPod per node setting on an existing cluster, add a new node pool with the new desired maxPod count. ポッドを新しいプールに移行した後、古いプールを削除します。After migrating your pods to the new pool, delete the older pool. クラスター内の古いプールを削除するには、システム ノード プールのドキュメントの定義に従ってノード プール モードを設定していることを確認してください。To delete any older pool in a cluster, ensure you are setting node pool modes as defined in the system node pools document.

展開のパラメーターDeployment parameters

AKS クラスターを作成するときに、Azure CNI ネットワーク用に以下のパラメーターを構成できます。When you create an AKS cluster, the following parameters are configurable for Azure CNI networking:

仮想ネットワーク:Kubernetes クラスターをデプロイする仮想ネットワーク。Virtual network: The virtual network into which you want to deploy the Kubernetes cluster. クラスターに新しい仮想ネットワークを作成する場合は、 [新規作成] を選択し、 [仮想ネットワークの作成] セクションの手順に従います。If you want to create a new virtual network for your cluster, select Create new and follow the steps in the Create virtual network section. Azure 仮想ネットワークの制限とクォータについては、「Azure サブスクリプションとサービスの制限、クォータ、制約」を参照してください。For information about the limits and quotas for an Azure virtual network, see Azure subscription and service limits, quotas, and constraints.

サブネット:クラスターをデプロイする仮想ネットワーク内のサブネット。Subnet: The subnet within the virtual network where you want to deploy the cluster. クラスターの仮想ネットワークに新しいサブネットを作成する場合は、 [新規作成] を選択し、 [サブネットの作成] セクションの手順に従います。If you want to create a new subnet in the virtual network for your cluster, select Create new and follow the steps in the Create subnet section. ハイブリッド接続する場合、ご使用の環境のその他の仮想ネットワークのアドレス範囲と重複しないようにする必要があります。For hybrid connectivity, the address range shouldn't overlap with any other virtual networks in your environment.

Kubernetes サービスのアドレス範囲:これは、Kubernetes によってクラスターの内部サービスに割り当てられる仮想 IP のセットです。Kubernetes service address range: This is the set of virtual IPs that Kubernetes assigns to internal services in your cluster. 次の要件を満たす任意のプライベート アドレス範囲を使用できます。You can use any private address range that satisfies the following requirements:

  • クラスターの仮想ネットワークの IP アドレス範囲に含まれていてはなりませんMust not be within the virtual network IP address range of your cluster
  • クラスターの仮想ネットワークがピアリングする他の仮想ネットワークと重複していてはなりませんMust not overlap with any other virtual networks with which the cluster virtual network peers
  • オンプレミスのどの IP アドレスとも重複していてはなりませんMust not overlap with any on-premises IPs
  • 169.254.0.0/16172.30.0.0/16172.31.0.0/16、または 192.0.2.0/24 の範囲内にあってはなりませんMust not be within the ranges 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16, or 192.0.2.0/24

技術的には、クラスターと同じ仮想ネットワーク内のサービス アドレス範囲を指定できますが、お勧めはしません。Although it's technically possible to specify a service address range within the same virtual network as your cluster, doing so is not recommended. 重複する IP アドレス範囲を使うと、予期しない動作になる可能性があります。Unpredictable behavior can result if overlapping IP ranges are used. 詳細については、この記事の FAQ のセクションを参照してください。For more information, see the FAQ section of this article. Kubernetes サービスについて詳しくは、Kubernetes ドキュメントの「Services」(サービス) をご覧ください。For more information on Kubernetes services, see Services in the Kubernetes documentation.

Kubernetes DNS サービスの IP アドレス:クラスターの DNS サービスの IP アドレス。Kubernetes DNS service IP address: The IP address for the cluster's DNS service. [Kubernetes service address range](Kubernetes サービス アドレスの範囲) 内に含まれるアドレスを指定する必要があります。This address must be within the Kubernetes service address range. アドレス範囲内の最初の IP アドレス (.1 など) は使用しないでください。Don't use the first IP address in your address range, such as .1. サブネット範囲の最初のアドレスは、kubernetes.default.svc.cluster.local アドレスに使用されます。The first address in your subnet range is used for the kubernetes.default.svc.cluster.local address.

Docker ブリッジのアドレス:Docker ブリッジのネットワーク アドレスは、すべての Docker インストールに存在する既定の docker0 ブリッジのネットワーク アドレスを表します。Docker Bridge address: The Docker bridge network address represents the default docker0 bridge network address present in all Docker installations. docker0 ブリッジは AKS クラスターまたはポッド自体では使用されませんが、AKS クラスター内の docker ビルドなどのシナリオを引き続きサポートするには、このアドレスを設定する必要があります。While docker0 bridge is not used by AKS clusters or the pods themselves, you must set this address to continue to support scenarios such as docker build within the AKS cluster. Docker ブリッジのネットワーク アドレスの CIDR を選択する必要があります。そうしないと、他の CIDR と競合する可能性のあるサブネットが Docker によって自動的に選択されます。It is required to select a CIDR for the Docker bridge network address because otherwise Docker will pick a subnet automatically which could conflict with other CIDRs. ネットワーク上の残りの CIDR と競合しないアドレス空間を選択する必要があります。これには、クラスターのサービス CIDR とポッド CIDR が含まれます。You must pick an address space that does not collide with the rest of the CIDRs on your networks, including the cluster's service CIDR and pod CIDR.

ネットワークを構成する - CLIConfigure networking - CLI

Azure CLI を使って AKS クラスターを作成するときも、Azure CNI ネットワークを構成できます。When you create an AKS cluster with the Azure CLI, you can also configure Azure CNI networking. Azure CNI ネットワークを有効にして新しい AKS クラスターを作成するには、次のコマンドを使います。Use the following commands to create a new AKS cluster with Azure CNI networking enabled.

最初に、AKS クラスターを参加させる既存のサブネットのサブネット リソース ID を取得します。First, get the subnet resource ID for the existing subnet into which the AKS cluster will be joined:

$ az network vnet subnet list \
    --resource-group myVnet \
    --vnet-name myVnet \
    --query "[0].id" --output tsv

/subscriptions/<guid>/resourceGroups/myVnet/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/default

az aks create コマンドに --network-plugin azure 引数を指定して実行し、高度なネットワークでクラスターを作成します。Use the az aks create command with the --network-plugin azure argument to create a cluster with advanced networking. 前の手順で収集したサブネット ID で、--vnet-subnet-id の値を更新します。Update the --vnet-subnet-id value with the subnet ID collected in the previous step:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --network-plugin azure \
    --vnet-subnet-id <subnet-id> \
    --docker-bridge-address 172.17.0.1/16 \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 \
    --generate-ssh-keys

ネットワークを構成する - ポータルConfigure networking - portal

Azure Portal の次のスクリーン ショットは、AKS クラスターの作成時にこれらの設定を構成する場合の例を示しています。The following screenshot from the Azure portal shows an example of configuring these settings during AKS cluster creation:

Azure Portal の [高度] ネットワーク構成

よく寄せられる質問Frequently asked questions

次の質問と回答は、Azure CNI ネットワークの構成に関するものです。The following questions and answers apply to the Azure CNI networking configuration.

  • クラスター サブネットに VM を展開できますか。Can I deploy VMs in my cluster subnet?

    はい。Yes.

  • Azure CNI 対応ポッドで発生したトラフィックに対して、外部システムではどのソース IP が認識されますか。What source IP do external systems see for traffic that originates in an Azure CNI-enabled pod?

    AKS クラスターと同じ仮想ネットワーク内のシステムでは、ポッドの IP が、ポッドからのすべてのトラフィックの発信元アドレスとして認識されます。Systems in the same virtual network as the AKS cluster see the pod IP as the source address for any traffic from the pod. AKS クラスター仮想ネットワークの外部にあるシステムでは、ノードの IP が、ポッドからのすべてのトラフィックの発信元アドレスとして認識されます。Systems outside the AKS cluster virtual network see the node IP as the source address for any traffic from the pod.

  • ポッドごとのネットワーク ポリシーを構成できますか。Can I configure per-pod network policies?

    はい、Kubernetes ネットワーク ポリシーは AKS で使用できます。Yes, Kubernetes network policy is available in AKS. 開始するには、AKS でネットワーク ポリシーを使用してポッド間のトラフィックをセキュリティで保護する方法に関する記事を参照してください。To get started, see Secure traffic between pods by using network policies in AKS.

  • ノードに展開できるポッドの最大数は構成できますか。Is the maximum number of pods deployable to a node configurable?

    はい。Azure CLI または Resource Manager テンプレートを使用してクラスターをデプロイするときに構成することができます。Yes, when you deploy a cluster with the Azure CLI or a Resource Manager template. ノードごとの最大ポッド数」を参照してください。See Maximum pods per node.

    既存のクラスターでノードごとのポッドの最大数を変更することはできません。You can't change the maximum number of pods per node on an existing cluster.

  • AKS クラスターの作成時に作成したサブネットの追加のプロパティを構成するにはどうすればよいですか。たとえば、サービス エンドポイントなどのプロパティです。How do I configure additional properties for the subnet that I created during AKS cluster creation? For example, service endpoints.

    AKS クラスターの作成中時に作成する仮想ネットワークとサブネットのプロパティの詳細な一覧は、Azure portal の標準の仮想ネットワーク構成ページで構成できます。The complete list of properties for the virtual network and subnets that you create during AKS cluster creation can be configured in the standard virtual network configuration page in the Azure portal.

  • [Kubernetes サービスのアドレス範囲] のクラスター仮想ネットワーク内で別のサブネットを使用できますかCan I use a different subnet within my cluster virtual network for the Kubernetes service address range?

    お勧めはしませんが、この構成は可能です。It's not recommended, but this configuration is possible. サービスのアドレス範囲は、Kubernetes によってクラスターの内部サービスに割り当てられる仮想 IP (VIP) のセットです。The service address range is a set of virtual IPs (VIPs) that Kubernetes assigns to internal services in your cluster. Azure のネットワークには、Kubernetes クラスターのサービスの IP 範囲の可視性がありません。Azure Networking has no visibility into the service IP range of the Kubernetes cluster. クラスターのサービス アドレス範囲には可視性がないため、後でクラスターの仮想ネットワークにサービスのアドレス範囲と重複する新しいサブネットが作成される可能性があります。Because of the lack of visibility into the cluster's service address range, it's possible to later create a new subnet in the cluster virtual network that overlaps with the service address range. このような重複が発生した場合、Kubernetes は、サブネット内の他のリソースによって既に使用されている IP をサービスに割り当てる可能性があり、予期しない動作やエラーの原因となります。If such an overlap occurs, Kubernetes could assign a service an IP that's already in use by another resource in the subnet, causing unpredictable behavior or failures. クラスターの仮想ネットワークの外部のアドレス範囲を使用することで、この重複のリスクを回避できます。By ensuring you use an address range outside the cluster's virtual network, you can avoid this overlap risk.

次のステップNext steps

AKS のネットワークの詳細については、次の記事を参照してください。Learn more about networking in AKS in the following articles:

AKS EngineAKS Engine

Azure Kubernetes Service Engine (AKS Engine) は、Azure に Kubernetes クラスターをデプロイする場合に使用できる Azure Resource Manager テンプレートを生成するオープンソース プロジェクトです。Azure Kubernetes Service Engine (AKS Engine) is an open-source project that generates Azure Resource Manager templates you can use for deploying Kubernetes clusters on Azure.

AKS Engine で作成された Kubernetes クラスターは、kubenet および Azure CNI プラグインの両方をサポートしています。Kubernetes clusters created with AKS Engine support both the kubenet and Azure CNI plugins. そのため、AKS Engine では両方のネットワーク シナリオがサポートされています。As such, both networking scenarios are supported by AKS Engine.