{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "aksEngineVersion": { "metadata": { "description": "Contains details of the aks-engine version which was used to provision the cluster" }, "type": "string" }, "apiServerCertificate": { "metadata": { "description": "The base 64 server certificate used on the master" }, "type": "string" }, "apiServerPrivateKey": { "metadata": { "description": "The base 64 server private key used on the master." }, "type": "securestring" }, "caCertificate": { "metadata": { "description": "The base 64 certificate authority certificate" }, "type": "string" }, "caPrivateKey": { "metadata": { "description": "The base 64 CA private key used on the master." }, "type": "securestring" }, "calicopvte01Count": { "defaultValue": 2, "metadata": { "description": "The number of vms in agent pool calicopvte01" }, "type": "int" }, "calicopvte01Offset": { "defaultValue": 0, "metadata": { "description": "offset to a particular vm within a VMAS agent pool" }, "type": "int" }, "calicopvte01VMSize": { "allowedValues": [ "Standard_A0", "Standard_A1", "Standard_A10", "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", "Standard_A9", "Standard_B12ms", "Standard_B16ms", "Standard_B1ls", "Standard_B1ms", "Standard_B1s", "Standard_B20ms", "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_D16_v3", "Standard_D16a_v3", "Standard_D16as_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2a_v3", "Standard_D2as_v3", "Standard_D2s_v3", "Standard_D3", "Standard_D32_v3", "Standard_D32a_v3", "Standard_D32as_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", "Standard_D48_v3", "Standard_D48a_v3", "Standard_D48as_v3", "Standard_D48s_v3", "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4a_v3", "Standard_D4as_v3", "Standard_D4s_v3", "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64a_v3", "Standard_D64as_v3", "Standard_D64s_v3", "Standard_D8_v3", "Standard_D8a_v3", "Standard_D8as_v3", "Standard_D8s_v3", "Standard_DC2s", "Standard_DC4s", "Standard_DS1", "Standard_DS11", "Standard_DS11-1_v2", "Standard_DS11_v2", "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12-1_v2", "Standard_DS12-2_v2", "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_E16-4s_v3", "Standard_E16-8s_v3", "Standard_E16_v3", "Standard_E16a_v3", "Standard_E16as_v3", "Standard_E16s_v3", "Standard_E20_v3", "Standard_E20s_v3", "Standard_E2_v3", "Standard_E2a_v3", "Standard_E2as_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", "Standard_E32_v3", "Standard_E32a_v3", "Standard_E32as_v3", "Standard_E32s_v3", "Standard_E4-2s_v3", "Standard_E48_v3", "Standard_E48a_v3", "Standard_E48as_v3", "Standard_E48s_v3", "Standard_E4_v3", "Standard_E4a_v3", "Standard_E4as_v3", "Standard_E4s_v3", "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64a_v3", "Standard_E64as_v3", "Standard_E64i_v3", "Standard_E64is_v3", "Standard_E64s_v3", "Standard_E8-2s_v3", "Standard_E8-4s_v3", "Standard_E8_v3", "Standard_E8a_v3", "Standard_E8as_v3", "Standard_E8s_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_F48s_v2", "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_H16_Promo", "Standard_H16m", "Standard_H16m_Promo", "Standard_H16mr", "Standard_H16mr_Promo", "Standard_H16r", "Standard_H16r_Promo", "Standard_H8", "Standard_H8_Promo", "Standard_H8m", "Standard_H8m_Promo", "Standard_HB60rs", "Standard_HC44rs", "Standard_L16s", "Standard_L16s_v2", "Standard_L32s", "Standard_L32s_v2", "Standard_L48s_v2", "Standard_L4s", "Standard_L64s_v2", "Standard_L80s_v2", "Standard_L8s", "Standard_L8s_v2", "Standard_M128", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128m", "Standard_M128ms", "Standard_M128s", "Standard_M16-4ms", "Standard_M16-8ms", "Standard_M16ms", "Standard_M208ms_v2", "Standard_M208s_v2", "Standard_M32-16ms", "Standard_M32-8ms", "Standard_M32ls", "Standard_M32ms", "Standard_M32ts", "Standard_M416ms_v2", "Standard_M416s_v2", "Standard_M64", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ls", "Standard_M64m", "Standard_M64ms", "Standard_M64s", "Standard_M8-2ms", "Standard_M8-4ms", "Standard_M8ms", "Standard_NC12", "Standard_NC12_Promo", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24_Promo", "Standard_NC24r", "Standard_NC24r_Promo", "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", "Standard_NC6", "Standard_NC6_Promo", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV12_Promo", "Standard_NV12s_v2", "Standard_NV12s_v3", "Standard_NV24", "Standard_NV24_Promo", "Standard_NV24s_v2", "Standard_NV24s_v3", "Standard_NV48s_v3", "Standard_NV6", "Standard_NV6_Promo", "Standard_NV6s_v2", "Standard_PB12s", "Standard_PB24s", "Standard_PB6s" ], "defaultValue": "Standard_D3_v2", "metadata": { "description": "The size of the Virtual Machine." }, "type": "string" }, "calicopvte01VnetSubnetID": { "metadata": { "description": "Sets the vnet subnet of agent pool 'calicopvte01'." }, "type": "string" }, "calicopvte01osImageName": { "defaultValue": "", "metadata": { "description": "Name of a Linux OS image. Needs to be used in conjuction with osImageResourceGroup." }, "type": "string" }, "calicopvte01osImageOffer": { "defaultValue": "UbuntuServer", "metadata": { "description": "Linux OS image type." }, "type": "string" }, "calicopvte01osImagePublisher": { "defaultValue": "Canonical", "metadata": { "description": "OS image publisher." }, "type": "string" }, "calicopvte01osImageResourceGroup": { "defaultValue": "", "metadata": { "description": "Resource group of a Linux OS image. Needs to be used in conjuction with osImageName." }, "type": "string" }, "calicopvte01osImageSKU": { "defaultValue": "16.04-LTS", "metadata": { "description": "OS image SKU." }, "type": "string" }, "calicopvte01osImageVersion": { "defaultValue": "latest", "metadata": { "description": "OS image version." }, "type": "string" }, "clientCertificate": { "metadata": { "description": "The base 64 client certificate used to communicate with the master" }, "type": "string" }, "clientPrivateKey": { "metadata": { "description": "The base 64 client private key used to communicate with the master" }, "type": "securestring" }, "cloudproviderConfig": { "defaultValue": { "cloudProviderBackoff": false, "cloudProviderBackoffDuration": 0, "cloudProviderBackoffExponent": "0", "cloudProviderBackoffJitter": "0", "cloudProviderBackoffMode": "v1", "cloudProviderBackoffRetries": 10, "cloudProviderRateLimit": false, "cloudProviderRateLimitBucket": 0, "cloudProviderRateLimitBucketWrite": 0, "cloudProviderRateLimitQPS": "0", "cloudProviderRateLimitQPSWrite": "0" }, "type": "object" }, "cniPluginsURL": { "defaultValue": "https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-latest.tgz", "type": "string" }, "containerRuntime": { "allowedValues": [ "docker", "kata-containers", "containerd" ], "defaultValue": "docker", "metadata": { "description": "The container runtime to use (docker|kata-containers|containerd)" }, "type": "string" }, "containerdDownloadURLBase": { "defaultValue": "https://storage.googleapis.com/cri-containerd-release/", "type": "string" }, "containerdVersion": { "allowedValues": [ "1.1.5", "1.1.6", "1.2.4" ], "defaultValue": "1.1.5", "metadata": { "description": "The Azure Moby build version" }, "type": "string" }, "dockerBridgeCidr": { "metadata": { "description": "Docker bridge network IP address and subnet" }, "type": "string" }, "enableAggregatedAPIs": { "defaultValue": false, "metadata": { "description": "Enable aggregated API on master nodes" }, "type": "bool" }, "etcdClientCertificate": { "metadata": { "description": "The base 64 server certificate used on the master" }, "type": "string" }, "etcdClientPrivateKey": { "metadata": { "description": "The base 64 server private key used on the master." }, "type": "securestring" }, "etcdDiskSizeGB": { "metadata": { "description": "Size in GB to allocate for etcd volume" }, "type": "string" }, "etcdDownloadURLBase": { "metadata": { "description": "etcd image base URL" }, "type": "string" }, "etcdEncryptionKey": { "metadata": { "description": "Encryption at rest key for etcd" }, "type": "string" }, "etcdPeerCertificate0": { "metadata": { "description": "The base 64 server certificates used on the master" }, "type": "string" }, "etcdPeerPrivateKey0": { "metadata": { "description": "The base 64 server private keys used on the master." }, "type": "securestring" }, "etcdServerCertificate": { "metadata": { "description": "The base 64 server certificate used on the master" }, "type": "string" }, "etcdServerPrivateKey": { "metadata": { "description": "The base 64 server private key used on the master." }, "type": "securestring" }, "etcdVersion": { "metadata": { "description": "etcd version" }, "type": "string" }, "firstConsecutiveStaticIP": { "defaultValue": "10.21.3.15", "metadata": { "description": "Sets the static IP of the first master" }, "type": "string" }, "fqdnEndpointSuffix": { "defaultValue": "cloudapp.azure.com", "metadata": { "description": "Endpoint of FQDN." }, "type": "string" }, "gcHighThreshold": { "defaultValue": 85, "metadata": { "description": "High Threshold for Image Garbage collection on each node" }, "type": "int" }, "gcLowThreshold": { "defaultValue": 80, "metadata": { "description": "Low Threshold for Image Garbage collection on each node." }, "type": "int" }, "generatorCode": { "metadata": { "description": "The generator code used to identify the generator" }, "type": "string" }, "kubeClusterCidr": { "metadata": { "description": "Kubernetes cluster subnet" }, "type": "string" }, "kubeConfigCertificate": { "metadata": { "description": "The base 64 certificate used by cli to communicate with the master" }, "type": "string" }, "kubeConfigPrivateKey": { "metadata": { "description": "The base 64 private key used by cli to communicate with the master" }, "type": "securestring" }, "kubeDNSServiceIP": { "metadata": { "description": "Kubernetes DNS IP" }, "type": "string" }, "kubernetesACIConnectorEnabled": { "metadata": { "description": "ACI Connector Status" }, "type": "bool" }, "kubernetesAddonManagerSpec": { "metadata": { "description": "The container spec for hyperkube." }, "type": "string" }, "kubernetesCcmImageSpec": { "defaultValue": "", "metadata": { "description": "The container spec for cloud-controller-manager." }, "type": "string" }, "kubernetesClusterAutoscalerEnabled": { "metadata": { "description": "Cluster autoscaler status" }, "type": "bool" }, "kubernetesCoreDNSSpec": { "metadata": { "description": "The container spec for coredns" }, "type": "string" }, "kubernetesDNSSidecarSpec": { "metadata": { "description": "The container spec for k8s-dns-sidecar-amd64." }, "type": "string" }, "kubernetesHyperkubeSpec": { "metadata": { "description": "The container spec for hyperkube." }, "type": "string" }, "kubernetesKubeletClusterDomain": { "metadata": { "description": "--cluster-domain Kubelet config" }, "type": "string" }, "kubernetesPodInfraContainerSpec": { "metadata": { "description": "The container spec for pod infra." }, "type": "string" }, "linuxAdminUsername": { "metadata": { "description": "User name for the Linux Virtual Machines (SSH or Password)." }, "type": "string" }, "location": { "defaultValue": "mdc1", "metadata": { "description": "Sets the location for all resources in the cluster" }, "type": "string" }, "masterEndpointDNSNamePrefix": { "metadata": { "description": "Sets the Domain name label for the master IP Address. The concatenation of the domain name label and the regional DNS zone make up the fully qualified domain name associated with the public IP address." }, "type": "string" }, "masterOffset": { "allowedValues": [ 0, 1, 2, 3, 4 ], "defaultValue": 0, "metadata": { "description": "The offset into the master pool where to start creating master VMs. This value can be from 0 to 4, but must be less than masterCount." }, "type": "int" }, "masterSubnet": { "defaultValue": "", "metadata": { "description": "Sets the subnet of the master node(s)" }, "type": "string" }, "masterSubnetIPv6": { "defaultValue": "", "metadata": { "description": "Sets the IPv6 subnet of the master node(s)." }, "type": "string" }, "masterVMSize": { "allowedValues": [ "Standard_A0", "Standard_A1", "Standard_A10", "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", "Standard_A9", "Standard_B12ms", "Standard_B16ms", "Standard_B1ls", "Standard_B1ms", "Standard_B1s", "Standard_B20ms", "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_D16_v3", "Standard_D16a_v3", "Standard_D16as_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2a_v3", "Standard_D2as_v3", "Standard_D2s_v3", "Standard_D3", "Standard_D32_v3", "Standard_D32a_v3", "Standard_D32as_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", "Standard_D48_v3", "Standard_D48a_v3", "Standard_D48as_v3", "Standard_D48s_v3", "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4a_v3", "Standard_D4as_v3", "Standard_D4s_v3", "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64a_v3", "Standard_D64as_v3", "Standard_D64s_v3", "Standard_D8_v3", "Standard_D8a_v3", "Standard_D8as_v3", "Standard_D8s_v3", "Standard_DC2s", "Standard_DC4s", "Standard_DS1", "Standard_DS11", "Standard_DS11-1_v2", "Standard_DS11_v2", "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12-1_v2", "Standard_DS12-2_v2", "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_E16-4s_v3", "Standard_E16-8s_v3", "Standard_E16_v3", "Standard_E16a_v3", "Standard_E16as_v3", "Standard_E16s_v3", "Standard_E20_v3", "Standard_E20s_v3", "Standard_E2_v3", "Standard_E2a_v3", "Standard_E2as_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", "Standard_E32_v3", "Standard_E32a_v3", "Standard_E32as_v3", "Standard_E32s_v3", "Standard_E4-2s_v3", "Standard_E48_v3", "Standard_E48a_v3", "Standard_E48as_v3", "Standard_E48s_v3", "Standard_E4_v3", "Standard_E4a_v3", "Standard_E4as_v3", "Standard_E4s_v3", "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64a_v3", "Standard_E64as_v3", "Standard_E64i_v3", "Standard_E64is_v3", "Standard_E64s_v3", "Standard_E8-2s_v3", "Standard_E8-4s_v3", "Standard_E8_v3", "Standard_E8a_v3", "Standard_E8as_v3", "Standard_E8s_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_F48s_v2", "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_H16_Promo", "Standard_H16m", "Standard_H16m_Promo", "Standard_H16mr", "Standard_H16mr_Promo", "Standard_H16r", "Standard_H16r_Promo", "Standard_H8", "Standard_H8_Promo", "Standard_H8m", "Standard_H8m_Promo", "Standard_HB60rs", "Standard_HC44rs", "Standard_L16s", "Standard_L16s_v2", "Standard_L32s", "Standard_L32s_v2", "Standard_L48s_v2", "Standard_L4s", "Standard_L64s_v2", "Standard_L80s_v2", "Standard_L8s", "Standard_L8s_v2", "Standard_M128", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128m", "Standard_M128ms", "Standard_M128s", "Standard_M16-4ms", "Standard_M16-8ms", "Standard_M16ms", "Standard_M208ms_v2", "Standard_M208s_v2", "Standard_M32-16ms", "Standard_M32-8ms", "Standard_M32ls", "Standard_M32ms", "Standard_M32ts", "Standard_M416ms_v2", "Standard_M416s_v2", "Standard_M64", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ls", "Standard_M64m", "Standard_M64ms", "Standard_M64s", "Standard_M8-2ms", "Standard_M8-4ms", "Standard_M8ms", "Standard_NC12", "Standard_NC12_Promo", "Standard_NC12s_v2", "Standard_NC12s_v3", "Standard_NC24", "Standard_NC24_Promo", "Standard_NC24r", "Standard_NC24r_Promo", "Standard_NC24rs_v2", "Standard_NC24rs_v3", "Standard_NC24s_v2", "Standard_NC24s_v3", "Standard_NC6", "Standard_NC6_Promo", "Standard_NC6s_v2", "Standard_NC6s_v3", "Standard_ND12s", "Standard_ND24rs", "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV12_Promo", "Standard_NV12s_v2", "Standard_NV12s_v3", "Standard_NV24", "Standard_NV24_Promo", "Standard_NV24s_v2", "Standard_NV24s_v3", "Standard_NV48s_v3", "Standard_NV6", "Standard_NV6_Promo", "Standard_NV6s_v2", "Standard_PB12s", "Standard_PB24s", "Standard_PB6s" ], "metadata": { "description": "The size of the Virtual Machine." }, "type": "string" }, "masterVnetSubnetID": { "metadata": { "description": "Sets the vnet subnet of the master." }, "type": "string" }, "maxPods": { "defaultValue": 30, "metadata": { "description": "This param has been deprecated." }, "type": "int" }, "mobyVersion": { "allowedValues": [ "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7" ], "defaultValue": "3.0.7", "metadata": { "description": "The Azure Moby build version" }, "type": "string" }, "nameSuffix": { "defaultValue": "34449099", "metadata": { "description": "A string hash of the master DNS name to uniquely identify the cluster." }, "type": "string" }, "networkPlugin": { "allowedValues": [ "kubenet", "azure", "flannel", "cilium" ], "defaultValue": "kubenet", "metadata": { "description": "The network plugin to use for Kubernetes (kubenet|azure|flannel|cilium)" }, "type": "string" }, "networkPolicy": { "allowedValues": [ "", "none", "azure", "calico", "cilium" ], "defaultValue": "calico", "metadata": { "description": "The network policy enforcement to use (calico|cilium); 'none' and 'azure' here for backwards compatibility" }, "type": "string" }, "orchestratorName": { "maxLength": 3, "metadata": { "description": "The orchestrator name used to identify the orchestrator. This must be no more than 3 digits in length, otherwise it will exceed Windows Naming" }, "minLength": 3, "type": "string" }, "osImageName": { "defaultValue": "", "metadata": { "description": "Name of a Linux OS image. Needs to be used in conjuction with osImageResourceGroup." }, "type": "string" }, "osImageOffer": { "defaultValue": "UbuntuServer", "metadata": { "description": "Linux OS image type." }, "type": "string" }, "osImagePublisher": { "defaultValue": "Canonical", "metadata": { "description": "OS image publisher." }, "type": "string" }, "osImageResourceGroup": { "defaultValue": "", "metadata": { "description": "Resource group of a Linux OS image. Needs to be used in conjuction with osImageName." }, "type": "string" }, "osImageSKU": { "defaultValue": "16.04-LTS", "metadata": { "description": "OS image SKU." }, "type": "string" }, "osImageVersion": { "defaultValue": "latest", "metadata": { "description": "OS image version." }, "type": "string" }, "privateAzureRegistryServer": { "defaultValue": "", "metadata": { "description": "The private Azure registry server for hyperkube." }, "type": "string" }, "servicePrincipalClientId": { "metadata": { "description": "Client ID (used by cloudprovider)" }, "type": "securestring" }, "servicePrincipalClientSecret": { "metadata": { "description": "The Service Principal Client Secret." }, "type": "securestring" }, "sshRSAPublicKey": { "metadata": { "description": "SSH public key used for auth to all Linux machines. Not Required. If not set, you must provide a password key." }, "type": "string" }, "targetEnvironment": { "defaultValue": "AzurePublicCloud", "metadata": { "description": "The azure deploy environment. Currently support: AzurePublicCloud, AzureChinaCloud" }, "type": "string" }, "vnetCidr": { "defaultValue": "10.0.0.0/8", "metadata": { "description": "Cluster vnet cidr" }, "type": "string" }, "vnetCidrIPv6": { "defaultValue": "2001:1234:5678:9a00::/56", "metadata": { "description": "Cluster vnet cidr IPv6" }, "type": "string" }, "vnetCniLinuxPluginsURL": { "defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-latest.tgz", "type": "string" }, "vnetCniWindowsPluginsURL": { "defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-latest.zip", "type": "string" } }, "variables": { "apiVersionAuthorizationSystem": "2018-01-01-preview", "apiVersionAuthorizationUser": "2018-09-01-preview", "apiVersionCompute": "2017-03-30", "apiVersionDeployments": "2018-06-01", "apiVersionKeyVault": "2016-10-01", "apiVersionManagedIdentity": "2015-08-31-preview", "apiVersionNetwork": "2017-10-01", "apiVersionStorage": "2017-10-01", "calicopvte01AvailabilitySet": "[concat('calicopvte01-availabilitySet-', parameters('nameSuffix'))]", "calicopvte01Count": "[parameters('calicopvte01Count')]", "calicopvte01Index": 0, "calicopvte01Offset": "[parameters('calicopvte01Offset')]", "calicopvte01SubnetName": "[parameters('calicopvte01VnetSubnetID')]", "calicopvte01VMNamePrefix": "k8s-calicopvte01-34449099-", "calicopvte01VMSize": "[parameters('calicopvte01VMSize')]", "calicopvte01VnetParts": "[split(parameters('calicopvte01VnetSubnetID'),'/subnets/')]", "calicopvte01VnetSubnetID": "[parameters('calicopvte01VnetSubnetID')]", "calicopvte01osImageName": "[parameters('calicopvte01osImageName')]", "calicopvte01osImageOffer": "[parameters('calicopvte01osImageOffer')]", "calicopvte01osImagePublisher": "[parameters('calicopvte01osImagePublisher')]", "calicopvte01osImageResourceGroup": "[parameters('calicopvte01osImageResourceGroup')]", "calicopvte01osImageSKU": "[parameters('calicopvte01osImageSKU')]", "calicopvte01osImageVersion": "[parameters('calicopvte01osImageVersion')]", "cloudInitFiles": { "customSearchDomainsScript": "H4sIAAAAAAAA/5SQQYsUMRCF7/kV5epBD5nMDgxeZFHwLCLsxUtTk66eLidJNVXVjr3442W2V2RxLntJqMfLy6vv9at04JYOaGMwcoi/gsmsmSDJ5AkfZqWUpTlyI7U0qfxkY2ndatvYGALlUeAGoG8WjVDzCB/W+7NU5PYFK93dwG9wIogIiTynRn4WPSVuTjpgJtv0ab+NucjcR27smzwcgy3mVLOXTskc1WG3hT3cbuHv/BTE7RjOyN4Noh1O3hXJJwtKrkuufcdDNyCXWenyeA+3uy3g5PF42XoBbuZYCihhqT2Y2XpEFykGhvWAMUut0tbhuTQtPkrbbd4/yYUPBhPmEx7pxH6t2UrtGahvl8+/otlZtH8k9lgHfgg3iPfwv/neSO8+vnl7JewfdYWE8SFB+hS/p3fwInf4EwAA////C77kIgIAAA==", "dhcpv6ConfigurationScript": "H4sIAAAAAAAA/3RS3WqcQBS+n6f4apZNezG6W4g3TQPFaCpdFMKG3hTEHY/rUDNjnZlNYOO7F9cKbbq58XD+vh/PXLwLnOmDnVQBqQN2pWkYM2TBaQoaneyoLmU75Y6x26/RJo2zbVhEeZYUSbqJPwdkRVA1ohs/rSRlQ19oVbNokz/cFmmWbosouZvmFNkn3f8MpLLU16Ug41fB1YqLVruKSyWtL+o9Yz2VFXgPXuHyElm8/Z7ffzuRpncP91+2aZ7h+hpxHuHlBbZ3xOQIB7LNClKRDVE6qxkAuA6mJepwNaezUvA1eAguarxlA7ytERzKPmjl7vXAyOa3VBoy4IeJfNYT5xFjZVUVsi6UtgU9S2PN+w84nlTse+rAfz0n8BbH9eCN4ePgjeskGj1Xb27+NNjA2NSItKrl3vVS7Ucj3SGE7/seY1Y70bxtZLnEf3LgWflI2lmsV588LI5nLjyMmz9Oos/sL45nrzOMYP++gL9wjKs0ZF3pJzX9tOVyrrnuVHlttrRSKwj92LVkyWMXcZ6w3wEAAP//V01dfMMCAAA=", "dhcpv6SystemdService": "H4sIAAAAAAAA/zTNsc6CMBAH8P1e45uh27d10IiJkwMaB8JQy19prNfmeqD49A7EJ/h1Zw7a0w7FS8gaEluwu0YMo8/zP21uCrEMfSV5VIljYNTq5A4l6lrIHDx6Oi0ZNjHKmJSaN3yrTtSalNW4zyQwPrG6wJBiVqBahbqMRN2Bi7oYe7o4VgzbxT6nqKGaCuTH/TXHPX0DAAD//wVR54mwAAAA", "etcdSystemdService": "H4sIAAAAAAAA/2SQv27bMBDGdz6FhmZUuAfgoFZKm8FJITvoYBgGJZ2tg6mjendUqrcvTNRA3a7fH3683/6dUA+mBukZZ8VIDrQfirIY8TyGtfSLx+C7AMUF1mLxIUEhGhlMHfs0AanPrVF1lidrz6hj6h77ONk+MkSx1/f+CU+enrJcnRTYEehH5Mujej6Dmh+eVG5iGSkgwc1r4WdCBtnERCrPkZ1dPNuAXd4ZUC5mvwVesIeDaWhBjnQddnXVbN5ej1X7devujGb3pT6+VpvGPXz736irXXWsX9q7zjMGcOV10Q5w8imofZjNbp3BUVQ8reZdgDNJ8x14QhGMJFv1rG8UVqecwDS/oM+Ss0nYdkj5huLTX181LUiO+PDhVzH7FxL1IRwyJRg+r25KQbFMAvwH0u8AAAD//9O6UmvUAQAA", "generateProxyCertsScript": "H4sIAAAAAAAA/7RX227bOBB9Lr9iqhi5AKvITra3dBXAUFQ0SBpnZRfYolsItDS2uZZFhaSTuq3/fUHKsiXHctJbniJy5syZw+FwvPPU6bPU6VM5IkTyqYgQHJ4ph36ZCnQinirKUhTSyQS/ZZLxNMzNDrXHddD550PotcML/4NrNb6Wv09cR00y7fd5ZkcJw1TZET0c42xuFY5Br+QV9GpcIqFWLpfn/lVvLd5ybQNANWBu6XWDe95eN9jkHUlxz7vCerm20dsw93veWRj4f7/3u723fvvMD5ZubY20bf/EzREjFEo6Am+mKNUIaYxipZA9YAkWgRa8/Jzl2lIVrio0CrUBaKF0dWULzBhnBcrFy264rAgv6IVvzi/963bvrQas3TxxHVSRM572UaSoUDqVKEU5rPwv/A81yOWdrbCLIilxqmf7WKoLnmQlfje87HgX4VX7ne9aEyoVitCYhtotTHg0tkrmubWO5VqmtCKBVKExPhywQWIRwgbw8SPYX8BqfPU63Xedbvg+OJ9b8OnTa1AjTAmAPjqvdxn6V2fXnfOrXrc4z8riiTtSKpMnjtM6enHYPGwetk6Ojl+8mlslCK+94LMCWCzVSbE8rxxEm1+3g/Y717LtiGob9x7W3CKYSPwB6hURqvRLkS0yYKRAKWqkjFys1SWFKoor3WWZgL+ojopCxeIj4BY1U7gawl2jFZ9MaBrbik2QT5V73JRg2+v6FZHmYOuL6N5PaQ6Lu1zIoU0xjTPOUiXdDerOLRK0r85MVo39yVjhJDsg+DnjQkGxQwjPMJUygSGmQlKw+VRBo/wewFHzz5dLM4E3YKd4B/bnZ81XYMd0JqH18ug5aOJrnhWwoAe2nPb/gz3Hu3LN/fGMeF57byuL5StRx6QceGW8AcPrBmUOdDgUOKSKC6fjyplUODnJr7dcMcrTNMFMri+Om2CzdBOy164k67U3KCJRhRIFowk0jzZyDHqE3Am2aBgyVDyMmRzvH8BXArC6W+3rc/cYTA2qBFYFkNfeHIaooLHtiQLbzgRLlX1LkynaPE1mcAqN2gb/g9GXLf3BeOW2/1PB9H16OLv11HYgwAm/RbgbMYUyoxFCRuOYpUOgCvo4ZGmqP/gAWlJBwlI0jhJjsBnstaTzr3ScvS0a1hHYKkM0mvAYnjebtVbzjSUT3jE1CgUqMVtWz4ALYKDrd1/iDbSgdXTwGmJuNvXfBhzY3YW+QDqGb99AJogZPDP2MU+RzAmToT6bcIQ0UaPZ/kFdqGazGuux51v0OcgjfCcfsgP6iQY93YDigCntJwiWKYkW5Ddedx4UVKEEk7tFxATsAawGxsrLPrfIZDxgA77FgGA00vv7MVV4AFTpDqx0ASkONLqZMoELZlyAaYgmtqayepoe0sYAlDmUppU5wGk9QdhdY2igFsRii5CMxW7jqZ5VBNIYbGEs1IhJ+Ksedjm/5DOOZYHr6hi/s28dVAanxxdWNn0olgWN/YgqKP3amR9YcOrEeOuk0ySBo9Pd1mvyxEw+T57kig74NI0hnw1gMfxDPv1DRP+AlCswU6FpJynqYWfAfoVm27rtz6u0Qr+ny/Lh3SoPlPXJS36Ms98vSM2L8KsUMfA1knxPxayaQK0kA0bGLEmgkbGY3FGm8v8e6lZrV73oM0DTGCS9RScaYTQ2KUPEJ1mCyvSA7c8K2fE7b8j/AQAA//+1EZgyjRAAAA==", "mountEtcdScript": "H4sIAAAAAAAA/2RSXW8aMRB896/YAG/lMJdWSIlEpEhNJNQGopQ+I3/snV2Mjc5rIGn73yvfQaDtvVje8c7Ozk3/ikvruRTRsD48heTJ+hpsBB08gsEGwfpIKDSECpCUBolKpIj5LlMNhmgbbzmXqY4jJ5JXZiv0yCNx5ULShfWW+AeZal5Obq7HNx9ZHxZeIZDBlsFGqOwB9RAa3DpxQtCFPewtmfbackHmAmWErzGeXufqu4rakklypMKG37+lBrlYxwJ9bT3ybXKOTybliEUkKA7s8+zblynXuONRK/Z8/7KcLWeL+XTwMyO/S/a0+D5fPi9m8+WU70TDnZU8e6BtXLOkcSf0BiISOWSbtbYNFFsYnLuYrWCTTYVfUDf4N0YGPQMAQGUC9DJntkK4BoV+7fpQ97onB0swZpXNjFcdV++kvOxBVsWrSEL+Szt4Xwu670LCsSIShXxqrERyFIc+VMK6Izo+ntc9uLu7HHQS4yKch5zH85iTFet2r6LwuIcSBtnYC3izruIID/TpggKKr23QVl3nIxQP4MTb68qSkA5XOQPTctiWfoTUeOGOtSyps/vS5zbhyoS9h+KlZb5tc/z/H+0/LB7ZnwAAAP//tt0O5RMDAAA=", "provisionConfigs": "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", "provisionInstalls": "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", "provisionScript": "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", "provisionSource": "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" }, "clusterKeyVaultName": "", "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "customCloudAuthenticationMethod": "client_secret", "customCloudIdentifySystem": "azure_ad", "environmentJSON": "{\"name\":\"AzureStackCloud\",\"managementPortalURL\":\"https://portal.mdc1.azurestack.ukinsurance.dxc.com/\",\"publishSettingsURL\":\"\",\"serviceManagementEndpoint\":\"https://management.ukinsurance.onmicrosoft.com/289e9a39-f1cc-47d3-8504-4ac12da7004a\",\"resourceManagerEndpoint\":\"https://management.mdc1.azurestack.ukinsurance.dxc.com/\",\"activeDirectoryEndpoint\":\"https://login.microsoftonline.com/\",\"galleryEndpoint\":\"https://providers.ukinsurance.azure:30016/\",\"keyVaultEndpoint\":\"\",\"graphEndpoint\":\"https://graph.windows.net/\",\"serviceBusEndpoint\":\"\",\"batchManagementEndpoint\":\"\",\"storageEndpointSuffix\":\"mdc1.azurestack.ukinsurance.dxc.com\",\"sqlDatabaseDNSSuffix\":\"\",\"trafficManagerDNSSuffix\":\"\",\"keyVaultDNSSuffix\":\"vault.mdc1.azurestack.ukinsurance.dxc.com\",\"serviceBusEndpointSuffix\":\"\",\"serviceManagementVMDNSSuffix\":\"\",\"resourceManagerVMDNSSuffix\":\"cloudapp.azurestack.ukinsurance.dxc.com\",\"containerRegistryDNSSuffix\":\"\",\"cosmosDBDNSSuffix\":\"\",\"tokenAudience\":\"\",\"resourceIdentifiers\":{\"graph\":\"\",\"keyVault\":\"\",\"datalake\":\"\",\"batch\":\"\",\"operationalInsights\":\"\",\"storage\":\"\"}}", "etcdCaFilepath": "/etc/kubernetes/certs/ca.crt", "etcdClientCertFilepath": "/etc/kubernetes/certs/etcdclient.crt", "etcdClientKeyFilepath": "/etc/kubernetes/certs/etcdclient.key", "etcdPeerCertFilepath": [ "/etc/kubernetes/certs/etcdpeer0.crt", "/etc/kubernetes/certs/etcdpeer1.crt", "/etc/kubernetes/certs/etcdpeer2.crt", "/etc/kubernetes/certs/etcdpeer3.crt", "/etc/kubernetes/certs/etcdpeer4.crt" ], "etcdPeerCertificates": [ "[parameters('etcdPeerCertificate0')]" ], "etcdPeerKeyFilepath": [ "/etc/kubernetes/certs/etcdpeer0.key", "/etc/kubernetes/certs/etcdpeer1.key", "/etc/kubernetes/certs/etcdpeer2.key", "/etc/kubernetes/certs/etcdpeer3.key", "/etc/kubernetes/certs/etcdpeer4.key" ], "etcdPeerPrivateKeys": [ "[parameters('etcdPeerPrivateKey0')]" ], "etcdServerCertFilepath": "/etc/kubernetes/certs/etcdserver.crt", "etcdServerKeyFilepath": "/etc/kubernetes/certs/etcdserver.key", "excludeMasterFromStandardLB": "false", "kubeconfigServer": "[concat('https://', variables('kubernetesAPIServerIP'), ':443')]", "kubernetesAPIServerIP": "[parameters('firstConsecutiveStaticIP')]", "labelResourceGroup": "[if(or(or(endsWith(variables('truncatedResourceGroup'), '-'), endsWith(variables('truncatedResourceGroup'), '_')), endsWith(variables('truncatedResourceGroup'), '.')), concat(take(variables('truncatedResourceGroup'), 62), 'z'), variables('truncatedResourceGroup'))]", "loadBalancerSku": "Basic", "location": "[variables('locations')[mod(add(2,length(parameters('location'))),add(1,length(parameters('location'))))]]", "locations": [ "[resourceGroup().location]", "[parameters('location')]" ], "masterAvailabilitySet": "[concat('master-availabilityset-', parameters('nameSuffix'))]", "masterCount": 1, "masterEtcdClientPort": 2379, "masterEtcdClientURLs": [ "[concat('https://', variables('masterPrivateIpAddrs')[0], ':', variables('masterEtcdClientPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[1], ':', variables('masterEtcdClientPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[2], ':', variables('masterEtcdClientPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[3], ':', variables('masterEtcdClientPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[4], ':', variables('masterEtcdClientPort'))]" ], "masterEtcdClusterStates": [ "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0])]", "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0], ',', variables('masterVMNames')[1], '=', variables('masterEtcdPeerURLs')[1], ',', variables('masterVMNames')[2], '=', variables('masterEtcdPeerURLs')[2])]", "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0], ',', variables('masterVMNames')[1], '=', variables('masterEtcdPeerURLs')[1], ',', variables('masterVMNames')[2], '=', variables('masterEtcdPeerURLs')[2], ',', variables('masterVMNames')[3], '=', variables('masterEtcdPeerURLs')[3], ',', variables('masterVMNames')[4], '=', variables('masterEtcdPeerURLs')[4])]" ], "masterEtcdPeerURLs": [ "[concat('https://', variables('masterPrivateIpAddrs')[0], ':', variables('masterEtcdServerPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[1], ':', variables('masterEtcdServerPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[2], ':', variables('masterEtcdServerPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[3], ':', variables('masterEtcdServerPort'))]", "[concat('https://', variables('masterPrivateIpAddrs')[4], ':', variables('masterEtcdServerPort'))]" ], "masterEtcdServerPort": 2380, "masterFirstAddrComment": "these MasterFirstAddrComment are used to place multiple masters consecutively in the address space", "masterFirstAddrOctet4": "[variables('masterFirstAddrOctets')[3]]", "masterFirstAddrOctets": "[split(parameters('firstConsecutiveStaticIP'),'.')]", "masterFirstAddrPrefix": "[concat(variables('masterFirstAddrOctets')[0],'.',variables('masterFirstAddrOctets')[1],'.',variables('masterFirstAddrOctets')[2],'.')]", "masterFqdnPrefix": "[tolower(parameters('masterEndpointDNSNamePrefix'))]", "masterLbBackendPoolName": "[concat(parameters('orchestratorName'), '-master-pool-', parameters('nameSuffix'))]", "masterOffset": "[parameters('masterOffset')]", "masterPrivateIpAddrs": [ "[concat(variables('masterFirstAddrPrefix'), add(0, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(1, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(2, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(3, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(4, int(variables('masterFirstAddrOctet4'))))]" ], "masterVMNamePrefix": "k8s-master-34449099-", "masterVMNames": [ "[concat(variables('masterVMNamePrefix'), '0')]", "[concat(variables('masterVMNamePrefix'), '1')]", "[concat(variables('masterVMNamePrefix'), '2')]", "[concat(variables('masterVMNamePrefix'), '3')]", "[concat(variables('masterVMNamePrefix'), '4')]" ], "maxVMsPerPool": 100, "maximumLoadBalancerRuleCount": 250, "nsgID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('nsgName'))]", "nsgName": "[concat(variables('masterVMNamePrefix'), 'nsg')]", "orchestratorNameVersionTag": "Kubernetes:1.14.8", "primaryAvailabilitySetName": "[concat('calicopvte01-availabilitySet-',parameters('nameSuffix'))]", "primaryScaleSetName": "", "provisionConfigsCustomCloud": "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", "provisionScriptParametersCommon": "[concat('ADMINUSER=',parameters('linuxAdminUsername'),' ETCD_DOWNLOAD_URL=',parameters('etcdDownloadURLBase'),' ETCD_VERSION=',parameters('etcdVersion'),' CONTAINERD_VERSION=',parameters('containerdVersion'),' MOBY_VERSION=',parameters('mobyVersion'),' TENANT_ID=',variables('tenantID'),' KUBERNETES_VERSION=1.14.8-azs HYPERKUBE_URL=',parameters('kubernetesHyperkubeSpec'),' APISERVER_PUBLIC_KEY=',parameters('apiServerCertificate'),' SUBSCRIPTION_ID=',variables('subscriptionId'),' RESOURCE_GROUP=',variables('resourceGroup'),' LOCATION=',variables('location'),' VM_TYPE=',variables('vmType'),' SUBNET=',variables('subnetName'),' NETWORK_SECURITY_GROUP=',variables('nsgName'),' VIRTUAL_NETWORK=',variables('virtualNetworkName'),' VIRTUAL_NETWORK_RESOURCE_GROUP=',variables('virtualNetworkResourceGroupName'),' ROUTE_TABLE=',variables('routeTableName'),' PRIMARY_AVAILABILITY_SET=',variables('primaryAvailabilitySetName'),' PRIMARY_SCALE_SET=',variables('primaryScaleSetName'),' SERVICE_PRINCIPAL_CLIENT_ID=',variables('servicePrincipalClientId'),' SERVICE_PRINCIPAL_CLIENT_SECRET=',variables('singleQuote'),variables('servicePrincipalClientSecret'),variables('singleQuote'),' KUBELET_PRIVATE_KEY=',parameters('clientPrivateKey'),' TARGET_ENVIRONMENT=',parameters('targetEnvironment'),' NETWORK_PLUGIN=',parameters('networkPlugin'),' NETWORK_POLICY=',parameters('networkPolicy'),' VNET_CNI_PLUGINS_URL=',parameters('vnetCniLinuxPluginsURL'),' CNI_PLUGINS_URL=',parameters('cniPluginsURL'),' CLOUDPROVIDER_BACKOFF=',toLower(string(parameters('cloudproviderConfig').cloudProviderBackoff)),' CLOUDPROVIDER_BACKOFF_MODE=',parameters('cloudproviderConfig').cloudProviderBackoffMode,' CLOUDPROVIDER_BACKOFF_RETRIES=',parameters('cloudproviderConfig').cloudProviderBackoffRetries,' CLOUDPROVIDER_BACKOFF_EXPONENT=',parameters('cloudproviderConfig').cloudProviderBackoffExponent,' CLOUDPROVIDER_BACKOFF_DURATION=',parameters('cloudproviderConfig').cloudProviderBackoffDuration,' CLOUDPROVIDER_BACKOFF_JITTER=',parameters('cloudproviderConfig').cloudProviderBackoffJitter,' CLOUDPROVIDER_RATELIMIT=',toLower(string(parameters('cloudproviderConfig').cloudProviderRatelimit)),' CLOUDPROVIDER_RATELIMIT_QPS=',parameters('cloudproviderConfig').cloudProviderRatelimitQPS,' CLOUDPROVIDER_RATELIMIT_QPS_WRITE=',parameters('cloudproviderConfig').cloudProviderRatelimitQPSWrite,' CLOUDPROVIDER_RATELIMIT_BUCKET=',parameters('cloudproviderConfig').cloudProviderRatelimitBucket,' CLOUDPROVIDER_RATELIMIT_BUCKET_WRITE=',parameters('cloudproviderConfig').cloudProviderRatelimitBucketWrite,' USE_MANAGED_IDENTITY_EXTENSION=',variables('useManagedIdentityExtension'),' USE_INSTANCE_METADATA=',variables('useInstanceMetadata'),' LOAD_BALANCER_SKU=',variables('loadBalancerSku'),' EXCLUDE_MASTER_FROM_STANDARD_LB=',variables('excludeMasterFromStandardLB'),' MAXIMUM_LOADBALANCER_RULE_COUNT=',variables('maximumLoadBalancerRuleCount'),' CONTAINER_RUNTIME=',parameters('containerRuntime'),' CONTAINERD_DOWNLOAD_URL_BASE=',parameters('containerdDownloadURLBase'),' POD_INFRA_CONTAINER_SPEC=',parameters('kubernetesPodInfraContainerSpec'),' KMS_PROVIDER_VAULT_NAME=',variables('clusterKeyVaultName'),' IS_HOSTED_MASTER=false',' IS_IPV6_DUALSTACK_FEATURE_ENABLED=false',' PRIVATE_AZURE_REGISTRY_SERVER=',parameters('privateAzureRegistryServer'),' AUTHENTICATION_METHOD=',variables('customCloudAuthenticationMethod'),' IDENTITY_SYSTEM=',variables('customCloudIdentifySystem'),' NETWORK_API_VERSION=',variables('apiVersionNetwork'))]", "provisionScriptParametersMaster": "[concat('COSMOS_URI= MASTER_VM_NAME=',variables('masterVMNames')[variables('masterOffset')],' ETCD_PEER_URL=',variables('masterEtcdPeerURLs')[variables('masterOffset')],' ETCD_CLIENT_URL=',variables('masterEtcdClientURLs')[variables('masterOffset')],' MASTER_NODE=true NO_OUTBOUND=false AUDITD_ENABLED=false CLUSTER_AUTOSCALER_ADDON=',parameters('kubernetesClusterAutoscalerEnabled'),' ACI_CONNECTOR_ADDON=',parameters('kubernetesACIConnectorEnabled'),' AZURE_POLICY_ADDON=false APISERVER_PRIVATE_KEY=',parameters('apiServerPrivateKey'),' CA_CERTIFICATE=',parameters('caCertificate'),' CA_PRIVATE_KEY=',parameters('caPrivateKey'),' MASTER_FQDN=',variables('masterFqdnPrefix'),' KUBECONFIG_CERTIFICATE=',parameters('kubeConfigCertificate'),' KUBECONFIG_KEY=',parameters('kubeConfigPrivateKey'),' ETCD_SERVER_CERTIFICATE=',parameters('etcdServerCertificate'),' ETCD_CLIENT_CERTIFICATE=',parameters('etcdClientCertificate'),' ETCD_SERVER_PRIVATE_KEY=',parameters('etcdServerPrivateKey'),' ETCD_CLIENT_PRIVATE_KEY=',parameters('etcdClientPrivateKey'),' ETCD_PEER_CERTIFICATES=',string(variables('etcdPeerCertificates')),' ETCD_PEER_PRIVATE_KEYS=',string(variables('etcdPeerPrivateKeys')),' ENABLE_AGGREGATED_APIS=',string(parameters('enableAggregatedAPIs')),' KUBECONFIG_SERVER=',variables('kubeconfigServer'))]", "readerRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]", "resourceGroup": "[resourceGroup().name]", "routeTableID": "[resourceId('Microsoft.Network/routeTables', variables('routeTableName'))]", "routeTableName": "[concat(variables('masterVMNamePrefix'),'routetable')]", "scope": "[resourceGroup().id]", "servicePrincipalClientId": "[parameters('servicePrincipalClientId')]", "servicePrincipalClientSecret": "[parameters('servicePrincipalClientSecret')]", "singleQuote": "'", "sshKeyPath": "[concat('/home/',parameters('linuxAdminUsername'),'/.ssh/authorized_keys')]", "sshNatPorts": [ 22, 2201, 2202, 2203, 2204 ], "storageAccountBaseName": "", "storageAccountPrefixes": [], "subnetName": "[split(parameters('masterVnetSubnetID'), '/')[variables('subnetNameResourceSegmentIndex')]]", "subnetNameResourceSegmentIndex": 10, "subscriptionId": "[subscription().subscriptionId]", "tenantId": "[subscription().tenantId]", "truncatedResourceGroup": "[take(replace(replace(resourceGroup().name, '(', '-'), ')', '-'), 63)]", "useInstanceMetadata": "false", "useManagedIdentityExtension": "false", "userAssignedClientID": "", "userAssignedID": "", "userAssignedIDReference": "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedID'))]", "virtualNetworkName": "[split(parameters('masterVnetSubnetID'), '/')[variables('vnetNameResourceSegmentIndex')]]", "virtualNetworkResourceGroupName": "[split(parameters('masterVnetSubnetID'), '/')[variables('vnetResourceGroupNameResourceSegmentIndex')]]", "vmType": "standard", "vnetNameResourceSegmentIndex": 8, "vnetResourceGroupNameResourceSegmentIndex": 4, "vnetSubnetID": "[parameters('masterVnetSubnetID')]" }, "resources": [ { "apiVersion": "2015-01-01", "name": "pid-1bda96ec-adf4-4eea-bb9a-8462de5475c0", "properties": { "mode": "Incremental", "template": { "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [] } }, "type": "Microsoft.Resources/deployments" }, { "apiVersion": "[variables('apiVersionNetwork')]", "copy": { "count": "[sub(variables('calicopvte01Count'), variables('calicopvte01Offset'))]", "name": "loop" }, "dependsOn": [ "[variables('nsgID')]" ], "location": "[variables('location')]", "name": "[concat(variables('calicopvte01VMNamePrefix'), 'nic-', copyIndex(variables('calicopvte01Offset')))]", "properties": { "enableAcceleratedNetworking": false, "ipConfigurations": [ { "name": "ipconfig1", "properties": { "loadBalancerBackendAddressPools": [], "primary": true, "privateIPAllocationMethod": "Dynamic", "subnet": { "id": "[variables('calicopvte01VnetSubnetID')]" } } } ], "networkSecurityGroup": { "id": "[variables('nsgID')]" } }, "tags": null, "type": "Microsoft.Network/networkInterfaces" }, { "apiVersion": "[variables('apiVersionCompute')]", "location": "[variables('location')]", "name": "[variables('calicopvte01AvailabilitySet')]", "properties": { "platformFaultDomainCount": 3, "platformUpdateDomainCount": 3 }, "sku": { "name": "Aligned" }, "tags": null, "type": "Microsoft.Compute/availabilitySets" }, { "apiVersion": "[variables('apiVersionCompute')]", "copy": { "count": "[sub(variables('calicopvte01Count'), variables('calicopvte01Offset'))]", "name": "vmLoopNode" }, "dependsOn": [ "[concat('Microsoft.Network/networkInterfaces/', variables('calicopvte01VMNamePrefix'), 'nic-', copyIndex(variables('calicopvte01Offset')))]", "[concat('Microsoft.Compute/availabilitySets/', variables('calicopvte01AvailabilitySet'))]" ], "location": "[variables('location')]", "name": "[concat(variables('calicopvte01VMNamePrefix'), copyIndex(variables('calicopvte01Offset')))]", "properties": { "availabilitySet": { "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('calicopvte01AvailabilitySet'))]" }, "hardwareProfile": { "vmSize": "[variables('calicopvte01VMSize')]" }, "networkProfile": { "networkInterfaces": [ { "id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('calicopvte01VMNamePrefix'), 'nic-', copyIndex(variables('calicopvte01Offset'))))]" } ] }, "osProfile": { "adminUsername": "[parameters('linuxAdminUsername')]", "computerName": "[concat(variables('calicopvte01VMNamePrefix'), copyIndex(variables('calicopvte01Offset')))]", "customData": "[base64(concat('#cloud-config\n\nwrite_files:\n- path: /opt/azure/containers/provision_source.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionSource,'\n\n- path: /opt/azure/containers/provision.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionScript,'\n\n- path: /opt/azure/containers/provision_installs.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionInstalls,'\n\n- path: /opt/azure/containers/provision_configs.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionConfigs,'\n\n\n\n\n\n\n- path: /opt/azure/containers/provision_configs_custom_cloud.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('provisionConfigsCustomCloud'),'\n\n\n\n\n\n\n\n \n \n \n\n- path: /etc/systemd/system/docker.service.d/exec_start.conf\n permissions: \"0644\"\n owner: root\n content: |\n [Service]\n ExecStart=\n \n ExecStart=/usr/bin/dockerd -H fd:// --storage-driver=overlay2 --bip=',parameters('dockerBridgeCidr'),'\n \n ExecStartPost=/sbin/iptables -P FORWARD ACCEPT\n #EOF\n\n- path: /etc/docker/daemon.json\n permissions: \"0644\"\n owner: root\n content: |\n {\n \"live-restore\": true,\n \"log-driver\": \"json-file\",\n \"log-opts\": {\n \"max-size\": \"50m\",\n \"max-file\": \"5\"\n }\n }\n\n\n\n\n\n\n\n\n- path: /etc/kubernetes/certs/ca.crt\n permissions: \"0644\"\n encoding: base64\n owner: root\n content: |\n ',parameters('caCertificate'),'\n\n- path: /etc/kubernetes/certs/client.crt\n permissions: \"0644\"\n encoding: base64\n owner: root\n content: |\n ',parameters('clientCertificate'),'\n\n\n\n- path: /var/lib/kubelet/kubeconfig\n permissions: \"0644\"\n owner: root\n content: |\n apiVersion: v1\n kind: Config\n clusters:\n - name: localcluster\n cluster:\n certificate-authority: /etc/kubernetes/certs/ca.crt\n server: https://',variables('kubernetesAPIServerIP'),':443\n users:\n - name: client\n user:\n client-certificate: /etc/kubernetes/certs/client.crt\n client-key: /etc/kubernetes/certs/client.key\n contexts:\n - context:\n cluster: localcluster\n user: client\n name: localclustercontext\n current-context: localclustercontext\n #EOF\n\n- path: /etc/default/kubelet\n permissions: \"0644\"\n owner: root\n content: |\n\n KUBELET_OPTS=\n\n KUBELET_CONFIG=--address=0.0.0.0 --allow-privileged=true --anonymous-auth=false --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true --image-gc-high-threshold=85 --image-gc-low-threshold=80 --image-pull-progress-deadline=30m --keep-terminated-pod-volumes=false --kubeconfig=/var/lib/kubelet/kubeconfig --max-pods=110 --network-plugin=cni --node-status-update-frequency=1m --non-masquerade-cidr=0.0.0.0/0 --pod-infra-container-image=mcr.microsoft.com/k8s/core/pause:1.2.0 --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --rotate-certificates=true --streaming-connection-idle-timeout=4h --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key \n KUBELET_IMAGE=',parameters('kubernetesHyperkubeSpec'),'\n KUBELET_REGISTER_SCHEDULABLE=true\n\n KUBELET_NODE_LABELS=kubernetes.azure.com/role=agent,node-role.kubernetes.io/agent=,kubernetes.io/role=agent,agentpool=calicopvte01,storageprofile=managed,storagetier=Standard_LRS,kubernetes.azure.com/cluster=',variables('labelResourceGroup'),'\n\n\n AZURE_ENVIRONMENT_FILEPATH=/etc/kubernetes/azurestackcloud.json\n\n #EOF\n\n- path: /opt/azure/containers/kubelet.sh\n permissions: \"0755\"\n owner: root\n content: |\n #!/bin/bash\n\n\n #EOF\n\n\n- path: \"/etc/kubernetes/azurestackcloud.json\"\n permissions: \"0600\"\n owner: \"root\"\n content: |\n ',variables('environmentJSON'),'\n\n\n\nruncmd:\n- set -x\n- . /opt/azure/containers/provision_source.sh\n- aptmarkWALinuxAgent hold\n\n'))]", "linuxConfiguration": { "disablePasswordAuthentication": true, "ssh": { "publicKeys": [ { "keyData": "[parameters('sshRSAPublicKey')]", "path": "[variables('sshKeyPath')]" } ] } } }, "storageProfile": { "dataDisks": null, "imageReference": { "offer": "[variables('calicopvte01osImageOffer')]", "publisher": "[variables('calicopvte01osImagePublisher')]", "sku": "[variables('calicopvte01osImageSKU')]", "version": "[variables('calicopvte01osImageVersion')]" }, "osDisk": { "caching": "ReadWrite", "createOption": "FromImage", "diskSizeGB": 200 } } }, "tags": { "aksEngineVersion": "[parameters('aksEngineVersion')]", "creationSource": "[concat(parameters('generatorCode'), '-', variables('calicopvte01VMNamePrefix'), copyIndex(variables('calicopvte01Offset')))]", "orchestrator": "[variables('orchestratorNameVersionTag')]", "poolName": "calicopvte01", "resourceNameSuffix": "[parameters('nameSuffix')]" }, "type": "Microsoft.Compute/virtualMachines" }, { "apiVersion": "[variables('apiVersionCompute')]", "copy": { "count": "[sub(variables('calicopvte01Count'), variables('calicopvte01Offset'))]", "name": "vmLoopNode" }, "dependsOn": [ "[concat('Microsoft.Compute/virtualMachines/', variables('calicopvte01VMNamePrefix'), copyIndex(variables('calicopvte01Offset')))]" ], "location": "[variables('location')]", "name": "[concat(variables('calicopvte01VMNamePrefix'), copyIndex(variables('calicopvte01Offset')),'/cse', '-agent-', copyIndex(variables('calicopvte01Offset')))]", "properties": { "autoUpgradeMinorVersion": true, "protectedSettings": { "commandToExecute": "[concat('echo $(date),$(hostname); for i in $(seq 1 1200); do grep -Fq \"EOF\" /opt/azure/containers/provision.sh && break; if [ $i -eq 1200 ]; then exit 100; else sleep 1; fi; done; ', variables('provisionScriptParametersCommon'),' USER_ASSIGNED_IDENTITY_ID=',' ',' IS_VHD=true GPU_NODE=false SGX_NODE=false AUDITD_ENABLED=false /usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh >> /var/log/azure/cluster-provision.log 2>&1\"')]" }, "publisher": "Microsoft.Azure.Extensions", "settings": {}, "type": "CustomScript", "typeHandlerVersion": "2.0" }, "tags": null, "type": "Microsoft.Compute/virtualMachines/extensions" }, { "apiVersion": "[variables('apiVersionCompute')]", "location": "[variables('location')]", "name": "[variables('masterAvailabilitySet')]", "properties": { "platformFaultDomainCount": 3, "platformUpdateDomainCount": 3 }, "sku": { "name": "Aligned" }, "tags": null, "type": "Microsoft.Compute/availabilitySets" }, { "apiVersion": "[variables('apiVersionNetwork')]", "location": "[variables('location')]", "name": "[variables('nsgName')]", "properties": { "securityRules": [ { "name": "allow_ssh", "properties": { "access": "Allow", "description": "Allow SSH traffic to master", "destinationAddressPrefix": "*", "destinationPortRange": "22-22", "direction": "Inbound", "priority": 101, "protocol": "Tcp", "sourceAddressPrefix": "*", "sourcePortRange": "*" } }, { "name": "allow_kube_tls", "properties": { "access": "Allow", "description": "Allow kube-apiserver (tls) traffic to master", "destinationAddressPrefix": "*", "destinationPortRange": "443-443", "direction": "Inbound", "priority": 100, "protocol": "Tcp", "sourceAddressPrefix": "VirtualNetwork", "sourcePortRange": "*" } }, { "name": "allow_vnet_inbound", "properties": { "access": "Allow", "description": "Allow traffic inbound within vnet", "destinationAddressPrefix": "10.0.0.0/8", "destinationPortRange": "*", "direction": "Inbound", "priority": 4095, "protocol": "*", "sourceAddressPrefix": "10.0.0.0/8", "sourcePortRange": "*" } }, { "name": "allow_vnet_outbound", "properties": { "access": "Allow", "description": "Allow traffic outbound within vnet", "destinationAddressPrefix": "10.0.0.0/8", "destinationPortRange": "*", "direction": "Outbound", "priority": 4095, "protocol": "*", "sourceAddressPrefix": "10.0.0.0/8", "sourcePortRange": "*" } } ] }, "tags": null, "type": "Microsoft.Network/networkSecurityGroups" }, { "apiVersion": "[variables('apiVersionNetwork')]", "location": "[variables('location')]", "name": "[variables('routeTableName')]", "tags": null, "type": "Microsoft.Network/routeTables" }, { "apiVersion": "[variables('apiVersionNetwork')]", "copy": { "count": "[sub(variables('masterCount'), variables('masterOffset'))]", "name": "nicLoopNode" }, "dependsOn": [ "[variables('nsgID')]" ], "location": "[variables('location')]", "name": "[concat(variables('masterVMNamePrefix'), 'nic-', copyIndex(variables('masterOffset')))]", "properties": { "ipConfigurations": [ { "name": "ipconfig1", "properties": { "loadBalancerBackendAddressPools": null, "loadBalancerInboundNatRules": [], "primary": true, "privateIPAddress": "[variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))]]", "privateIPAllocationMethod": "Static", "subnet": { "id": "[variables('vnetSubnetID')]" } } } ], "networkSecurityGroup": { "id": "[variables('nsgID')]" } }, "tags": null, "type": "Microsoft.Network/networkInterfaces" }, { "apiVersion": "[variables('apiVersionCompute')]", "copy": { "count": "[sub(variables('masterCount'), variables('masterOffset'))]", "name": "vmLoopNode" }, "dependsOn": [ "[concat('Microsoft.Network/networkInterfaces/', variables('masterVMNamePrefix'), 'nic-', copyIndex(variables('masterOffset')))]", "[concat('Microsoft.Compute/availabilitySets/',variables('masterAvailabilitySet'))]" ], "location": "[variables('location')]", "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", "properties": { "availabilitySet": { "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('masterAvailabilitySet'))]" }, "hardwareProfile": { "vmSize": "Standard_D3_v2" }, "networkProfile": { "networkInterfaces": [ { "id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('masterVMNamePrefix'),'nic-', copyIndex(variables('masterOffset'))))]" } ] }, "osProfile": { "adminUsername": "[parameters('linuxAdminUsername')]", "computerName": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", "customData": "[base64(concat('#cloud-config\n\nwrite_files:\n- path: /opt/azure/containers/provision_source.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionSource,'\n\n- path: /opt/azure/containers/provision.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionScript,'\n\n- path: /opt/azure/containers/provision_installs.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionInstalls,'\n\n- path: /opt/azure/containers/provision_configs.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').provisionConfigs,'\n\n\n\n\n\n\n- path: /opt/azure/containers/provision_configs_custom_cloud.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('provisionConfigsCustomCloud'),'\n\n\n\n\n\n\n\n \n \n \n\n- path: /etc/systemd/system/docker.service.d/exec_start.conf\n permissions: \"0644\"\n owner: root\n content: |\n [Service]\n ExecStart=\n \n ExecStart=/usr/bin/dockerd -H fd:// --storage-driver=overlay2 --bip=',parameters('dockerBridgeCidr'),'\n \n ExecStartPost=/sbin/iptables -P FORWARD ACCEPT\n #EOF\n\n- path: /etc/docker/daemon.json\n permissions: \"0644\"\n owner: root\n content: |\n {\n \"live-restore\": true,\n \"log-driver\": \"json-file\",\n \"log-opts\": {\n \"max-size\": \"50m\",\n \"max-file\": \"5\"\n }\n }\n\n\n\n\n\n\n- path: /etc/kubernetes/certs/ca.crt\n permissions: \"0644\"\n encoding: base64\n owner: root\n content: |\n ',parameters('caCertificate'),'\n\n- path: /etc/kubernetes/certs/client.crt\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',parameters('clientCertificate'),'\n\n\n- path: /etc/kubernetes/generate-proxy-certs.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').generateProxyCertsScript,'\n\n\n\n\n- path: /var/lib/kubelet/kubeconfig\n permissions: \"0644\"\n owner: root\n content: |\n apiVersion: v1\n kind: Config\n clusters:\n - name: localcluster\n cluster:\n certificate-authority: /etc/kubernetes/certs/ca.crt\n \n server: ',concat('https://', variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))], ':443'),'\n \n users:\n - name: client\n user:\n client-certificate: /etc/kubernetes/certs/client.crt\n client-key: /etc/kubernetes/certs/client.key\n contexts:\n - context:\n cluster: localcluster\n user: client\n name: localclustercontext\n current-context: localclustercontext\n #EOF\n\n\n\n\n\n- path: /etc/kubernetes/manifests/kube-scheduler.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4SRMW/bMBCFd/2Kg+cKQlciyNIpQ1wBBboEHc7UVT6YPBLHkwP9+4KObLixFWsRcLz3vcdHzPybtHASB8fvzYFlcNCnoYlkOKChawAEIzk4TDtqi9/TMAXSZVwy+svZXIxiAxBwR6FUJYAxqQOfxDSFNgcUOs19ijkJid2ASyZftVk5Kdv8I2Ap21OED4dW0kCtVzb2GBqAfSq2JXtPenBgOlWH6ogspEuOdu0W9eOIIzl44jg+X4/6KYQ+Bfazg5e/22S9UiGxZcenGLEW9rbp9nMmrfDNN9j8b7L5s+yjjsXB21P9P5+HxxSmSK9pEluiXscl822lqZBRuRwDxCro0fYOOjLf3Vk6M46obeDdiRPIViBH1C7wrvu8dabEwg+U74gjiXWvKDjS8DKQGNvc/iIzlvE6vRIOPyXMl+f6aOHTW929fH3sk/EFl1db+LqBVdK9Km5reCh/2Me/AAAA//9DlaY4fQMAAA==\n\n- path: /etc/kubernetes/manifests/kube-controller-manager.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4yST2vbQBDF7/4Ug85VRa+LCYTiUkOtiDTNoaGE8Woqb71/xOxIQf30ZWXZNU5Udy8Ss/PeG/002JpH4miCV9B/WOyNrxVUoV44EqxRUC0APDpSsO+2lOvghYO1xLlDjw3xdB9b1MemOEQhtwCwuCUbkwWAGGIFkz5vLXoa6zq4NnjyMp8QW9LJpGUT2Mjw0WKM5TjUISr3oaZcsxGj0S4AdiFKSfISeK9AuEtRyRiNJ54Gyq9+VzrGYUMKlsY1N+elqrO2CtboQcH6ZxmkYorkZerRwTlMLJ+yYje0xCklewfZTFr2YxIiN1HB0zI9b45F8r2aXo9T337/dr96XpWP6/u7crMqH54/rb+sqtuHz1MjQI+2IwVZQaKLlMuehGKBvzumKKj32oaufv8rBp9Nqj7YztEmdF6iOjkdQ0l0/tfodA3gkqBC2Sm4SHvl0SPn1mxHH0syY9IjF9Zsi8uuo4uL5oryBbEhL8VmBFyva/JiZMi/kojxzfn0TFjfeTucVuVwlucwok2//1C5WKA3qaQNHCc62bWzeP6NZtbpLUav+VyV/xeoicWI4U8AAAD//6+vuR00BAAA\n\n- path: /etc/kubernetes/manifests/kube-apiserver.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4ySsY7bMAyGdz8FkbmG0VU43NLphksNFOhy6MDIrENEEgWJ9sFvX8i1g+QS5y5LAIr8+OuzMPJvSpklGBi/VycOnYFWusqTYoeKpgII6MnAaThQjZEzpZHSUs4R7XqWp6zkKwCHB3K5TAIoUzJgJWgSV0eHgea6FR8lUNAbcI5ky2xMLIl1+uEw5/0c4f+GOkhHtU2sbNFVAEfJuid9l3QyoGkoG8pG5EBpyVFv3aL82GNPBp7Y98+XpXZwrhXHdjLw8ncv2ibKFHTpseI9FmFvu+Y4RUoFvvsGu+sluz9LP6Y+G3h7Kv/Pa3EUN3h6lSHoEvUyLqmtCy0FUsrnYwBfBlrUo4GG1DZ3mlbGiKl2fJg5jnQDMmJqHB+aj10rxWf+ZPIdsaegzSsG7Kl76Sgo61T/IlUO/WX6RNj9DG46f67rXVnsaWOZxNtoOHSsTvpH+aSfbza3Vqv1D2/jruzyuGbQmR43rT82vkm6p/5W+6fjX/J/R/EmeHW94flxoCvh/wIAAP//SaoPEGcEAAA=\n\n- path: /etc/kubernetes/manifests/kube-addon-manager.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4yRPW7DMAyFd5+CFzDcDlmEokunDEkNFOjOSKxDRD+uSDnw7Qs7/0UTdCT53qdHCnv+pCycooHhudpxdAba5KpAig4VTQUQMZCBXdlQjc6lWAeM2FE+jqRHe5rLKEqhAhiuqNKTnTh95pRZxzePIusZetDXMTmqbWZli74C2CbRNek+5Z0BzYUqAJuiIkfKMrHqR6kAOGBHBl44dK+XRlu8b5NnOxpYfq2TtpmEos6KTJJKtjTjD43vQqLnGsD2xcAinOtAIeXRwOJpxXNzSL4EWqUST7ZTzjmiHJ1hErSoWwMNqW2mJXIkJWludJnQvUc/nm9w4QXhP2AD5sbzptkjdhS1Wc0ncUtHUVnH+oNUOXZ3+Yf8Nwe+CjT9yvzQ0d4/3uB31Dv2f2f+CQAA//8hpcDarAIAAA==\n\n\n\n- path: /etc/kubernetes/addons/coredns.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n 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\n\n- path: /etc/kubernetes/addons/kube-proxy-daemonset.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5RWS4/jNgy+51cIAxR70njmUKAwJgUWs3NYoDsNdrC9MzKTCJFELUWl9r8v5LzsvJrVKSGpj4/vo22I9h/kZCnUClvBUH6mavM8R4HnydqGplZfAD2FD5SJR4EGBOqJUg7m6FL5pRQ0DQUPAZbIj+s8Rw4omB4tVZ4arNV3NBSMddiHjyOMy0mQdULeWIO1ehDO+NBHGvKRAgap+0s6MrVd7xGLXKtAzQ7yj6QhxpOwAB4vmFIEs7enLgn6SYpoSi8JHRoh3vblQczqr0Gj1xLl2IDghzAILrttrHSxdE7O2bD80Qf0dh5a9rAe2h8BNmAdzB3W6ven3yZKCfroDlHD6ZfjRoXdGtaFgV3vpSc0BBKQIoYjfjIrbLJDfgQXV3BCtGEr1oDTkZpaffrUX9uPtZzIlthK9+ogpfeeme3wdSlK7+/vooUc8rgCrdbYbVvQTA5PlQZFRodqKZb7xLV6+5kPsEptwOWxyMrBxQKN1OqdPnZdHpIegR7eWpskXbr11qLJ8ouXzlL1/b3uBvG5LFX6O7juUk896GRPfBCwAXkwKkPeQ2iO7GlVrbqIXIY2MF5QilZaF7OhsLDLabUBrpydV8XmUKqjb3Rlv8fGNjx9ef365fufI/8CQTKjXoJgmr61Edl6DAJu3/GMms8H4U0LQSOAvkpdHijTl1LDrPz/Rg0e81gPS6zVi/XLE+MsOzcjZ01Xq6+Ld5IZY8Igh6gLz4rtYUyU2eBgE4rxZ8YkI5tSJuZaPT89+ePOoMm96CkItjIMj2w31uESm1qNet2Qyx6/UQ5DfK18scxAVrWqUEyVkqsM8kEGxy5Scrr36BUlGZUNTVHUScZz7ONqnYGjGH3RfRf4HWIacnHmuisJ51C1Up6k6dGRWZ9B27j1jpxjjFKkp7KeqTovrXTvdu7/q65w8I7yL/F6ZN/yPNjZEthnH6pkW01OXKUVMFYGemrtwhoYzv8G8zeR7yDkCh03Ya+I6IaEbsJdZfQqnzfhLpJ7ndryyvkYfRmUU76RTt5BlGrlbMjt5L8AAAD//5cDGbBaCQAA\n\n- path: /etc/kubernetes/addons/azure-cloud-provider-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/7ySMW8VMRCEe/+K1TVu8EPpkDugoA8STZTC5xsS83y2tbs+ifx6dHeCCDiiFymhW621uzPjzzlnQktfwJJq8cRjiKfQ9b5yegiaajmd38kp1bfL1QgNV+acyuTpY+6i4OuaYWZomIIGb4hyGJFlrYjOfQQXKLb5uE84AS8pwtOg3DEYohJmeJLvoph9eOgMF3Ptk2tclzSBDfcM8cZRaOkT197E080w3BoihtTOEVsHC4rK1l/A46bDUWQExVa2oPF+q3qb1uYL+P+QypTK3f+IoWZc4+u69mcQTyg2RH//1SVnpI/fEHULfN/weRf7Psbai/5acji9P0oLq7nVu9tvvUTUv2V8YKStu0VR1C019xluTGUX9fwfOYTO2j+hs4LIULGP1K036MbeQe0bu9Nnb18LtVeP4RG6I5wuA/E5Ii/G7wmb/0DwRwAAAP//Af6Qpu4EAAA=\n\n- path: /etc/kubernetes/addons/audit-policy.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5ySy07zMBCF93mKUf7dL9qqO5QXYAMIhcsGsZjaQzpqYruecWjfHuXS0laARHZ2fObMN5ODgV8oCntXACbLOt9cy5z9ol2uSHEJ/+BpzQIsEGmbOJKdZxt2toAHX7PZZ75hfVSsSIoMYAYlbROJlmSIW7JZTPXhqaaW6uJLIcE7oQwAIJL4FM2g7LRV9CkUkOf9/VQAr3nwVvK3U887UrSoONFsUfsqv4LhLIqaLvzvvRtAk1Dsy2QvSk2xSSuaheh3+74AoKW46gUfqGY9fvwbETkbPDuVDkkotmzoN56bzuwUCpOuySkbVLIjgvOuHJs8l7dHkAUG/n84t0MUvvlZE6Yw3r1z1WCQAwE2JAHH535xA+/5aNM7CplIKpPtjnfaKbluE/Jjxs5jP1RfRv8zAAD//+vGAkRdAwAA\n\n- path: /etc/kubernetes/addons/azure-storage-classes.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8ySPUsEMRCG+/yK4fqsXCdpbRXlDmxlLhnXsMlkmUwWzl8v++GB2liIXD153sz7JDjGZ5IaCzuoWgR76obb2sVyM+1PpLg3Q+Tg4LgO7xLWajIpBlR0BoAxk4NAr9iSGgBkLooaC9d5DJ+xfia7ObIb2omESWm5J1a70XY542Cn0mhnABKeKG0xXyGfWlUSW0mm6OnCjFKmONchcd8QfG9CNsQ6mBEFMynJkr0WfEDGnoK5LIzel8aq55Hm+sgBJbzcH44GwKN/i9znEsjBgTA8cjoba635K6F5XceOQjm2/FPs9bh5Wlf8dzV1e5NrdvOrf/MRAAD//8loAn2FAwAA\n\n\n\n\n\n- path: /etc/kubernetes/addons/calico-daemonset.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n 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\n\n- path: /etc/kubernetes/addons/ip-masq-agent.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8xUTW8iORC98ytKubuBKBONfFsxOUQaWJRIe6+4C2Lhj8ZV7oXV/viVu4F0oyS72dP4BPZ7r159dGFj/6DENgYNdBAK5SdP2/kLCc4nOxtqDT+QfAzPJBNPgjUK6glAQE8a8K+cSNlGeeS9wi0FOb1xg4Y07PILKT6ykJ8AOHwhx4UOYKJvYqAgH6lAR06BhLiycWpcZqGkmFJri/aNpEw3HRLrOgaPAbeUqjHNx5o0PJGJwVhHHVwsJQ0h1jThhkwxJOQbh0K9uWGm5QyNd86+s8Km+dj6VZTy9xypnCbZmKwcFw6ZV10p+yKpAlcmWbEG3Qn9GllWJH/GtNNQkj7dF+wzOTIS05u30rurGkTW4GzIhxNIoqOEUpp95inY0VHD4hT5t1JQ/j2440U3NoUTk4aHg2XhMbHznaKj6/Jjadp7Ivt8SRCgRZfHLS2HNhsyomEVn80r1dnRJeib0E1v5z3Ww4FMli+SrkKZGARtoDQo1WfD3x/rcVvG/ztXW5NKIUY4hb6+v9PtbfWtmo1J6+zcOjprjhoeN6so60Q8lGYyuZudGIQO8tb4bqxa62hL9WhOANrosqdlzEF4SPgkFWVi2Nit6qkDDoAvOmuUVw1TEjPtkRdIIo45GRpFSrTPxOPoAKbJGr7N/FiefEzHcr+0gwdnvf0S/3Yg0GcxYP+fzPv7JTZjE/8mNFFKTYartj2v1sVZ8L+tVnUp9C+4YR8C50Sn1XBOZRRRw9+q0woxLJH3mRLWtHj88TT4tOaz6vburppVs+n8vt/FyPufNux+RoNOwwYd901JxMdgHoNQasvL/Yz/CQAA//+PFiSI0QYAAA==\n\n- path: /etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/9xVTW8jNwy9z68Q5hz5A5sWhoAe2gbYFugGRhL0UuRAa5ixan1V5BiZFv3vhSYee6axHW+KBYrVSXiUHslHkYJofsVEJngltvNiY3ylxD2mrdH4vdah8Vw4ZKiAQRVCWFihpbwTYrMgCTEqsWlWmDwykqyA1qsAqXo5sTdMTJhq2xBjkvRCr0TJqcGyOwlVFbwDDzWmyfiaCxUqcYc6eG0sFkJ4cHjSazZSBL07IaklRldIKXfZ3QWLxTDvtAI9gYbXIZk/gU3wk82ic72dj5I/7Vc6440De9r//0K61FgkVUgB0XxMoYmkxG9l+VgIkZBCkzR2CKFOyNQZtphWHagTAmP5+PZ1HfyTqR3EdzMMA+gNt1nYbDxagA22ch1shWnss0Yur0TZxCq7vhJlhRbflcZlcRAyG1/TuSguEqAr9AnPa4SY38PYSUzhuf0c8ml/45yLK1GumaPqAdUjNIBeJfvYNdzFXXbozB+Mr4yvv7K+Cxbv8CnH0JfmjCCFEINJdVH61Kx+R81dbx+d4e8fmud+iNNfw8UqvlWR94RNEXWOI4bEXUCy2ypxff2hc8qQauRlhy1eQEKLmkO67J1wG1GJ21BhJnmlEz4z+ryl6Xa+QoZetxuMNrQOz/2qX+bP/LJKJ4zWaCAl5q+0dMB6/csgwwvkRRctMO4IBkrlZUdclzR1H2ZeOngG4zHtGaSAVA/4pJASGg6yRo8JGKXGxObJaGCk0bF+Asp1IP6um5PTaQ9OBkqpxWx/0Tios44LmtQ65XId7W1w1bfXajufzGeT+fjysrF2GazRrRI/P90GXiYk7Np8J5HZokeiZQorPGQmRA7xI/IQEiICr5Uop+UYHbbHYZFeY34oPz08LO8HFuMNG7A3aKG9zw+vIiU+zAYn2DgMDR8znn17h3BGRdoXcnks0JgCBx2sEg8/Lvf44RscHE34R4PENBZFxyaHOHMj1KELqVVi/s3skxlYrHHmvzBsg20cfsqzesgizw3//CppyO3y9WVXzOnQ+EI+Eu8zaNFFbm9MUuKvv3cwjT6X27eK50OF96OZkFeei/8aW4GUsMY3z8U/AQAA//+ptPHgmAwAAA==\n\n- path: /etc/kubernetes/addons/kube-metrics-server-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/9RWW08rNxB+319h5eU8eQ+0qEKW+nBKUYUEKCKI18rxDss0vmk8m5L++mpvSTaXFWkp5fgljtdz+eabi3XEJ6CEwSuxPM8W6AslZkBLNPDNmFB5zhywLjRrlQnhtQMlHDChSTIBLYG64xS1ASUW1RxkWiUGlwlh9RxsqiVF84U8MKQcw1djq8RAjQ6sBSdMFUyam7oognfa6xIoH4q5UIAS1z5VBNevmDhlUspsGwfNtcl1xS+B8C/NGHy+uGyE1wivWuMPwcIBeK33ag/lR4ChykJSmRQ64m8UqtjYk2JSKyNIoSID3VkMRWo2PhTQ7Xoi6r9LoHl3tQRufi2mdvOnZvNywAy8Mvg6jumAwQKiDSsHnt+o/l8x8wv6An352QgKFh7guTbSx24EWCbEfsaNw0jV/A8w3CTBwXo8tQpPYWEOrHsqxjkYWpe1Pkmgi/+/H/xDhgbUrMtA6ohbEMEzmka8B/tp6HpT5QydUF0GNuQVYKHUHL7fQtqB8Z8zszsw321SnhbIfZJa25O7gfHJCWymCKZ2JYEFw4G6TLhMUsd4AFUMxOuhRKzExcWPjUikwMEEq8Tj1bQ5YU0l8HR9azeomwG0k9+/rofP+71IjgJ617R/ABO8QQtH4urqYXm75deYZwwuWs3QiW5Fol5HolEvOzAwDr73s9kPiub+uAETPGv0QGsjcswfIdDpsubnMuWloSZeO0PFFT9dqOVZ/kN+PpSaVtZOg0WzUuLm+T7wlCBBU9O9M85pX2zgSvH1iBtSSNk+c37eYi9Vzmla/a4jqi9f+vCGAmYD7upVZ+kO8SEpYdFXr3v5rSMSlJiYRnr5t+nN8Z7SXc07OJsG+RFde5PBraZsNOuOVmHZtvs9CMtNb23jIQT6BKYimC0wPt7OnoDweaVEDaBXNCUMhLy6Q4+uckqcn51tlPVf2+O/AwAA//9I3iWt8gwAAA==\n\n\n\n- path: /etc/default/kubelet\n permissions: \"0644\"\n owner: root\n content: |\n\n KUBELET_OPTS=\n\n KUBELET_CONFIG=--address=0.0.0.0 --allow-privileged=true --anonymous-auth=false --authorization-mode=Webhook --azure-container-registry-config=/etc/kubernetes/azure.json --cgroups-per-qos=true --client-ca-file=/etc/kubernetes/certs/ca.crt --cloud-config=/etc/kubernetes/azure.json --cloud-provider=azure --cluster-dns=10.0.0.10 --cluster-domain=cluster.local --enforce-node-allocatable=pods --event-qps=0 --eviction-hard=memory.available<750Mi,nodefs.available<10%,nodefs.inodesFree<5% --feature-gates=PodPriority=true,RotateKubeletServerCertificate=true --image-gc-high-threshold=85 --image-gc-low-threshold=80 --image-pull-progress-deadline=30m --keep-terminated-pod-volumes=false --kubeconfig=/var/lib/kubelet/kubeconfig --max-pods=110 --network-plugin=cni --node-status-update-frequency=1m --non-masquerade-cidr=0.0.0.0/0 --pod-infra-container-image=mcr.microsoft.com/k8s/core/pause:1.2.0 --pod-manifest-path=/etc/kubernetes/manifests --pod-max-pids=-1 --protect-kernel-defaults=true --rotate-certificates=true --streaming-connection-idle-timeout=4h --tls-cert-file=/etc/kubernetes/certs/kubeletserver.crt --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 --tls-private-key-file=/etc/kubernetes/certs/kubeletserver.key \n KUBELET_IMAGE=',parameters('kubernetesHyperkubeSpec'),'\n\n KUBELET_NODE_LABELS=kubernetes.azure.com/role=master,kubernetes.io/role=master,node-role.kubernetes.io/master=,kubernetes.azure.com/cluster=',variables('labelResourceGroup'),'\n\n\n AZURE_ENVIRONMENT_FILEPATH=/etc/kubernetes/azurestackcloud.json\n\n\n \n KUBELET_REGISTER_NODE=--register-node=true\n KUBELET_REGISTER_WITH_TAINTS=--register-with-taints=node-role.kubernetes.io/master=true:NoSchedule\n \n\n #EOF\n\n- path: /opt/azure/containers/kubelet.sh\n permissions: \"0755\"\n owner: root\n content: |\n #!/bin/bash\n set -e\n \n\n\n sed -i \"s||',parameters('kubernetesAddonManagerSpec'),'|g\" /etc/kubernetes/manifests/kube-addon-manager.yaml\n for a in \"/etc/kubernetes/manifests/kube-apiserver.yaml /etc/kubernetes/manifests/kube-controller-manager.yaml /etc/kubernetes/manifests/kube-scheduler.yaml\"; do\n sed -i \"s||',parameters('kubernetesHyperkubeSpec'),'|g\" $a\n done\n a=/etc/kubernetes/manifests/kube-apiserver.yaml\n sed -i \"s||\\\"--advertise-address=\\\", \\\"--allow-privileged=true\\\", \\\"--anonymous-auth=false\\\", \\\"--audit-log-maxage=30\\\", \\\"--audit-log-maxbackup=10\\\", \\\"--audit-log-maxsize=100\\\", \\\"--audit-log-path=/var/log/kubeaudit/audit.log\\\", \\\"--audit-policy-file=/etc/kubernetes/addons/audit-policy.yaml\\\", \\\"--authorization-mode=Node,RBAC\\\", \\\"--bind-address=0.0.0.0\\\", \\\"--client-ca-file=/etc/kubernetes/certs/ca.crt\\\", \\\"--cloud-config=/etc/kubernetes/azure.json\\\", \\\"--cloud-provider=azure\\\", \\\"--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,ValidatingAdmissionWebhook,ResourceQuota,ExtendedResourceToleration\\\", \\\"--enable-bootstrap-token-auth=true\\\", \\\"--etcd-cafile=/etc/kubernetes/certs/ca.crt\\\", \\\"--etcd-certfile=/etc/kubernetes/certs/etcdclient.crt\\\", \\\"--etcd-keyfile=/etc/kubernetes/certs/etcdclient.key\\\", \\\"--etcd-servers=https://:2379\\\", \\\"--insecure-port=8080\\\", \\\"--kubelet-client-certificate=/etc/kubernetes/certs/client.crt\\\", \\\"--kubelet-client-key=/etc/kubernetes/certs/client.key\\\", \\\"--profiling=false\\\", \\\"--proxy-client-cert-file=/etc/kubernetes/certs/proxy.crt\\\", \\\"--proxy-client-key-file=/etc/kubernetes/certs/proxy.key\\\", \\\"--requestheader-allowed-names=\\\", \\\"--requestheader-client-ca-file=/etc/kubernetes/certs/proxy-ca.crt\\\", \\\"--requestheader-extra-headers-prefix=X-Remote-Extra-\\\", \\\"--requestheader-group-headers=X-Remote-Group\\\", \\\"--requestheader-username-headers=X-Remote-User\\\", \\\"--secure-port=443\\\", \\\"--service-account-key-file=/etc/kubernetes/certs/apiserver.key\\\", \\\"--service-account-lookup=true\\\", \\\"--service-cluster-ip-range=10.0.0.0/16\\\", \\\"--storage-backend=etcd3\\\", \\\"--tls-cert-file=/etc/kubernetes/certs/apiserver.crt\\\", \\\"--tls-cipher-suites=TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\\\", \\\"--tls-private-key-file=/etc/kubernetes/certs/apiserver.key\\\", \\\"--v=4\\\"|g\" $a\n\n sed -i \"s||127.0.0.1|g\" $a\n\n sed -i \"s||',variables('kubernetesAPIServerIP'),'|g\" $a\n sed -i \"s||\\\"--allocate-node-cidrs=true\\\", \\\"--cloud-config=/etc/kubernetes/azure.json\\\", \\\"--cloud-provider=azure\\\", \\\"--cluster-cidr=10.244.0.0/16\\\", \\\"--cluster-name=calico-private\\\", \\\"--cluster-signing-cert-file=/etc/kubernetes/certs/ca.crt\\\", \\\"--cluster-signing-key-file=/etc/kubernetes/certs/ca.key\\\", \\\"--configure-cloud-routes=true\\\", \\\"--controllers=*,bootstrapsigner,tokencleaner\\\", \\\"--feature-gates=LocalStorageCapacityIsolation=true,ServiceNodeExclusion=true\\\", \\\"--kubeconfig=/var/lib/kubelet/kubeconfig\\\", \\\"--leader-elect=true\\\", \\\"--node-monitor-grace-period=5m\\\", \\\"--pod-eviction-timeout=5m\\\", \\\"--profiling=false\\\", \\\"--root-ca-file=/etc/kubernetes/certs/ca.crt\\\", \\\"--route-reconciliation-period=1m\\\", \\\"--service-account-private-key-file=/etc/kubernetes/certs/apiserver.key\\\", \\\"--terminated-pod-gc-threshold=5000\\\", \\\"--use-service-account-credentials=true\\\", \\\"--v=2\\\"|g\" /etc/kubernetes/manifests/kube-controller-manager.yaml\n sed -i \"s||\\\"--kubeconfig=/var/lib/kubelet/kubeconfig\\\", \\\"--leader-elect=true\\\", \\\"--profiling=false\\\", \\\"--v=2\\\"|g\" /etc/kubernetes/manifests/kube-scheduler.yaml\n \n sed -i \"s||',parameters('kubernetesHyperkubeSpec'),'|g; s||',parameters('kubeClusterCidr'),'|g; s||iptables|g; s||{}|g\" /etc/kubernetes/addons/kube-proxy-daemonset.yaml\n \n KUBEDNS=/etc/kubernetes/addons/kube-dns-deployment.yaml\n\n sed -i \"s||',parameters('kubernetesCoreDNSSpec'),'|g; s||',parameters('kubernetesKubeletClusterDomain'),'|g; s||',parameters('kubeDNSServiceIP'),'|g\" /etc/kubernetes/addons/coredns.yaml\n\n\n\n\n\n\n\n\n\n sed -i \"s||',parameters('kubeClusterCidr'),'|g\" /etc/kubernetes/addons/calico-daemonset.yaml\n \n sed -i \"s||{\\\"type\\\": \\\"host-local\\\", \\\"subnet\\\": \\\"usePodCidr\\\"}|g\" /etc/kubernetes/addons/calico-daemonset.yaml\n sed -i \"s|azv|cali|g\" /etc/kubernetes/addons/calico-daemonset.yaml\n \n\n\n\n\n\n #EOF\n\n- path: /opt/azure/containers/mountetcd.sh\n permissions: \"0744\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').mountEtcdScript,'\n\n- path: /etc/systemd/system/etcd.service\n permissions: \"0644\"\n encoding: gzip\n owner: root\n content: !!binary |\n ',variables('cloudInitFiles').etcdSystemdService,'\n\n- path: /opt/azure/containers/setup-etcd.sh\n permissions: \"0744\"\n owner: root\n content: |\n #!/bin/bash\n set -x\n \n sudo sed -i \"1iETCDCTL_ENDPOINTS=https://127.0.0.1:2379\" /etc/environment\n sudo sed -i \"1iETCDCTL_CA_FILE=',variables('etcdCaFilepath'),'\" /etc/environment\n sudo sed -i \"1iETCDCTL_KEY_FILE=',variables('etcdClientKeyFilepath'),'\" /etc/environment\n sudo sed -i \"1iETCDCTL_CERT_FILE=',variables('etcdClientCertFilepath'),'\" /etc/environment\n sudo sed -i \"/^DAEMON_ARGS=/d\" /etc/default/etcd\n /bin/echo DAEMON_ARGS=--name \"',variables('masterVMNames')[copyIndex(variables('masterOffset'))],'\" --peer-client-cert-auth --peer-trusted-ca-file=',variables('etcdCaFilepath'),' --peer-cert-file=',variables('etcdPeerCertFilepath')[copyIndex(variables('masterOffset'))],' --peer-key-file=',variables('etcdPeerKeyFilepath')[copyIndex(variables('masterOffset'))],' --initial-advertise-peer-urls \"',variables('masterEtcdPeerURLs')[copyIndex(variables('masterOffset'))],'\" --listen-peer-urls \"',variables('masterEtcdPeerURLs')[copyIndex(variables('masterOffset'))],'\" --client-cert-auth --trusted-ca-file=',variables('etcdCaFilepath'),' --cert-file=',variables('etcdServerCertFilepath'),' --key-file=',variables('etcdServerKeyFilepath'),' --advertise-client-urls \"',variables('masterEtcdClientURLs')[copyIndex(variables('masterOffset'))],'\" --listen-client-urls \"',concat(variables('masterEtcdClientURLs')[copyIndex(variables('masterOffset'))], ',https://127.0.0.1:', variables('masterEtcdClientPort')),'\" --initial-cluster-token \"k8s-etcd-cluster\" --initial-cluster ',variables('masterEtcdClusterStates')[div(variables('masterCount'), 2)],' --data-dir \"/var/lib/etcddisk\" --initial-cluster-state \"new\" | tee -a /etc/default/etcd\n \n\n #EOF\n\n\n- path: \"/etc/kubernetes/azurestackcloud.json\"\n permissions: \"0600\"\n owner: \"root\"\n content: |\n ',variables('environmentJSON'),'\n\n\n\nruncmd:\n- set -x\n- . /opt/azure/containers/provision_source.sh\n- aptmarkWALinuxAgent hold\n\n'))]", "linuxConfiguration": { "disablePasswordAuthentication": true, "ssh": { "publicKeys": [ { "keyData": "[parameters('sshRSAPublicKey')]", "path": "[variables('sshKeyPath')]" } ] } } }, "storageProfile": { "dataDisks": [ { "createOption": "Empty", "diskSizeGB": 256, "lun": 0, "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')),'-etcddisk')]" } ], "imageReference": { "offer": "[parameters('osImageOffer')]", "publisher": "[parameters('osImagePublisher')]", "sku": "[parameters('osImageSku')]", "version": "[parameters('osImageVersion')]" }, "osDisk": { "caching": "ReadWrite", "createOption": "FromImage", "diskSizeGB": 150 } } }, "tags": { "aksEngineVersion": "[parameters('aksEngineVersion')]", "creationSource": "[concat(parameters('generatorCode'), '-', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", "orchestrator": "[variables('orchestratorNameVersionTag')]", "poolName": "master", "resourceNameSuffix": "[parameters('nameSuffix')]" }, "type": "Microsoft.Compute/virtualMachines" }, { "apiVersion": "[variables('apiVersionCompute')]", "copy": { "count": "[sub(variables('masterCount'), variables('masterOffset'))]", "name": "vmLoopNode" }, "dependsOn": [ "[concat('Microsoft.Compute/virtualMachines/', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]" ], "location": "[variables('location')]", "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')),'/cse', '-master-', copyIndex(variables('masterOffset')))]", "properties": { "autoUpgradeMinorVersion": true, "protectedSettings": { "commandToExecute": "[concat('echo $(date),$(hostname); for i in $(seq 1 1200); do grep -Fq \"EOF\" /opt/azure/containers/provision.sh && break; if [ $i -eq 1200 ]; then exit 100; else sleep 1; fi; done; ', variables('provisionScriptParametersCommon'),' USER_ASSIGNED_IDENTITY_ID=',' ',variables('provisionScriptParametersMaster'), ' IS_VHD=true /usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh >> /var/log/azure/cluster-provision.log 2>&1\"')]" }, "publisher": "Microsoft.Azure.Extensions", "settings": {}, "type": "CustomScript", "typeHandlerVersion": "2.0" }, "tags": {}, "type": "Microsoft.Compute/virtualMachines/extensions" } ], "outputs": { "agentStorageAccountPrefixes": { "type": "array", "value": "[variables('storageAccountPrefixes')]" }, "agentStorageAccountSuffix": { "type": "string", "value": "[variables('storageAccountBaseName')]" }, "masterFQDN": { "type": "string", "value": "" }, "primaryAvailabilitySetName": { "type": "string", "value": "[variables('primaryAvailabilitySetName')]" }, "primaryScaleSetName": { "type": "string", "value": "[variables('primaryScaleSetName')]" }, "resourceGroup": { "type": "string", "value": "[variables('resourceGroup')]" }, "routeTableName": { "type": "string", "value": "[variables('routeTableName')]" }, "securityGroupName": { "type": "string", "value": "[variables('nsgName')]" }, "subnetName": { "type": "string", "value": "[variables('subnetName')]" }, "virtualNetworkName": { "type": "string", "value": "[variables('virtualNetworkName')]" }, "vnetResourceGroup": { "type": "string", "value": "[variables('virtualNetworkResourceGroupName')]" } } }