次の方法で共有


Microsoft.ContainerService マネージドクラスター 2020-12-01

Remarks

使用可能なアドオンの詳細については、「 アドオン、拡張機能、および Azure Kubernetes Service とのその他の統合」を参照してください。

Bicep リソース定義

managedClusters リソースの種類は、次を対象とする操作と共にデプロイできます。

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.ContainerService/managedClusters リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.ContainerService/managedClusters@2020-12-01' = {
  scope: resourceSymbolicName or scope
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    aadProfile: {
      adminGroupObjectIDs: [
        'string'
      ]
      clientAppID: 'string'
      enableAzureRBAC: bool
      managed: bool
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        availabilityZones: [
          'string'
        ]
        count: int
        enableAutoScaling: bool
        enableEncryptionAtHost: bool
        enableNodePublicIP: bool
        kubeletConfig: {
          allowedUnsafeSysctls: [
            'string'
          ]
          containerLogMaxFiles: int
          containerLogMaxSizeMB: int
          cpuCfsQuota: bool
          cpuCfsQuotaPeriod: 'string'
          cpuManagerPolicy: 'string'
          failSwapOn: bool
          imageGcHighThreshold: int
          imageGcLowThreshold: int
          podMaxPids: int
          topologyManagerPolicy: 'string'
        }
        kubeletDiskType: 'string'
        linuxOSConfig: {
          swapFileSizeMB: int
          sysctls: {
            fsAioMaxNr: int
            fsFileMax: int
            fsInotifyMaxUserWatches: int
            fsNrOpen: int
            kernelThreadsMax: int
            netCoreNetdevMaxBacklog: int
            netCoreOptmemMax: int
            netCoreRmemDefault: int
            netCoreRmemMax: int
            netCoreSomaxconn: int
            netCoreWmemDefault: int
            netCoreWmemMax: int
            netIpv4IpLocalPortRange: 'string'
            netIpv4NeighDefaultGcThresh1: int
            netIpv4NeighDefaultGcThresh2: int
            netIpv4NeighDefaultGcThresh3: int
            netIpv4TcpFinTimeout: int
            netIpv4TcpkeepaliveIntvl: int
            netIpv4TcpKeepaliveProbes: int
            netIpv4TcpKeepaliveTime: int
            netIpv4TcpMaxSynBacklog: int
            netIpv4TcpMaxTwBuckets: int
            netIpv4TcpTwReuse: bool
            netNetfilterNfConntrackBuckets: int
            netNetfilterNfConntrackMax: int
            vmMaxMapCount: int
            vmSwappiness: int
            vmVfsCachePressure: int
          }
          transparentHugePageDefrag: 'string'
          transparentHugePageEnabled: 'string'
        }
        maxCount: int
        maxPods: int
        minCount: int
        mode: 'string'
        name: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osType: 'string'
        podSubnetID: 'string'
        proximityPlacementGroupID: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: int
        tags: {
          {customized property}: 'string'
        }
        type: 'string'
        upgradeSettings: {
          maxSurge: 'string'
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      enablePrivateCluster: bool
      privateDNSZone: 'string'
    }
    autoScalerProfile: {
      balance-similar-node-groups: 'string'
      expander: 'string'
      max-empty-bulk-delete: 'string'
      max-graceful-termination-sec: 'string'
      max-node-provision-time: 'string'
      max-total-unready-percentage: 'string'
      new-pod-scale-up-delay: 'string'
      ok-total-unready-count: 'string'
      scale-down-delay-after-add: 'string'
      scale-down-delay-after-delete: 'string'
      scale-down-delay-after-failure: 'string'
      scale-down-unneeded-time: 'string'
      scale-down-unready-time: 'string'
      scale-down-utilization-threshold: 'string'
      scan-interval: 'string'
      skip-nodes-with-local-storage: 'string'
      skip-nodes-with-system-pods: 'string'
    }
    autoUpgradeProfile: {
      upgradeChannel: 'string'
    }
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    identityProfile: {
      {customized property}: {
        clientId: 'string'
        objectId: 'string'
        resourceId: 'string'
      }
    }
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      loadBalancerProfile: {
        allocatedOutboundPorts: int
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        idleTimeoutInMinutes: int
        managedOutboundIPs: {
          count: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      networkMode: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      outboundType: 'string'
      podCidr: 'string'
      serviceCidr: 'string'
    }
    nodeResourceGroup: 'string'
    podIdentityProfile: {
      enabled: bool
      userAssignedIdentities: [
        {
          identity: {
            clientId: 'string'
            objectId: 'string'
            resourceId: 'string'
          }
          name: 'string'
          namespace: 'string'
        }
      ]
      userAssignedIdentityExceptions: [
        {
          name: 'string'
          namespace: 'string'
          podLabels: {
            {customized property}: 'string'
          }
        }
      ]
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      licenseType: 'string'
    }
  }
  sku: {
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

プロパティ値

Microsoft.ContainerService/managedClusters

Name Description Value
ID マネージド クラスターの ID (構成されている場合)。 ManagedClusterIdentity
位置 リソースの場所 string (必須)
name リソース名 string

Constraints:
最小長 = 1
最大長 = 63
パターン = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (必須)
properties マネージド クラスターのプロパティ。 ManagedClusterProperties
スコープ デプロイ スコープとは異なるスコープでリソースを作成するときに使用します。 このプロパティをリソースのシンボリック名に設定して、拡張リソースを適用します。
sku マネージド クラスター SKU。 ManagedClusterSKU
tags リソース タグ タグ名と値のディクショナリ。 テンプレート の タグを参照してください

AgentPoolUpgradeSettings

Name Description Value
maxSurge アップグレード中に追加される追加ノードの数または割合。 空の場合、AKS の既定値が使用されます 文字列

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

Name Description Value
clientId ユーザー割り当て ID のクライアント ID。 文字列
objectId ユーザー割り当て ID のオブジェクト ID。 文字列
resourceId ユーザー割り当て ID のリソース ID。 文字列

ContainerServiceLinuxProfile

Name Description Value
adminUsername Linux VM に使用する管理者ユーザー名。 string

Constraints:
パターン = ^[A-Za-z][-A-Za-z0-9_]*$ (必須)
ssh Azure で実行されている Linux ベースの VM の SSH 構成。 ContainerServiceSshConfiguration (必須)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP Kubernetes DNS サービスに割り当てられた IP アドレス。 これは、serviceCidr で指定された Kubernetes サービス アドレス範囲内にある必要があります。 string

Constraints:
パターン = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Docker ブリッジ ネットワークに割り当てられた CIDR 表記 IP 範囲。 サブネット IP 範囲または Kubernetes サービスアドレス範囲と重複してはなりません。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile クラスター ロード バランサーのプロファイル。 ManagedClusterLoadBalancerProfile
loadBalancerSku マネージド クラスターのロード バランサー SKU。 'basic'
'standard'
networkMode Kubernetes ネットワークの構築に使用されるネットワーク モード。 'bridge'
'transparent'
networkPlugin Kubernetes ネットワークの構築に使用されるネットワーク プラグイン。 'azure'
'kubenet'
networkPolicy Kubernetes ネットワークの構築に使用されるネットワーク ポリシー。 'azure'
'calico'
outboundType 送信 (エグレス) ルーティング方法。 'loadBalancer'
'userDefinedRouting'
podCidr kubenet の使用時にポッド IP を割り当てる CIDR 表記 IP 範囲。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr サービス クラスター IP を割り当てる CIDR 表記 IP 範囲。 サブネット IP 範囲と重複しないようにする必要があります。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Linux ベースの VM での認証に使用される SSH 公開キーの一覧。 指定するキーは 1 つだけです。 ContainerServiceSshPublicKey[] (必須)

ContainerServiceSshPublicKey

Name Description Value
keyData SSH 経由で VM で認証するために使用される証明書公開キー。 証明書は、ヘッダーの有無にかかわらず PEM 形式である必要があります。 string (必須)

KubeletConfig

Name Description Value
allowedUnsafeSysctls 安全でない sysctl または安全でない sysctl パターンの許可リスト ( *で終わる)。 string[]
containerLogMaxFiles コンテナーに存在できるコンテナー ログ ファイルの最大数。 数値は 2 ≥する必要があります。 int

Constraints:
最小値 = 2
containerLogMaxSizeMB ローテーション前のコンテナー ログ ファイルの最大サイズ (10Mi など)。 int
cpuCfsQuota CPU 制限を指定するコンテナーに対して CPU CFS クォータの適用を有効にします。 bool
cpuCfsQuotaPeriod CPU CFS クォータ期間の値を設定します。 文字列
cpuManagerPolicy 使用する CPU マネージャー ポリシー。 文字列
failSwapOn true に設定すると、ノードでスワップが有効になっている場合、Kubelet の起動に失敗します。 bool
imageGcHighThreshold イメージ ガベージ コレクションが常に実行された後のディスク使用率。 int
imageGcLowThreshold イメージ ガベージ コレクションが実行されない前のディスク使用率。 int
podMaxPids ポッドあたりのプロセスの最大数。 int
topologyManagerPolicy 使用するトポロジ マネージャー ポリシー。 文字列

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB は、スワップ ファイルのサイズを MB 単位で指定し、各ノードに作成します。 int
sysctls Linux エージェント ノードの Sysctl 設定。 SysctlConfig
transparentHugePageDefrag Transparent Huge Page defrag の構成。 文字列
transparentHugePageEnabled Transparent Huge Page 対応の構成。 文字列

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs クラスターの管理者ロールを持つ AAD グループ オブジェクト ID。 string[]
clientAppID クライアント AAD アプリケーション ID。 文字列
enableAzureRBAC Kubernetes 承認に対して Azure RBAC を有効にするかどうかを指定します。 bool
マネージ マネージド AAD を有効にするかどうか。 bool
serverAppID サーバー AAD アプリケーション ID。 文字列
serverAppSecret サーバー AAD アプリケーション シークレット。 文字列
tenantID 認証に使用する AAD テナント ID。 指定しない場合は、デプロイ サブスクリプションのテナントを使用します。 文字列

ManagedClusterAddonProfile

Name Description Value
config アドオンを構成するためのキーと値のペア。 ManagedClusterAddonProfileConfig
enabled アドオンが有効かどうか。 bool (必須)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones ノードの可用性ゾーン。 VirtualMachineScaleSets AgentPoolType を使用する必要があります。 string[]
count Docker コンテナーをホストするエージェント (VM) の数。 使用できる値は、ユーザー プールの場合は 0 から 100 (含む) の範囲、システム プールの場合は 1 から 100 (含む) の範囲である必要があります。 既定値は 1 です。 int
enableAutoScaling 自動スケーラーを有効にするかどうか bool
enableEncryptionAtHost EncryptionAtHost を有効にするかどうか bool
enableNodePublicIP ノードのパブリック IP を有効にする bool
kubeletConfig KubeletConfig は、エージェント ノードでの kubelet の構成を指定します。 KubeletConfig
kubeletDiskType KubeletDiskType は、emptyDir ボリューム、コンテナー ランタイム データ ルート、および Kubelet エフェメラル ストレージの配置を決定します。 現在、1 つの値である OS が許可されているため、Kubelet ではデータ用の OS ディスクが使用されます。 'OS'
linuxOSConfig LinuxOSConfig は、Linux エージェント ノードの OS 構成を指定します。 LinuxOSConfig
maxCount 自動スケーリング用のノードの最大数 int
maxPods ノードで実行できるポッドの最大数。 int
minCount 自動スケーリング用のノードの最小数 int
mode AgentPoolMode はエージェント プールのモードを表します 'System'
'User'
name サブスクリプションとリソース グループのコンテキストにおけるエージェント プール プロファイルの一意の名前。 string

Constraints:
パターン = ^[a-z][a-z0-9]{0,11}$ (必須)
nodeLabels エージェント プール内のすべてのノードにわたって保持されるエージェント プール ノード ラベル。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints ノード プールの作成とスケーリング中に、テイントが新しいノードに追加されました。 たとえば、key=value:NoSchedule です。 string[]
orchestratorVersion マネージド クラスターの作成時に指定されたオーケストレーターのバージョン。 文字列
osDiskSizeGB このマスター/エージェント プール内のすべてのマシンのディスク サイズを指定するために使用する OS ディスク サイズ (GB)。 0 を指定すると、指定された vmSize に従って既定の osDisk サイズが適用されます。 int

Constraints:
最小値 = 0
最大値 = 1023
osDiskType 特定のエージェント プール内のマシンに使用される OS ディスクの種類。 使用できる値は、"エフェメラル" と "マネージド" です。 指定しない場合、VM が一時 OS をサポートし、要求された OSDiskSizeGB より大きいキャッシュ ディスクがある場合、既定値は "Ephemeral" になります。 それ以外の場合、既定値は 'Managed' です。 作成後に変更できない場合があります。 'Ephemeral'
'Managed'
osType os 型を指定するために使用する OsType。 Linux と Windows から選択します。 既定値は Linux です。 'Linux'
'Windows'
podSubnetID ポッド SubnetID は、ポッドの VNet のサブネット識別子を指定します。 文字列
proximityPlacementGroupID 近接通信配置グループの ID。 文字列
scaleSetEvictionPolicy スポット仮想マシン スケール セットの削除ポリシーを指定するために使用される ScaleSetEvictionPolicy。 既定値は [削除] です。 'Deallocate'
'Delete'
scaleSetPriority 仮想マシン スケール セットの優先順位を指定するために使用される ScaleSetPriority。 既定値は標準です。 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice は、米国ドルで支払う最大価格を指定するために使用されます。 使用できる値は、0 より大きい任意の 10 進値、または既定の価格がオンデマンドで up-to されることを示す -1 です。 int
tags エージェント プールの仮想マシン スケール セットに保持されるエージェント プール タグ。 ManagedClusterAgentPoolProfilePropertiesTags
AgentPoolType は、エージェント プールの種類を表します 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings エージェント プールをアップグレードするための設定 AgentPoolUpgradeSettings
vmSize エージェント VM のサイズ。 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID は、ノードとポッドの VNet のサブネット識別子を指定します 文字列

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges kubernetes API サーバーへの承認された IP 範囲。 string[]
enablePrivateCluster クラスターをプライベート クラスターとして作成するかどうか。 bool
privateDNSZone プライベート クラスターのプライベート DNS ゾーン モード。 文字列

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel 自動アップグレード用のアップグレード チャネル。 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

Name Description Value
マネージド クラスターに使用される ID の種類。 型 'SystemAssigned' は、マスター コンポーネントで暗黙的に作成された ID と、エージェント ノードのリソース グループ内の自動作成されたユーザー割り当て ID MC_使用します。 型 'None' はマネージド クラスターに MSI を使用しません。代わりにサービス プリンシパルが使用されます。 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities マネージド クラスターに関連付けられているユーザー ID。 この ID はコントロール プレーンで使用され、許可されるユーザー割り当て ID は 1 つだけです。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts VM ごとに割り当てられた SNAT ポートの必要な数。 使用できる値は、0 ~ 64,000 (両端を含む) の範囲である必要があります。 既定値は 0 で、Azure でポートが動的に割り当てられます。 int

Constraints:
最小値 = 0
最大値 = 64000
effectiveOutboundIPs クラスター ロード バランサーの有効な送信 IP リソース。 ResourceReference[]
idleTimeoutInMinutes 必要な送信フローのアイドル タイムアウト (分単位)。 使用できる値は、4 ~ 120 (両端を含む) の範囲である必要があります。 既定値は 30 分です。 int

Constraints:
最小値 = 4
最大値 = 120
managedOutboundIPs クラスター ロード バランサーに必要なマネージド送信 IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes クラスター ロード バランサーに必要な送信 IP プレフィックス リソース。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs クラスター ロード バランサーに必要な送信 IP リソース。 ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count クラスター ロード バランサー用に Azure によって作成/管理される送信 IP の必要な数。 使用できる値は、1 ~ 100 (両端を含む) の範囲である必要があります。 既定値は 1 です。 int

Constraints:
最小値 = 1
最大値 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes パブリック IP プレフィックス リソースの一覧。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs パブリック IP リソースの一覧。 ResourceReference[]

ManagedClusterPodIdentity

Name Description Value
ID ユーザー割り当て ID の情報。 UserAssignedIdentity (必須)
name ポッド ID の名前。 string (必須)
名前空間 ポッド ID の名前空間。 string (必須)

ManagedClusterPodIdentityException

Name Description Value
name ポッド ID 例外の名前。 string (必須)
名前空間 ポッド ID 例外の名前空間。 string (必須)
podLabels 一致するポッド ラベル。 ManagedClusterPodIdentityExceptionPodLabels (必須)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled ポッド ID アドオンが有効かどうか。 bool
userAssignedIdentities ユーザー割り当てポッド ID の設定。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions ユーザー割り当てポッド ID の例外設定。 ManagedClusterPodIdentityException[]

ManagedClusterProperties

Name Description Value
aadProfile Azure Active Directory 構成のプロファイル。 ManagedClusterAADProfile
addonProfiles マネージド クラスター アドオンのプロファイル。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles エージェント プールのプロパティ。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile マネージド クラスター API サーバーのアクセス プロファイル。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 有効な場合にクラスター オートスケーラーに適用されるパラメーター ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自動アップグレード構成のプロファイル。 ManagedClusterAutoUpgradeProfile
diskEncryptionSetID 保存時の暗号化を有効にするために使用するディスク暗号化セットの ResourceId。 文字列
dnsPrefix マネージド クラスターの作成時に指定された DNS プレフィックス。 文字列
enablePodSecurityPolicy (非推奨)Kubernetes ポッドのセキュリティ ポリシー (プレビュー) を有効にするかどうかを指定します。 この機能は、2020 年 10 月 15 日に削除される予定です。 詳細については、aka.ms/aks/azpodpolicy を参照してください。 bool
enableRBAC Kubernetes Role-Based アクセス制御を有効にするかどうかを指定します。 bool
identityProfile クラスターに関連付けられている ID。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion マネージド クラスターの作成時に指定された Kubernetes のバージョン。 文字列
linuxProfile コンテナー サービス クラスター内の Linux VM のプロファイル。 ContainerServiceLinuxProfile
networkProfile ネットワーク構成のプロファイル。 ContainerServiceNetworkProfile
nodeResourceGroup エージェント プール ノードを含むリソース グループの名前。 文字列
podIdentityProfile マネージド クラスター ポッド ID のプロファイル。 ManagedClusterPodIdentityProfile
servicePrincipalProfile Azure API の操作に使用するクラスターのサービス プリンシパル ID に関する情報。 ManagedClusterServicePrincipalProfile
windowsProfile コンテナー サービス クラスター内の Windows VM のプロファイル。 ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups 文字列
expander 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete 文字列
max-graceful-termination-sec 文字列
max-node-provision-time 文字列
max-total-unready-percentage 文字列
new-pod-scale-up-delay 文字列
ok-total-unready-count 文字列
scale-down-delay-after-add 文字列
scale-down-delay-after-delete 文字列
scale-down-delay-after-failure 文字列
scale-down-unneeded-time 文字列
scale-down-unready-time 文字列
scale-down-utilization-threshold 文字列
scan-interval 文字列
skip-nodes-with-local-storage 文字列
skip-nodes-with-system-pods 文字列

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId サービス プリンシパルの ID。 string (必須)
シークレット プレーン テキストでサービス プリンシパルに関連付けられているシークレット パスワード。 文字列

ManagedClusterSKU

Name Description Value
name マネージド クラスター SKU の名前。 'Basic'
レベル マネージド クラスター SKU の階層。 'Free'
'Paid'

ManagedClusterWindowsProfile

Name Description Value
adminPassword 管理者アカウントのパスワードを指定します。

最小長: 8 文字

最大長: 123 文字

複雑さの要件: 以下の 4 つの条件のうち 3 つ を満たす必要があります
文字が小さい
上の文字を含む
数字を含む
特殊文字を持つ (Regex match [\W_])

許可されていない値: "abc@123"、"P@$$w 0rd"、"P@ssw0rd"、"P@ssword123"、"Pa$$word"、"pass@word1"、"Password!"、"Password1"、"Password22"、"iloveyou!"
文字列
adminUsername 管理者アカウントの名前を指定します。

制限: "." で終わることはできません。

許可されていない値: "administrator"、"admin"、"user"、"user1"、"test"、"user2"、"test1"、"user3"、"admin1"、 "1"、"123"、"a"、"actuser"、"adm"、"admin2"、"aspnet"、"backup"、"console"、"david"、"guest"、"john"、"owner"、"root"、"server"、"sql"、"support"、"support_388945a0"、"sys"、"test2"、"test3"、"user4"、"user5"。

最小長: 1 文字

最大長: 20 文字
string (必須)
licenseType Windows VM に使用する licenseType。 Windows_Serverは、Windows VM の Azure ハイブリッド ユーザー特典を有効にするために使用されます。 'None'
'Windows_Server'

ResourceReference

Name Description Value
id 完全修飾 Azure リソース ID。 文字列

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr sysctl setting fs.aio-max-nr. int
fsFileMax sysctl 設定 fs.file-max. int
fsInotifyMaxUserWatches sysctl setting fs.inotify.max_user_watches. int
fsNrOpen Sysctl 設定fs.nr_open。 int
kernelThreadsMax sysctl setting kernel.threads-max. int
netCoreNetdevMaxBacklog Sysctl 設定net.core.netdev_max_backlog。 int
netCoreOptmemMax Sysctl 設定net.core.optmem_max。 int
netCoreRmemDefault Sysctl 設定net.core.rmem_default。 int
netCoreRmemMax Sysctl 設定net.core.rmem_max。 int
netCoreSomaxconn sysctl setting net.core.somaxconn. int
netCoreWmemDefault Sysctl 設定net.core.wmem_default。 int
netCoreWmemMax Sysctl 設定net.core.wmem_max。 int
netIpv4IpLocalPortRange Sysctl 設定net.ipv4.ip_local_port_range。 文字列
netIpv4NeighDefaultGcThresh1 Sysctl 設定net.ipv4.neigh.default.gc_thresh1。 int
netIpv4NeighDefaultGcThresh2 Sysctl 設定net.ipv4.neigh.default.gc_thresh2。 int
netIpv4NeighDefaultGcThresh3 Sysctl 設定net.ipv4.neigh.default.gc_thresh3。 int
netIpv4TcpFinTimeout Sysctl 設定net.ipv4.tcp_fin_timeout。 int
netIpv4TcpkeepaliveIntvl Sysctl 設定net.ipv4.tcp_keepalive_intvl。 int
netIpv4TcpKeepaliveProbes Sysctl 設定net.ipv4.tcp_keepalive_probes。 int
netIpv4TcpKeepaliveTime Sysctl 設定net.ipv4.tcp_keepalive_time。 int
netIpv4TcpMaxSynBacklog Sysctl 設定net.ipv4.tcp_max_syn_backlog。 int
netIpv4TcpMaxTwBuckets Sysctl 設定net.ipv4.tcp_max_tw_buckets。 int
netIpv4TcpTwReuse Sysctl 設定net.ipv4.tcp_tw_reuse。 bool
netNetfilterNfConntrackBuckets Sysctl 設定net.netfilter.nf_conntrack_buckets。 int
netNetfilterNfConntrackMax Sysctl 設定net.netfilter.nf_conntrack_max。 int
vmMaxMapCount sysctl setting vm.max_map_count. int
vmSwappiness sysctl setting vm.swappiness. int
vmVfsCachePressure Sysctl 設定vm.vfs_cache_pressure。 int

UserAssignedIdentity

Name Description Value
clientId ユーザー割り当て ID のクライアント ID。 文字列
objectId ユーザー割り当て ID のオブジェクト ID。 文字列
resourceId ユーザー割り当て ID のリソース ID。 文字列

使用例

Azure 検証済みモジュール

次の Azure 検証済みモジュール を使用して、このリソースの種類をデプロイできます。

Module Description
Azure Kubernetes Service (AKS) マネージド クラスター Azure Kubernetes Service (AKS) マネージド クラスター用の AVM リソース モジュール

Azure クイック スタートのサンプル

Azure クイック スタート テンプレート、このリソースの種類をデプロイするための Bicep サンプルが含まれています。

Bicep ファイル Description
NAT ゲートウェイと Application Gateway を使用して AKS クラスターを する このサンプルでは、送信接続用の NAT ゲートウェイと受信接続用の Application Gateway を使用して AKS クラスターをデプロイする方法を示します。
Application Gateway イングレス コントローラー を使用して AKS クラスターを する このサンプルでは、Application Gateway、Application Gateway イングレス コントローラー、Azure Container Registry、Log Analytics、Key Vault を使用して AKS クラスターをデプロイする方法を示します
Azure コンテナー サービス (AKS) Azure Linux コンテナー ホストを使用して Azure Container Service (AKS) でマネージド クラスターをデプロイする
Azure コンテナー サービス (AKS) Azure Container Service (AKS) を使用してマネージド クラスターをデプロイする
Helm を使用した Azure Container Service (AKS) Helm を使用して Azure Container Service (AKS) を使用してマネージド クラスターをデプロイする
Azure Kubernetes Service (AKS) Azure Kubernetes Service (AKS) を使用してマネージド Kubernetes クラスターをデプロイします
Azure Machine Learning のエンド ツー エンドのセキュリティで保護されたセットアップ を する この Bicep テンプレートのセットは、セキュリティで保護されたセットアップで Azure Machine Learning をエンド ツー エンドで設定する方法を示しています。 この参照実装には、ワークスペース、コンピューティング クラスター、コンピューティング インスタンス、接続されたプライベート AKS クラスターが含まれます。
Azure Machine Learning のエンド ツー エンドのセキュリティで保護されたセットアップ (レガシ) を する この Bicep テンプレートのセットは、セキュリティで保護されたセットアップで Azure Machine Learning をエンド ツー エンドで設定する方法を示しています。 この参照実装には、ワークスペース、コンピューティング クラスター、コンピューティング インスタンス、接続されたプライベート AKS クラスターが含まれます。
プライベート AKS クラスター を作成する このサンプルでは、ジャンプボックス仮想マシンと共に仮想ネットワークにプライベート AKS クラスターを作成する方法を示します。
Prometheus で AKS を作成し、privae リンクを使用して Grafana を作成する これにより、Azure grafana、AKS が作成され、オープンソースの監視およびアラート ツールキットである Prometheus が Azure Kubernetes Service (AKS) クラスターにインストールされます。 次に、Azure Managed Grafana のマネージド プライベート エンドポイントを使用してこの Prometheus サーバーに接続し、Grafana ダッシュボードに Prometheus データを表示します

ARM テンプレート リソース定義

managedClusters リソースの種類は、次を対象とする操作と共にデプロイできます。

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.ContainerService/managedClusters リソースを作成するには、次の JSON をテンプレートに追加します。

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2020-12-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "aadProfile": {
      "adminGroupObjectIDs": [ "string" ],
      "clientAppID": "string",
      "enableAzureRBAC": "bool",
      "managed": "bool",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "availabilityZones": [ "string" ],
        "count": "int",
        "enableAutoScaling": "bool",
        "enableEncryptionAtHost": "bool",
        "enableNodePublicIP": "bool",
        "kubeletConfig": {
          "allowedUnsafeSysctls": [ "string" ],
          "containerLogMaxFiles": "int",
          "containerLogMaxSizeMB": "int",
          "cpuCfsQuota": "bool",
          "cpuCfsQuotaPeriod": "string",
          "cpuManagerPolicy": "string",
          "failSwapOn": "bool",
          "imageGcHighThreshold": "int",
          "imageGcLowThreshold": "int",
          "podMaxPids": "int",
          "topologyManagerPolicy": "string"
        },
        "kubeletDiskType": "string",
        "linuxOSConfig": {
          "swapFileSizeMB": "int",
          "sysctls": {
            "fsAioMaxNr": "int",
            "fsFileMax": "int",
            "fsInotifyMaxUserWatches": "int",
            "fsNrOpen": "int",
            "kernelThreadsMax": "int",
            "netCoreNetdevMaxBacklog": "int",
            "netCoreOptmemMax": "int",
            "netCoreRmemDefault": "int",
            "netCoreRmemMax": "int",
            "netCoreSomaxconn": "int",
            "netCoreWmemDefault": "int",
            "netCoreWmemMax": "int",
            "netIpv4IpLocalPortRange": "string",
            "netIpv4NeighDefaultGcThresh1": "int",
            "netIpv4NeighDefaultGcThresh2": "int",
            "netIpv4NeighDefaultGcThresh3": "int",
            "netIpv4TcpFinTimeout": "int",
            "netIpv4TcpkeepaliveIntvl": "int",
            "netIpv4TcpKeepaliveProbes": "int",
            "netIpv4TcpKeepaliveTime": "int",
            "netIpv4TcpMaxSynBacklog": "int",
            "netIpv4TcpMaxTwBuckets": "int",
            "netIpv4TcpTwReuse": "bool",
            "netNetfilterNfConntrackBuckets": "int",
            "netNetfilterNfConntrackMax": "int",
            "vmMaxMapCount": "int",
            "vmSwappiness": "int",
            "vmVfsCachePressure": "int"
          },
          "transparentHugePageDefrag": "string",
          "transparentHugePageEnabled": "string"
        },
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "mode": "string",
        "name": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osType": "string",
        "podSubnetID": "string",
        "proximityPlacementGroupID": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "int",
        "tags": {
          "{customized property}": "string"
        },
        "type": "string",
        "upgradeSettings": {
          "maxSurge": "string"
        },
        "vmSize": "string",
        "vnetSubnetID": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "enablePrivateCluster": "bool",
      "privateDNSZone": "string"
    },
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "expander": "string",
      "max-empty-bulk-delete": "string",
      "max-graceful-termination-sec": "string",
      "max-node-provision-time": "string",
      "max-total-unready-percentage": "string",
      "new-pod-scale-up-delay": "string",
      "ok-total-unready-count": "string",
      "scale-down-delay-after-add": "string",
      "scale-down-delay-after-delete": "string",
      "scale-down-delay-after-failure": "string",
      "scale-down-unneeded-time": "string",
      "scale-down-unready-time": "string",
      "scale-down-utilization-threshold": "string",
      "scan-interval": "string",
      "skip-nodes-with-local-storage": "string",
      "skip-nodes-with-system-pods": "string"
    },
    "autoUpgradeProfile": {
      "upgradeChannel": "string"
    },
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "identityProfile": {
      "{customized property}": {
        "clientId": "string",
        "objectId": "string",
        "resourceId": "string"
      }
    },
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "loadBalancerProfile": {
        "allocatedOutboundPorts": "int",
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPs": {
          "count": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "networkMode": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "outboundType": "string",
      "podCidr": "string",
      "serviceCidr": "string"
    },
    "nodeResourceGroup": "string",
    "podIdentityProfile": {
      "enabled": "bool",
      "userAssignedIdentities": [
        {
          "identity": {
            "clientId": "string",
            "objectId": "string",
            "resourceId": "string"
          },
          "name": "string",
          "namespace": "string"
        }
      ],
      "userAssignedIdentityExceptions": [
        {
          "name": "string",
          "namespace": "string",
          "podLabels": {
            "{customized property}": "string"
          }
        }
      ]
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "licenseType": "string"
    }
  },
  "sku": {
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

プロパティ値

Microsoft.ContainerService/managedClusters

Name Description Value
apiVersion API のバージョン '2020-12-01'
ID マネージド クラスターの ID (構成されている場合)。 ManagedClusterIdentity
位置 リソースの場所 string (必須)
name リソース名 string

Constraints:
最小長 = 1
最大長 = 63
パターン = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (必須)
properties マネージド クラスターのプロパティ。 ManagedClusterProperties
sku マネージド クラスター SKU。 ManagedClusterSKU
tags リソース タグ タグ名と値のディクショナリ。 テンプレート の タグを参照してください
リソースの種類 'Microsoft.ContainerService/managedClusters'

AgentPoolUpgradeSettings

Name Description Value
maxSurge アップグレード中に追加される追加ノードの数または割合。 空の場合、AKS の既定値が使用されます 文字列

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

Name Description Value
clientId ユーザー割り当て ID のクライアント ID。 文字列
objectId ユーザー割り当て ID のオブジェクト ID。 文字列
resourceId ユーザー割り当て ID のリソース ID。 文字列

ContainerServiceLinuxProfile

Name Description Value
adminUsername Linux VM に使用する管理者ユーザー名。 string

Constraints:
パターン = ^[A-Za-z][-A-Za-z0-9_]*$ (必須)
ssh Azure で実行されている Linux ベースの VM の SSH 構成。 ContainerServiceSshConfiguration (必須)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP Kubernetes DNS サービスに割り当てられた IP アドレス。 これは、serviceCidr で指定された Kubernetes サービス アドレス範囲内にある必要があります。 string

Constraints:
パターン = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Docker ブリッジ ネットワークに割り当てられた CIDR 表記 IP 範囲。 サブネット IP 範囲または Kubernetes サービスアドレス範囲と重複してはなりません。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile クラスター ロード バランサーのプロファイル。 ManagedClusterLoadBalancerProfile
loadBalancerSku マネージド クラスターのロード バランサー SKU。 'basic'
'standard'
networkMode Kubernetes ネットワークの構築に使用されるネットワーク モード。 'bridge'
'transparent'
networkPlugin Kubernetes ネットワークの構築に使用されるネットワーク プラグイン。 'azure'
'kubenet'
networkPolicy Kubernetes ネットワークの構築に使用されるネットワーク ポリシー。 'azure'
'calico'
outboundType 送信 (エグレス) ルーティング方法。 'loadBalancer'
'userDefinedRouting'
podCidr kubenet の使用時にポッド IP を割り当てる CIDR 表記 IP 範囲。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr サービス クラスター IP を割り当てる CIDR 表記 IP 範囲。 サブネット IP 範囲と重複しないようにする必要があります。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Linux ベースの VM での認証に使用される SSH 公開キーの一覧。 指定するキーは 1 つだけです。 ContainerServiceSshPublicKey[] (必須)

ContainerServiceSshPublicKey

Name Description Value
keyData SSH 経由で VM で認証するために使用される証明書公開キー。 証明書は、ヘッダーの有無にかかわらず PEM 形式である必要があります。 string (必須)

KubeletConfig

Name Description Value
allowedUnsafeSysctls 安全でない sysctl または安全でない sysctl パターンの許可リスト ( *で終わる)。 string[]
containerLogMaxFiles コンテナーに存在できるコンテナー ログ ファイルの最大数。 数値は 2 ≥する必要があります。 int

Constraints:
最小値 = 2
containerLogMaxSizeMB ローテーション前のコンテナー ログ ファイルの最大サイズ (10Mi など)。 int
cpuCfsQuota CPU 制限を指定するコンテナーに対して CPU CFS クォータの適用を有効にします。 bool
cpuCfsQuotaPeriod CPU CFS クォータ期間の値を設定します。 文字列
cpuManagerPolicy 使用する CPU マネージャー ポリシー。 文字列
failSwapOn true に設定すると、ノードでスワップが有効になっている場合、Kubelet の起動に失敗します。 bool
imageGcHighThreshold イメージ ガベージ コレクションが常に実行された後のディスク使用率。 int
imageGcLowThreshold イメージ ガベージ コレクションが実行されない前のディスク使用率。 int
podMaxPids ポッドあたりのプロセスの最大数。 int
topologyManagerPolicy 使用するトポロジ マネージャー ポリシー。 文字列

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB は、スワップ ファイルのサイズを MB 単位で指定し、各ノードに作成します。 int
sysctls Linux エージェント ノードの Sysctl 設定。 SysctlConfig
transparentHugePageDefrag Transparent Huge Page defrag の構成。 文字列
transparentHugePageEnabled Transparent Huge Page 対応の構成。 文字列

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs クラスターの管理者ロールを持つ AAD グループ オブジェクト ID。 string[]
clientAppID クライアント AAD アプリケーション ID。 文字列
enableAzureRBAC Kubernetes 承認に対して Azure RBAC を有効にするかどうかを指定します。 bool
マネージ マネージド AAD を有効にするかどうか。 bool
serverAppID サーバー AAD アプリケーション ID。 文字列
serverAppSecret サーバー AAD アプリケーション シークレット。 文字列
tenantID 認証に使用する AAD テナント ID。 指定しない場合は、デプロイ サブスクリプションのテナントを使用します。 文字列

ManagedClusterAddonProfile

Name Description Value
config アドオンを構成するためのキーと値のペア。 ManagedClusterAddonProfileConfig
enabled アドオンが有効かどうか。 bool (必須)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones ノードの可用性ゾーン。 VirtualMachineScaleSets AgentPoolType を使用する必要があります。 string[]
count Docker コンテナーをホストするエージェント (VM) の数。 使用できる値は、ユーザー プールの場合は 0 から 100 (含む) の範囲、システム プールの場合は 1 から 100 (含む) の範囲である必要があります。 既定値は 1 です。 int
enableAutoScaling 自動スケーラーを有効にするかどうか bool
enableEncryptionAtHost EncryptionAtHost を有効にするかどうか bool
enableNodePublicIP ノードのパブリック IP を有効にする bool
kubeletConfig KubeletConfig は、エージェント ノードでの kubelet の構成を指定します。 KubeletConfig
kubeletDiskType KubeletDiskType は、emptyDir ボリューム、コンテナー ランタイム データ ルート、および Kubelet エフェメラル ストレージの配置を決定します。 現在、1 つの値である OS が許可されているため、Kubelet ではデータ用の OS ディスクが使用されます。 'OS'
linuxOSConfig LinuxOSConfig は、Linux エージェント ノードの OS 構成を指定します。 LinuxOSConfig
maxCount 自動スケーリング用のノードの最大数 int
maxPods ノードで実行できるポッドの最大数。 int
minCount 自動スケーリング用のノードの最小数 int
mode AgentPoolMode はエージェント プールのモードを表します 'System'
'User'
name サブスクリプションとリソース グループのコンテキストにおけるエージェント プール プロファイルの一意の名前。 string

Constraints:
パターン = ^[a-z][a-z0-9]{0,11}$ (必須)
nodeLabels エージェント プール内のすべてのノードにわたって保持されるエージェント プール ノード ラベル。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints ノード プールの作成とスケーリング中に、テイントが新しいノードに追加されました。 たとえば、key=value:NoSchedule です。 string[]
orchestratorVersion マネージド クラスターの作成時に指定されたオーケストレーターのバージョン。 文字列
osDiskSizeGB このマスター/エージェント プール内のすべてのマシンのディスク サイズを指定するために使用する OS ディスク サイズ (GB)。 0 を指定すると、指定された vmSize に従って既定の osDisk サイズが適用されます。 int

Constraints:
最小値 = 0
最大値 = 1023
osDiskType 特定のエージェント プール内のマシンに使用される OS ディスクの種類。 使用できる値は、"エフェメラル" と "マネージド" です。 指定しない場合、VM が一時 OS をサポートし、要求された OSDiskSizeGB より大きいキャッシュ ディスクがある場合、既定値は "Ephemeral" になります。 それ以外の場合、既定値は 'Managed' です。 作成後に変更できない場合があります。 'Ephemeral'
'Managed'
osType os 型を指定するために使用する OsType。 Linux と Windows から選択します。 既定値は Linux です。 'Linux'
'Windows'
podSubnetID ポッド SubnetID は、ポッドの VNet のサブネット識別子を指定します。 文字列
proximityPlacementGroupID 近接通信配置グループの ID。 文字列
scaleSetEvictionPolicy スポット仮想マシン スケール セットの削除ポリシーを指定するために使用される ScaleSetEvictionPolicy。 既定値は [削除] です。 'Deallocate'
'Delete'
scaleSetPriority 仮想マシン スケール セットの優先順位を指定するために使用される ScaleSetPriority。 既定値は標準です。 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice は、米国ドルで支払う最大価格を指定するために使用されます。 使用できる値は、0 より大きい任意の 10 進値、または既定の価格がオンデマンドで up-to されることを示す -1 です。 int
tags エージェント プールの仮想マシン スケール セットに保持されるエージェント プール タグ。 ManagedClusterAgentPoolProfilePropertiesTags
AgentPoolType は、エージェント プールの種類を表します 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings エージェント プールをアップグレードするための設定 AgentPoolUpgradeSettings
vmSize エージェント VM のサイズ。 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID は、ノードとポッドの VNet のサブネット識別子を指定します 文字列

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges kubernetes API サーバーへの承認された IP 範囲。 string[]
enablePrivateCluster クラスターをプライベート クラスターとして作成するかどうか。 bool
privateDNSZone プライベート クラスターのプライベート DNS ゾーン モード。 文字列

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel 自動アップグレード用のアップグレード チャネル。 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

Name Description Value
マネージド クラスターに使用される ID の種類。 型 'SystemAssigned' は、マスター コンポーネントで暗黙的に作成された ID と、エージェント ノードのリソース グループ内の自動作成されたユーザー割り当て ID MC_使用します。 型 'None' はマネージド クラスターに MSI を使用しません。代わりにサービス プリンシパルが使用されます。 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities マネージド クラスターに関連付けられているユーザー ID。 この ID はコントロール プレーンで使用され、許可されるユーザー割り当て ID は 1 つだけです。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts VM ごとに割り当てられた SNAT ポートの必要な数。 使用できる値は、0 ~ 64,000 (両端を含む) の範囲である必要があります。 既定値は 0 で、Azure でポートが動的に割り当てられます。 int

Constraints:
最小値 = 0
最大値 = 64000
effectiveOutboundIPs クラスター ロード バランサーの有効な送信 IP リソース。 ResourceReference[]
idleTimeoutInMinutes 必要な送信フローのアイドル タイムアウト (分単位)。 使用できる値は、4 ~ 120 (両端を含む) の範囲である必要があります。 既定値は 30 分です。 int

Constraints:
最小値 = 4
最大値 = 120
managedOutboundIPs クラスター ロード バランサーに必要なマネージド送信 IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes クラスター ロード バランサーに必要な送信 IP プレフィックス リソース。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs クラスター ロード バランサーに必要な送信 IP リソース。 ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count クラスター ロード バランサー用に Azure によって作成/管理される送信 IP の必要な数。 使用できる値は、1 ~ 100 (両端を含む) の範囲である必要があります。 既定値は 1 です。 int

Constraints:
最小値 = 1
最大値 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes パブリック IP プレフィックス リソースの一覧。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs パブリック IP リソースの一覧。 ResourceReference[]

ManagedClusterPodIdentity

Name Description Value
ID ユーザー割り当て ID の情報。 UserAssignedIdentity (必須)
name ポッド ID の名前。 string (必須)
名前空間 ポッド ID の名前空間。 string (必須)

ManagedClusterPodIdentityException

Name Description Value
name ポッド ID 例外の名前。 string (必須)
名前空間 ポッド ID 例外の名前空間。 string (必須)
podLabels 一致するポッド ラベル。 ManagedClusterPodIdentityExceptionPodLabels (必須)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled ポッド ID アドオンが有効かどうか。 bool
userAssignedIdentities ユーザー割り当てポッド ID の設定。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions ユーザー割り当てポッド ID の例外設定。 ManagedClusterPodIdentityException[]

ManagedClusterProperties

Name Description Value
aadProfile Azure Active Directory 構成のプロファイル。 ManagedClusterAADProfile
addonProfiles マネージド クラスター アドオンのプロファイル。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles エージェント プールのプロパティ。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile マネージド クラスター API サーバーのアクセス プロファイル。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 有効な場合にクラスター オートスケーラーに適用されるパラメーター ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自動アップグレード構成のプロファイル。 ManagedClusterAutoUpgradeProfile
diskEncryptionSetID 保存時の暗号化を有効にするために使用するディスク暗号化セットの ResourceId。 文字列
dnsPrefix マネージド クラスターの作成時に指定された DNS プレフィックス。 文字列
enablePodSecurityPolicy (非推奨)Kubernetes ポッドのセキュリティ ポリシー (プレビュー) を有効にするかどうかを指定します。 この機能は、2020 年 10 月 15 日に削除される予定です。 詳細については、aka.ms/aks/azpodpolicy を参照してください。 bool
enableRBAC Kubernetes Role-Based アクセス制御を有効にするかどうかを指定します。 bool
identityProfile クラスターに関連付けられている ID。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion マネージド クラスターの作成時に指定された Kubernetes のバージョン。 文字列
linuxProfile コンテナー サービス クラスター内の Linux VM のプロファイル。 ContainerServiceLinuxProfile
networkProfile ネットワーク構成のプロファイル。 ContainerServiceNetworkProfile
nodeResourceGroup エージェント プール ノードを含むリソース グループの名前。 文字列
podIdentityProfile マネージド クラスター ポッド ID のプロファイル。 ManagedClusterPodIdentityProfile
servicePrincipalProfile Azure API の操作に使用するクラスターのサービス プリンシパル ID に関する情報。 ManagedClusterServicePrincipalProfile
windowsProfile コンテナー サービス クラスター内の Windows VM のプロファイル。 ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups 文字列
expander 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete 文字列
max-graceful-termination-sec 文字列
max-node-provision-time 文字列
max-total-unready-percentage 文字列
new-pod-scale-up-delay 文字列
ok-total-unready-count 文字列
scale-down-delay-after-add 文字列
scale-down-delay-after-delete 文字列
scale-down-delay-after-failure 文字列
scale-down-unneeded-time 文字列
scale-down-unready-time 文字列
scale-down-utilization-threshold 文字列
scan-interval 文字列
skip-nodes-with-local-storage 文字列
skip-nodes-with-system-pods 文字列

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId サービス プリンシパルの ID。 string (必須)
シークレット プレーン テキストでサービス プリンシパルに関連付けられているシークレット パスワード。 文字列

ManagedClusterSKU

Name Description Value
name マネージド クラスター SKU の名前。 'Basic'
レベル マネージド クラスター SKU の階層。 'Free'
'Paid'

ManagedClusterWindowsProfile

Name Description Value
adminPassword 管理者アカウントのパスワードを指定します。

最小長: 8 文字

最大長: 123 文字

複雑さの要件: 以下の 4 つの条件のうち 3 つ を満たす必要があります
文字が小さい
上の文字を含む
数字を含む
特殊文字を持つ (Regex match [\W_])

許可されていない値: "abc@123"、"P@$$w 0rd"、"P@ssw0rd"、"P@ssword123"、"Pa$$word"、"pass@word1"、"Password!"、"Password1"、"Password22"、"iloveyou!"
文字列
adminUsername 管理者アカウントの名前を指定します。

制限: "." で終わることはできません。

許可されていない値: "administrator"、"admin"、"user"、"user1"、"test"、"user2"、"test1"、"user3"、"admin1"、 "1"、"123"、"a"、"actuser"、"adm"、"admin2"、"aspnet"、"backup"、"console"、"david"、"guest"、"john"、"owner"、"root"、"server"、"sql"、"support"、"support_388945a0"、"sys"、"test2"、"test3"、"user4"、"user5"。

最小長: 1 文字

最大長: 20 文字
string (必須)
licenseType Windows VM に使用する licenseType。 Windows_Serverは、Windows VM の Azure ハイブリッド ユーザー特典を有効にするために使用されます。 'None'
'Windows_Server'

ResourceReference

Name Description Value
id 完全修飾 Azure リソース ID。 文字列

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr sysctl setting fs.aio-max-nr. int
fsFileMax sysctl 設定 fs.file-max. int
fsInotifyMaxUserWatches sysctl setting fs.inotify.max_user_watches. int
fsNrOpen Sysctl 設定fs.nr_open。 int
kernelThreadsMax sysctl setting kernel.threads-max. int
netCoreNetdevMaxBacklog Sysctl 設定net.core.netdev_max_backlog。 int
netCoreOptmemMax Sysctl 設定net.core.optmem_max。 int
netCoreRmemDefault Sysctl 設定net.core.rmem_default。 int
netCoreRmemMax Sysctl 設定net.core.rmem_max。 int
netCoreSomaxconn sysctl setting net.core.somaxconn. int
netCoreWmemDefault Sysctl 設定net.core.wmem_default。 int
netCoreWmemMax Sysctl 設定net.core.wmem_max。 int
netIpv4IpLocalPortRange Sysctl 設定net.ipv4.ip_local_port_range。 文字列
netIpv4NeighDefaultGcThresh1 Sysctl 設定net.ipv4.neigh.default.gc_thresh1。 int
netIpv4NeighDefaultGcThresh2 Sysctl 設定net.ipv4.neigh.default.gc_thresh2。 int
netIpv4NeighDefaultGcThresh3 Sysctl 設定net.ipv4.neigh.default.gc_thresh3。 int
netIpv4TcpFinTimeout Sysctl 設定net.ipv4.tcp_fin_timeout。 int
netIpv4TcpkeepaliveIntvl Sysctl 設定net.ipv4.tcp_keepalive_intvl。 int
netIpv4TcpKeepaliveProbes Sysctl 設定net.ipv4.tcp_keepalive_probes。 int
netIpv4TcpKeepaliveTime Sysctl 設定net.ipv4.tcp_keepalive_time。 int
netIpv4TcpMaxSynBacklog Sysctl 設定net.ipv4.tcp_max_syn_backlog。 int
netIpv4TcpMaxTwBuckets Sysctl 設定net.ipv4.tcp_max_tw_buckets。 int
netIpv4TcpTwReuse Sysctl 設定net.ipv4.tcp_tw_reuse。 bool
netNetfilterNfConntrackBuckets Sysctl 設定net.netfilter.nf_conntrack_buckets。 int
netNetfilterNfConntrackMax Sysctl 設定net.netfilter.nf_conntrack_max。 int
vmMaxMapCount sysctl setting vm.max_map_count. int
vmSwappiness sysctl setting vm.swappiness. int
vmVfsCachePressure Sysctl 設定vm.vfs_cache_pressure。 int

UserAssignedIdentity

Name Description Value
clientId ユーザー割り当て ID のクライアント ID。 文字列
objectId ユーザー割り当て ID のオブジェクト ID。 文字列
resourceId ユーザー割り当て ID のリソース ID。 文字列

使用例

Azure クイックスタート テンプレート

このリソースの種類 デプロイする Azure クイック スタート テンプレート 次に示します。

Template Description
NAT ゲートウェイと Application Gateway を使用して AKS クラスターを する

Azure に展開する
このサンプルでは、送信接続用の NAT ゲートウェイと受信接続用の Application Gateway を使用して AKS クラスターをデプロイする方法を示します。
Application Gateway イングレス コントローラー を使用して AKS クラスターを する

Azure に展開する
このサンプルでは、Application Gateway、Application Gateway イングレス コントローラー、Azure Container Registry、Log Analytics、Key Vault を使用して AKS クラスターをデプロイする方法を示します
Azure コンテナー サービス (AKS)

Azure に展開する
Azure Linux コンテナー ホストを使用して Azure Container Service (AKS) でマネージド クラスターをデプロイする
Azure コンテナー サービス (AKS)

Azure に展開する
Azure Container Service (AKS) を使用してマネージド クラスターをデプロイする
Helm を使用した Azure Container Service (AKS)

Azure に展開する
Helm を使用して Azure Container Service (AKS) を使用してマネージド クラスターをデプロイする
Azure Kubernetes Service (AKS)

Azure に展開する
Azure Kubernetes Service (AKS) を使用してマネージド Kubernetes クラスターをデプロイします
Azure Machine Learning のエンド ツー エンドのセキュリティで保護されたセットアップ を する

Azure に展開する
この Bicep テンプレートのセットは、セキュリティで保護されたセットアップで Azure Machine Learning をエンド ツー エンドで設定する方法を示しています。 この参照実装には、ワークスペース、コンピューティング クラスター、コンピューティング インスタンス、接続されたプライベート AKS クラスターが含まれます。
Azure Machine Learning のエンド ツー エンドのセキュリティで保護されたセットアップ (レガシ) を する

Azure に展開する
この Bicep テンプレートのセットは、セキュリティで保護されたセットアップで Azure Machine Learning をエンド ツー エンドで設定する方法を示しています。 この参照実装には、ワークスペース、コンピューティング クラスター、コンピューティング インスタンス、接続されたプライベート AKS クラスターが含まれます。
Azure Container Service (AKS) で Jenkins を使用する CI/CD

Azure に展開する
コンテナーを使用すると、アプリケーションを継続的にビルドしてデプロイすることが非常に簡単になります。 Azure Container Service で Kubernetes を使用してこれらのコンテナーのデプロイを調整することで、コンテナーのレプリケート可能で管理しやすいクラスターを実現できます。 コンテナー イメージとオーケストレーションを生成するように継続的ビルドを設定することで、デプロイの速度と信頼性を向上させることができます。
プライベート AKS クラスター を作成する

Azure に展開する
このサンプルでは、ジャンプボックス仮想マシンと共に仮想ネットワークにプライベート AKS クラスターを作成する方法を示します。
パブリック DNS ゾーン を使用してプライベート AKS クラスターを作成する

Azure に展開する
このサンプルでは、パブリック DNS ゾーンを使用してプライベート AKS クラスターをデプロイする方法を示します。
Prometheus で AKS を作成し、privae リンクを使用して Grafana を作成する

Azure に展開する
これにより、Azure grafana、AKS が作成され、オープンソースの監視およびアラート ツールキットである Prometheus が Azure Kubernetes Service (AKS) クラスターにインストールされます。 次に、Azure Managed Grafana のマネージド プライベート エンドポイントを使用してこの Prometheus サーバーに接続し、Grafana ダッシュボードに Prometheus データを表示します
マネージド Kubernetes クラスター (AKS) をデプロイする

Azure に展開する
この ARM テンプレートは、高度なネットワーク機能を持つ AKS インスタンスを既存の仮想ネットワークにデプロイする方法を示しています。 さらに、選択したサービス プリンシパルには、AKS クラスターを含むサブネットに対するネットワーク共同作成者ロールが割り当てられます。
AAD (AKS) を使用してマネージド Kubernetes クラスターをデプロイする

Azure に展開する
この ARM テンプレートは、既存の仮想ネットワークと Azure AD Integeration への高度なネットワーク機能を備えた AKS インスタンスのデプロイを示しています。 さらに、選択したサービス プリンシパルには、AKS クラスターを含むサブネットに対するネットワーク共同作成者ロールが割り当てられます。
Azure ML 用の AKS クラスターをデプロイする

Azure に展開する
このテンプレートを使用すると、Azure ML にアタッチできる、前もって準拠している AKS クラスターをデプロイできます
Azure Gateway の min.io

Azure に展開する
Blob Storage によってサポートされる S3 準拠ストレージ API を提供する完全プライベート min.io Azure Gateway デプロイ

Terraform (AzAPI プロバイダー) リソース定義

managedClusters リソースの種類は、次を対象とする操作と共にデプロイできます。

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.ContainerService/managedClusters リソースを作成するには、次の Terraform をテンプレートに追加します。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2020-12-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      aadProfile = {
        adminGroupObjectIDs = [
          "string"
        ]
        clientAppID = "string"
        enableAzureRBAC = bool
        managed = bool
        serverAppID = "string"
        serverAppSecret = "string"
        tenantID = "string"
      }
      addonProfiles = {
        {customized property} = {
          config = {
            {customized property} = "string"
          }
          enabled = bool
        }
      }
      agentPoolProfiles = [
        {
          availabilityZones = [
            "string"
          ]
          count = int
          enableAutoScaling = bool
          enableEncryptionAtHost = bool
          enableNodePublicIP = bool
          kubeletConfig = {
            allowedUnsafeSysctls = [
              "string"
            ]
            containerLogMaxFiles = int
            containerLogMaxSizeMB = int
            cpuCfsQuota = bool
            cpuCfsQuotaPeriod = "string"
            cpuManagerPolicy = "string"
            failSwapOn = bool
            imageGcHighThreshold = int
            imageGcLowThreshold = int
            podMaxPids = int
            topologyManagerPolicy = "string"
          }
          kubeletDiskType = "string"
          linuxOSConfig = {
            swapFileSizeMB = int
            sysctls = {
              fsAioMaxNr = int
              fsFileMax = int
              fsInotifyMaxUserWatches = int
              fsNrOpen = int
              kernelThreadsMax = int
              netCoreNetdevMaxBacklog = int
              netCoreOptmemMax = int
              netCoreRmemDefault = int
              netCoreRmemMax = int
              netCoreSomaxconn = int
              netCoreWmemDefault = int
              netCoreWmemMax = int
              netIpv4IpLocalPortRange = "string"
              netIpv4NeighDefaultGcThresh1 = int
              netIpv4NeighDefaultGcThresh2 = int
              netIpv4NeighDefaultGcThresh3 = int
              netIpv4TcpFinTimeout = int
              netIpv4TcpkeepaliveIntvl = int
              netIpv4TcpKeepaliveProbes = int
              netIpv4TcpKeepaliveTime = int
              netIpv4TcpMaxSynBacklog = int
              netIpv4TcpMaxTwBuckets = int
              netIpv4TcpTwReuse = bool
              netNetfilterNfConntrackBuckets = int
              netNetfilterNfConntrackMax = int
              vmMaxMapCount = int
              vmSwappiness = int
              vmVfsCachePressure = int
            }
            transparentHugePageDefrag = "string"
            transparentHugePageEnabled = "string"
          }
          maxCount = int
          maxPods = int
          minCount = int
          mode = "string"
          name = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osType = "string"
          podSubnetID = "string"
          proximityPlacementGroupID = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = int
          tags = {
            {customized property} = "string"
          }
          type = "string"
          upgradeSettings = {
            maxSurge = "string"
          }
          vmSize = "string"
          vnetSubnetID = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        enablePrivateCluster = bool
        privateDNSZone = "string"
      }
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        expander = "string"
        max-empty-bulk-delete = "string"
        max-graceful-termination-sec = "string"
        max-node-provision-time = "string"
        max-total-unready-percentage = "string"
        new-pod-scale-up-delay = "string"
        ok-total-unready-count = "string"
        scale-down-delay-after-add = "string"
        scale-down-delay-after-delete = "string"
        scale-down-delay-after-failure = "string"
        scale-down-unneeded-time = "string"
        scale-down-unready-time = "string"
        scale-down-utilization-threshold = "string"
        scan-interval = "string"
        skip-nodes-with-local-storage = "string"
        skip-nodes-with-system-pods = "string"
      }
      autoUpgradeProfile = {
        upgradeChannel = "string"
      }
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      identityProfile = {
        {customized property} = {
          clientId = "string"
          objectId = "string"
          resourceId = "string"
        }
      }
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        loadBalancerProfile = {
          allocatedOutboundPorts = int
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          idleTimeoutInMinutes = int
          managedOutboundIPs = {
            count = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        networkMode = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        outboundType = "string"
        podCidr = "string"
        serviceCidr = "string"
      }
      nodeResourceGroup = "string"
      podIdentityProfile = {
        enabled = bool
        userAssignedIdentities = [
          {
            identity = {
              clientId = "string"
              objectId = "string"
              resourceId = "string"
            }
            name = "string"
            namespace = "string"
          }
        ]
        userAssignedIdentityExceptions = [
          {
            name = "string"
            namespace = "string"
            podLabels = {
              {customized property} = "string"
            }
          }
        ]
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
        licenseType = "string"
      }
    }
    sku = {
      name = "string"
      tier = "string"
    }
  }
}

プロパティ値

Microsoft.ContainerService/managedClusters

Name Description Value
ID マネージド クラスターの ID (構成されている場合)。 ManagedClusterIdentity
位置 リソースの場所 string (必須)
name リソース名 string

Constraints:
最小長 = 1
最大長 = 63
パターン = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (必須)
parent_id この拡張リソースを適用するリソースの ID。 string (必須)
properties マネージド クラスターのプロパティ。 ManagedClusterProperties
sku マネージド クラスター SKU。 ManagedClusterSKU
tags リソース タグ タグ名と値のディクショナリ。
リソースの種類 "Microsoft.ContainerService/managedClusters@2020-12-01"

AgentPoolUpgradeSettings

Name Description Value
maxSurge アップグレード中に追加される追加ノードの数または割合。 空の場合、AKS の既定値が使用されます 文字列

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

Name Description Value
clientId ユーザー割り当て ID のクライアント ID。 文字列
objectId ユーザー割り当て ID のオブジェクト ID。 文字列
resourceId ユーザー割り当て ID のリソース ID。 文字列

ContainerServiceLinuxProfile

Name Description Value
adminUsername Linux VM に使用する管理者ユーザー名。 string

Constraints:
パターン = ^[A-Za-z][-A-Za-z0-9_]*$ (必須)
ssh Azure で実行されている Linux ベースの VM の SSH 構成。 ContainerServiceSshConfiguration (必須)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP Kubernetes DNS サービスに割り当てられた IP アドレス。 これは、serviceCidr で指定された Kubernetes サービス アドレス範囲内にある必要があります。 string

Constraints:
パターン = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Docker ブリッジ ネットワークに割り当てられた CIDR 表記 IP 範囲。 サブネット IP 範囲または Kubernetes サービスアドレス範囲と重複してはなりません。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile クラスター ロード バランサーのプロファイル。 ManagedClusterLoadBalancerProfile
loadBalancerSku マネージド クラスターのロード バランサー SKU。 'basic'
'standard'
networkMode Kubernetes ネットワークの構築に使用されるネットワーク モード。 'bridge'
'transparent'
networkPlugin Kubernetes ネットワークの構築に使用されるネットワーク プラグイン。 'azure'
'kubenet'
networkPolicy Kubernetes ネットワークの構築に使用されるネットワーク ポリシー。 'azure'
'calico'
outboundType 送信 (エグレス) ルーティング方法。 'loadBalancer'
'userDefinedRouting'
podCidr kubenet の使用時にポッド IP を割り当てる CIDR 表記 IP 範囲。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr サービス クラスター IP を割り当てる CIDR 表記 IP 範囲。 サブネット IP 範囲と重複しないようにする必要があります。 string

Constraints:
パターン = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Linux ベースの VM での認証に使用される SSH 公開キーの一覧。 指定するキーは 1 つだけです。 ContainerServiceSshPublicKey[] (必須)

ContainerServiceSshPublicKey

Name Description Value
keyData SSH 経由で VM で認証するために使用される証明書公開キー。 証明書は、ヘッダーの有無にかかわらず PEM 形式である必要があります。 string (必須)

KubeletConfig

Name Description Value
allowedUnsafeSysctls 安全でない sysctl または安全でない sysctl パターンの許可リスト ( *で終わる)。 string[]
containerLogMaxFiles コンテナーに存在できるコンテナー ログ ファイルの最大数。 数値は 2 ≥する必要があります。 int

Constraints:
最小値 = 2
containerLogMaxSizeMB ローテーション前のコンテナー ログ ファイルの最大サイズ (10Mi など)。 int
cpuCfsQuota CPU 制限を指定するコンテナーに対して CPU CFS クォータの適用を有効にします。 bool
cpuCfsQuotaPeriod CPU CFS クォータ期間の値を設定します。 文字列
cpuManagerPolicy 使用する CPU マネージャー ポリシー。 文字列
failSwapOn true に設定すると、ノードでスワップが有効になっている場合、Kubelet の起動に失敗します。 bool
imageGcHighThreshold イメージ ガベージ コレクションが常に実行された後のディスク使用率。 int
imageGcLowThreshold イメージ ガベージ コレクションが実行されない前のディスク使用率。 int
podMaxPids ポッドあたりのプロセスの最大数。 int
topologyManagerPolicy 使用するトポロジ マネージャー ポリシー。 文字列

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB は、スワップ ファイルのサイズを MB 単位で指定し、各ノードに作成します。 int
sysctls Linux エージェント ノードの Sysctl 設定。 SysctlConfig
transparentHugePageDefrag Transparent Huge Page defrag の構成。 文字列
transparentHugePageEnabled Transparent Huge Page 対応の構成。 文字列

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs クラスターの管理者ロールを持つ AAD グループ オブジェクト ID。 string[]
clientAppID クライアント AAD アプリケーション ID。 文字列
enableAzureRBAC Kubernetes 承認に対して Azure RBAC を有効にするかどうかを指定します。 bool
マネージ マネージド AAD を有効にするかどうか。 bool
serverAppID サーバー AAD アプリケーション ID。 文字列
serverAppSecret サーバー AAD アプリケーション シークレット。 文字列
tenantID 認証に使用する AAD テナント ID。 指定しない場合は、デプロイ サブスクリプションのテナントを使用します。 文字列

ManagedClusterAddonProfile

Name Description Value
config アドオンを構成するためのキーと値のペア。 ManagedClusterAddonProfileConfig
enabled アドオンが有効かどうか。 bool (必須)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones ノードの可用性ゾーン。 VirtualMachineScaleSets AgentPoolType を使用する必要があります。 string[]
count Docker コンテナーをホストするエージェント (VM) の数。 使用できる値は、ユーザー プールの場合は 0 から 100 (含む) の範囲、システム プールの場合は 1 から 100 (含む) の範囲である必要があります。 既定値は 1 です。 int
enableAutoScaling 自動スケーラーを有効にするかどうか bool
enableEncryptionAtHost EncryptionAtHost を有効にするかどうか bool
enableNodePublicIP ノードのパブリック IP を有効にする bool
kubeletConfig KubeletConfig は、エージェント ノードでの kubelet の構成を指定します。 KubeletConfig
kubeletDiskType KubeletDiskType は、emptyDir ボリューム、コンテナー ランタイム データ ルート、および Kubelet エフェメラル ストレージの配置を決定します。 現在、1 つの値である OS が許可されているため、Kubelet ではデータ用の OS ディスクが使用されます。 'OS'
linuxOSConfig LinuxOSConfig は、Linux エージェント ノードの OS 構成を指定します。 LinuxOSConfig
maxCount 自動スケーリング用のノードの最大数 int
maxPods ノードで実行できるポッドの最大数。 int
minCount 自動スケーリング用のノードの最小数 int
mode AgentPoolMode はエージェント プールのモードを表します 'System'
'User'
name サブスクリプションとリソース グループのコンテキストにおけるエージェント プール プロファイルの一意の名前。 string

Constraints:
パターン = ^[a-z][a-z0-9]{0,11}$ (必須)
nodeLabels エージェント プール内のすべてのノードにわたって保持されるエージェント プール ノード ラベル。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints ノード プールの作成とスケーリング中に、テイントが新しいノードに追加されました。 たとえば、key=value:NoSchedule です。 string[]
orchestratorVersion マネージド クラスターの作成時に指定されたオーケストレーターのバージョン。 文字列
osDiskSizeGB このマスター/エージェント プール内のすべてのマシンのディスク サイズを指定するために使用する OS ディスク サイズ (GB)。 0 を指定すると、指定された vmSize に従って既定の osDisk サイズが適用されます。 int

Constraints:
最小値 = 0
最大値 = 1023
osDiskType 特定のエージェント プール内のマシンに使用される OS ディスクの種類。 使用できる値は、"エフェメラル" と "マネージド" です。 指定しない場合、VM が一時 OS をサポートし、要求された OSDiskSizeGB より大きいキャッシュ ディスクがある場合、既定値は "Ephemeral" になります。 それ以外の場合、既定値は 'Managed' です。 作成後に変更できない場合があります。 'Ephemeral'
'Managed'
osType os 型を指定するために使用する OsType。 Linux と Windows から選択します。 既定値は Linux です。 'Linux'
'Windows'
podSubnetID ポッド SubnetID は、ポッドの VNet のサブネット識別子を指定します。 文字列
proximityPlacementGroupID 近接通信配置グループの ID。 文字列
scaleSetEvictionPolicy スポット仮想マシン スケール セットの削除ポリシーを指定するために使用される ScaleSetEvictionPolicy。 既定値は [削除] です。 'Deallocate'
'Delete'
scaleSetPriority 仮想マシン スケール セットの優先順位を指定するために使用される ScaleSetPriority。 既定値は標準です。 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice は、米国ドルで支払う最大価格を指定するために使用されます。 使用できる値は、0 より大きい任意の 10 進値、または既定の価格がオンデマンドで up-to されることを示す -1 です。 int
tags エージェント プールの仮想マシン スケール セットに保持されるエージェント プール タグ。 ManagedClusterAgentPoolProfilePropertiesTags
AgentPoolType は、エージェント プールの種類を表します 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings エージェント プールをアップグレードするための設定 AgentPoolUpgradeSettings
vmSize エージェント VM のサイズ。 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID は、ノードとポッドの VNet のサブネット識別子を指定します 文字列

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges kubernetes API サーバーへの承認された IP 範囲。 string[]
enablePrivateCluster クラスターをプライベート クラスターとして作成するかどうか。 bool
privateDNSZone プライベート クラスターのプライベート DNS ゾーン モード。 文字列

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel 自動アップグレード用のアップグレード チャネル。 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

Name Description Value
マネージド クラスターに使用される ID の種類。 型 'SystemAssigned' は、マスター コンポーネントで暗黙的に作成された ID と、エージェント ノードのリソース グループ内の自動作成されたユーザー割り当て ID MC_使用します。 型 'None' はマネージド クラスターに MSI を使用しません。代わりにサービス プリンシパルが使用されます。 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities マネージド クラスターに関連付けられているユーザー ID。 この ID はコントロール プレーンで使用され、許可されるユーザー割り当て ID は 1 つだけです。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts VM ごとに割り当てられた SNAT ポートの必要な数。 使用できる値は、0 ~ 64,000 (両端を含む) の範囲である必要があります。 既定値は 0 で、Azure でポートが動的に割り当てられます。 int

Constraints:
最小値 = 0
最大値 = 64000
effectiveOutboundIPs クラスター ロード バランサーの有効な送信 IP リソース。 ResourceReference[]
idleTimeoutInMinutes 必要な送信フローのアイドル タイムアウト (分単位)。 使用できる値は、4 ~ 120 (両端を含む) の範囲である必要があります。 既定値は 30 分です。 int

Constraints:
最小値 = 4
最大値 = 120
managedOutboundIPs クラスター ロード バランサーに必要なマネージド送信 IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes クラスター ロード バランサーに必要な送信 IP プレフィックス リソース。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs クラスター ロード バランサーに必要な送信 IP リソース。 ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count クラスター ロード バランサー用に Azure によって作成/管理される送信 IP の必要な数。 使用できる値は、1 ~ 100 (両端を含む) の範囲である必要があります。 既定値は 1 です。 int

Constraints:
最小値 = 1
最大値 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes パブリック IP プレフィックス リソースの一覧。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs パブリック IP リソースの一覧。 ResourceReference[]

ManagedClusterPodIdentity

Name Description Value
ID ユーザー割り当て ID の情報。 UserAssignedIdentity (必須)
name ポッド ID の名前。 string (必須)
名前空間 ポッド ID の名前空間。 string (必須)

ManagedClusterPodIdentityException

Name Description Value
name ポッド ID 例外の名前。 string (必須)
名前空間 ポッド ID 例外の名前空間。 string (必須)
podLabels 一致するポッド ラベル。 ManagedClusterPodIdentityExceptionPodLabels (必須)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled ポッド ID アドオンが有効かどうか。 bool
userAssignedIdentities ユーザー割り当てポッド ID の設定。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions ユーザー割り当てポッド ID の例外設定。 ManagedClusterPodIdentityException[]

ManagedClusterProperties

Name Description Value
aadProfile Azure Active Directory 構成のプロファイル。 ManagedClusterAADProfile
addonProfiles マネージド クラスター アドオンのプロファイル。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles エージェント プールのプロパティ。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile マネージド クラスター API サーバーのアクセス プロファイル。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 有効な場合にクラスター オートスケーラーに適用されるパラメーター ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自動アップグレード構成のプロファイル。 ManagedClusterAutoUpgradeProfile
diskEncryptionSetID 保存時の暗号化を有効にするために使用するディスク暗号化セットの ResourceId。 文字列
dnsPrefix マネージド クラスターの作成時に指定された DNS プレフィックス。 文字列
enablePodSecurityPolicy (非推奨)Kubernetes ポッドのセキュリティ ポリシー (プレビュー) を有効にするかどうかを指定します。 この機能は、2020 年 10 月 15 日に削除される予定です。 詳細については、aka.ms/aks/azpodpolicy を参照してください。 bool
enableRBAC Kubernetes Role-Based アクセス制御を有効にするかどうかを指定します。 bool
identityProfile クラスターに関連付けられている ID。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion マネージド クラスターの作成時に指定された Kubernetes のバージョン。 文字列
linuxProfile コンテナー サービス クラスター内の Linux VM のプロファイル。 ContainerServiceLinuxProfile
networkProfile ネットワーク構成のプロファイル。 ContainerServiceNetworkProfile
nodeResourceGroup エージェント プール ノードを含むリソース グループの名前。 文字列
podIdentityProfile マネージド クラスター ポッド ID のプロファイル。 ManagedClusterPodIdentityProfile
servicePrincipalProfile Azure API の操作に使用するクラスターのサービス プリンシパル ID に関する情報。 ManagedClusterServicePrincipalProfile
windowsProfile コンテナー サービス クラスター内の Windows VM のプロファイル。 ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups 文字列
expander 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete 文字列
max-graceful-termination-sec 文字列
max-node-provision-time 文字列
max-total-unready-percentage 文字列
new-pod-scale-up-delay 文字列
ok-total-unready-count 文字列
scale-down-delay-after-add 文字列
scale-down-delay-after-delete 文字列
scale-down-delay-after-failure 文字列
scale-down-unneeded-time 文字列
scale-down-unready-time 文字列
scale-down-utilization-threshold 文字列
scan-interval 文字列
skip-nodes-with-local-storage 文字列
skip-nodes-with-system-pods 文字列

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId サービス プリンシパルの ID。 string (必須)
シークレット プレーン テキストでサービス プリンシパルに関連付けられているシークレット パスワード。 文字列

ManagedClusterSKU

Name Description Value
name マネージド クラスター SKU の名前。 'Basic'
レベル マネージド クラスター SKU の階層。 'Free'
'Paid'

ManagedClusterWindowsProfile

Name Description Value
adminPassword 管理者アカウントのパスワードを指定します。

最小長: 8 文字

最大長: 123 文字

複雑さの要件: 以下の 4 つの条件のうち 3 つ を満たす必要があります
文字が小さい
上の文字を含む
数字を含む
特殊文字を持つ (Regex match [\W_])

許可されていない値: "abc@123"、"P@$$w 0rd"、"P@ssw0rd"、"P@ssword123"、"Pa$$word"、"pass@word1"、"Password!"、"Password1"、"Password22"、"iloveyou!"
文字列
adminUsername 管理者アカウントの名前を指定します。

制限: "." で終わることはできません。

許可されていない値: "administrator"、"admin"、"user"、"user1"、"test"、"user2"、"test1"、"user3"、"admin1"、 "1"、"123"、"a"、"actuser"、"adm"、"admin2"、"aspnet"、"backup"、"console"、"david"、"guest"、"john"、"owner"、"root"、"server"、"sql"、"support"、"support_388945a0"、"sys"、"test2"、"test3"、"user4"、"user5"。

最小長: 1 文字

最大長: 20 文字
string (必須)
licenseType Windows VM に使用する licenseType。 Windows_Serverは、Windows VM の Azure ハイブリッド ユーザー特典を有効にするために使用されます。 'None'
'Windows_Server'

ResourceReference

Name Description Value
id 完全修飾 Azure リソース ID。 文字列

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr sysctl setting fs.aio-max-nr. int
fsFileMax sysctl 設定 fs.file-max. int
fsInotifyMaxUserWatches sysctl setting fs.inotify.max_user_watches. int
fsNrOpen Sysctl 設定fs.nr_open。 int
kernelThreadsMax sysctl setting kernel.threads-max. int
netCoreNetdevMaxBacklog Sysctl 設定net.core.netdev_max_backlog。 int
netCoreOptmemMax Sysctl 設定net.core.optmem_max。 int
netCoreRmemDefault Sysctl 設定net.core.rmem_default。 int
netCoreRmemMax Sysctl 設定net.core.rmem_max。 int
netCoreSomaxconn sysctl setting net.core.somaxconn. int
netCoreWmemDefault Sysctl 設定net.core.wmem_default。 int
netCoreWmemMax Sysctl 設定net.core.wmem_max。 int
netIpv4IpLocalPortRange Sysctl 設定net.ipv4.ip_local_port_range。 文字列
netIpv4NeighDefaultGcThresh1 Sysctl 設定net.ipv4.neigh.default.gc_thresh1。 int
netIpv4NeighDefaultGcThresh2 Sysctl 設定net.ipv4.neigh.default.gc_thresh2。 int
netIpv4NeighDefaultGcThresh3 Sysctl 設定net.ipv4.neigh.default.gc_thresh3。 int
netIpv4TcpFinTimeout Sysctl 設定net.ipv4.tcp_fin_timeout。 int
netIpv4TcpkeepaliveIntvl Sysctl 設定net.ipv4.tcp_keepalive_intvl。 int
netIpv4TcpKeepaliveProbes Sysctl 設定net.ipv4.tcp_keepalive_probes。 int
netIpv4TcpKeepaliveTime Sysctl 設定net.ipv4.tcp_keepalive_time。 int
netIpv4TcpMaxSynBacklog Sysctl 設定net.ipv4.tcp_max_syn_backlog。 int
netIpv4TcpMaxTwBuckets Sysctl 設定net.ipv4.tcp_max_tw_buckets。 int
netIpv4TcpTwReuse Sysctl 設定net.ipv4.tcp_tw_reuse。 bool
netNetfilterNfConntrackBuckets Sysctl 設定net.netfilter.nf_conntrack_buckets。 int
netNetfilterNfConntrackMax Sysctl 設定net.netfilter.nf_conntrack_max。 int
vmMaxMapCount sysctl setting vm.max_map_count. int
vmSwappiness sysctl setting vm.swappiness. int
vmVfsCachePressure Sysctl 設定vm.vfs_cache_pressure。 int

UserAssignedIdentity

Name Description Value
clientId ユーザー割り当て ID のクライアント ID。 文字列
objectId ユーザー割り当て ID のオブジェクト ID。 文字列
resourceId ユーザー割り当て ID のリソース ID。 文字列

使用例

Terraformサンプル

マネージド Kubernetes クラスター (AKS/Azure Kubernetes Service とも呼ばれます) をデプロイする基本的な例。

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type                      = "Microsoft.Resources/resourceGroups@2020-06-01"
  name                      = var.resource_name
  location                  = var.location
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "managedCluster" {
  type      = "Microsoft.ContainerService/managedClusters@2023-04-02-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      agentPoolProfiles = [
        {
          count  = 1
          mode   = "System"
          name   = "default"
          vmSize = "Standard_DS2_v2"
        },
      ]
      dnsPrefix = var.resource_name
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Azure 検証済みモジュール

次の Azure 検証済みモジュール を使用して、このリソースの種類をデプロイできます。

Module Description
AKS マネージド クラスター AKS マネージド クラスター用の AVM リソース モジュール