зеркало из https://github.com/Azure/aks-engine.git
Enable cloudprovider rate limit / backoff features (#892)
* acs-engine configs for backoff * errata * large cluster support in 1.6.6 only at this point * add custom data vars to master as well * updated templates.go * kube-controller-manager var substitution is unique * updated generated template * moving large cluster to examples/largeclusters * working pool names for large cluster example
This commit is contained in:
Родитель
24a478e202
Коммит
0330677c0d
|
@ -2,84 +2,43 @@
|
|||
"apiVersion": "vlabs",
|
||||
"properties": {
|
||||
"orchestratorProfile": {
|
||||
"orchestratorType": "Kubernetes"
|
||||
"orchestratorType": "Kubernetes",
|
||||
"orchestratorVersion": "1.6.6"
|
||||
},
|
||||
"masterProfile": {
|
||||
"count": 1,
|
||||
"dnsPrefix": "",
|
||||
"vmSize": "Standard_D2_v2"
|
||||
"vmSize": "Standard_D5_v2"
|
||||
},
|
||||
"agentPoolProfiles": [
|
||||
{
|
||||
"name": "agentpool1",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"name": "pool1",
|
||||
"count": 20,
|
||||
"vmSize": "Standard_D3_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool2",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"name": "pool2",
|
||||
"count": 20,
|
||||
"vmSize": "Standard_D3_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool3",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"name": "pool3",
|
||||
"count": 20,
|
||||
"vmSize": "Standard_D3_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool4",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"name": "pool4",
|
||||
"count": 20,
|
||||
"vmSize": "Standard_D3_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool5",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool6",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool7",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool8",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool9",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool10",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool11",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
},
|
||||
{
|
||||
"name": "agentpool12",
|
||||
"count": 100,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"name": "pool5",
|
||||
"count": 20,
|
||||
"vmSize": "Standard_D3_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
}
|
||||
],
|
||||
|
|
|
@ -109,6 +109,10 @@ write_files:
|
|||
KUBELET_REGISTER_SCHEDULABLE=true
|
||||
KUBELET_NODE_LABELS={{ GetKubernetesLabels . }}
|
||||
KUBELET_POD_INFRA_CONTAINER_IMAGE={{WrapAsVariable "kubernetesPodInfraContainerSpec"}}
|
||||
KUBELET_NODE_STATUS_UPDATE_FREQUENCY={{WrapAsVariable "kubernetesNodeStatusUpdateFrequency"}}
|
||||
KUBE_CTRL_MGR_NODE_MONITOR_GRACE_PERIOD={{WrapAsVariable "kubernetesCtrlMgrNodeMonitorGracePeriod"}}
|
||||
KUBE_CTRL_MGR_POD_EVICTION_TIMEOUT={{WrapAsVariable "kubernetesCtrlMgrPodEvictionTimeout"}}
|
||||
KUBE_CTRL_MGR_ROUTE_RECONCILIATION_PERIOD={{WrapAsVariable "kubernetesCtrlMgrRouteReconciliationPeriod"}}
|
||||
{{if IsKubernetesVersionGe "1.6.0"}}
|
||||
KUBELET_FEATURE_GATES=--feature-gates=Accelerators=true
|
||||
{{end}}
|
||||
|
|
|
@ -45,6 +45,7 @@ ExecStart=/usr/bin/docker run \
|
|||
--azure-container-registry-config=/etc/kubernetes/azure.json \
|
||||
--hairpin-mode=promiscuous-bridge \
|
||||
--network-plugin=${KUBELET_NETWORK_PLUGIN} \
|
||||
--node-status-update-frequency=${KUBELET_NODE_STATUS_UPDATE_FREQUENCY} \
|
||||
--v=2 ${KUBELET_FEATURE_GATES}
|
||||
|
||||
[Install]
|
||||
|
|
|
@ -24,6 +24,9 @@ spec:
|
|||
- "--service-account-private-key-file=/etc/kubernetes/certs/apiserver.key"
|
||||
- "--leader-elect=true"
|
||||
- "--v=2"
|
||||
- "--node-monitor-grace-period=<kubernetesCtrlMgrNodeMonitorGracePeriod>"
|
||||
- "--pod-eviction-timeout=<kubernetesCtrlMgrPodEvictionTimeout>"
|
||||
- "--route-reconciliation-period=<kubernetesCtrlMgrRouteReconciliationPeriod>"
|
||||
volumeMounts:
|
||||
- name: "etc-kubernetes"
|
||||
mountPath: "/etc/kubernetes"
|
||||
|
|
|
@ -213,6 +213,10 @@ write_files:
|
|||
KUBELET_REGISTER_SCHEDULABLE={{WrapAsVariable "registerSchedulable"}}
|
||||
KUBELET_NODE_LABELS=role=master
|
||||
KUBELET_POD_INFRA_CONTAINER_IMAGE={{WrapAsVariable "kubernetesPodInfraContainerSpec"}}
|
||||
KUBELET_NODE_STATUS_UPDATE_FREQUENCY={{WrapAsVariable "kubernetesNodeStatusUpdateFrequency"}}
|
||||
KUBE_CTRL_MGR_NODE_MONITOR_GRACE_PERIOD={{WrapAsVariable "kubernetesCtrlMgrNodeMonitorGracePeriod"}}
|
||||
KUBE_CTRL_MGR_POD_EVICTION_TIMEOUT={{WrapAsVariable "kubernetesCtrlMgrPodEvictionTimeout"}}
|
||||
KUBE_CTRL_MGR_ROUTE_RECONCILIATION_PERIOD={{WrapAsVariable "kubernetesCtrlMgrRouteReconciliationPeriod"}}
|
||||
|
||||
- path: "/etc/systemd/system/kubelet.service"
|
||||
permissions: "0644"
|
||||
|
@ -237,7 +241,7 @@ write_files:
|
|||
|
||||
sed -i "s|<kubernetesAddonManagerSpec>|{{WrapAsVariable "kubernetesAddonManagerSpec"}}|g" "/etc/kubernetes/manifests/kube-addon-manager.yaml"
|
||||
sed -i "s|<kubernetesHyperkubeSpec>|{{WrapAsVariable "kubernetesHyperkubeSpec"}}|g; s|<kubeServiceCidr>|{{WrapAsVariable "kubeServiceCidr"}}|g; s|<masterEtcdClientPort>|{{WrapAsVariable "masterEtcdClientPort"}}|g; s|<kubernetesAPIServerIP>|{{WrapAsVariable "kubernetesAPIServerIP"}}|g" "/etc/kubernetes/manifests/kube-apiserver.yaml"
|
||||
sed -i "s|<kubernetesHyperkubeSpec>|{{WrapAsVariable "kubernetesHyperkubeSpec"}}|g; s|<masterFqdnPrefix>|{{WrapAsVariable "masterFqdnPrefix"}}|g; s|<allocateNodeCidrs>|{{WrapAsVariable "allocateNodeCidrs"}}|g; s|<kubeClusterCidr>|{{WrapAsVariable "kubeClusterCidr"}}|g" "/etc/kubernetes/manifests/kube-controller-manager.yaml"
|
||||
sed -i "s|<kubernetesHyperkubeSpec>|{{WrapAsVariable "kubernetesHyperkubeSpec"}}|g; s|<masterFqdnPrefix>|{{WrapAsVariable "masterFqdnPrefix"}}|g; s|<allocateNodeCidrs>|{{WrapAsVariable "allocateNodeCidrs"}}|g; s|<kubeClusterCidr>|{{WrapAsVariable "kubeClusterCidr"}}|g; s|<kubernetesCtrlMgrNodeMonitorGracePeriod>|{{WrapAsVariable "kubernetesCtrlMgrNodeMonitorGracePeriod"}}|g; s|<kubernetesCtrlMgrPodEvictionTimeout>|{{WrapAsVariable "kubernetesCtrlMgrPodEvictionTimeout"}}|g; s|<kubernetesCtrlMgrRouteReconciliationPeriod>|{{WrapAsVariable "kubernetesCtrlMgrRouteReconciliationPeriod"}}|g" "/etc/kubernetes/manifests/kube-controller-manager.yaml"
|
||||
sed -i "s|<kubernetesHyperkubeSpec>|{{WrapAsVariable "kubernetesHyperkubeSpec"}}|g" "/etc/kubernetes/manifests/kube-scheduler.yaml"
|
||||
sed -i "s|<kubernetesHyperkubeSpec>|{{WrapAsVariable "kubernetesHyperkubeSpec"}}|g; s|<kubeClusterCidr>|{{WrapAsVariable "kubeClusterCidr"}}|g" "/etc/kubernetes/addons/kube-proxy-daemonset.yaml"
|
||||
sed -i "s|<kubernetesKubeDNSSpec>|{{WrapAsVariable "kubernetesKubeDNSSpec"}}|g; s|<kubernetesDNSMasqSpec>|{{WrapAsVariable "kubernetesDNSMasqSpec"}}|g; s|<kubernetesExecHealthzSpec>|{{WrapAsVariable "kubernetesExecHealthzSpec"}}|g" "/etc/kubernetes/addons/kube-dns-deployment.yaml"
|
||||
|
|
|
@ -29,6 +29,17 @@ KUBECONFIG_CERTIFICATE="${19}"
|
|||
KUBECONFIG_KEY="${20}"
|
||||
ADMINUSER="${21}"
|
||||
|
||||
# Default values for backoff configuration
|
||||
CLOUDPROVIDER_BACKOFF="${22}"
|
||||
CLOUDPROVIDER_BACKOFF_RETRIES="${23}"
|
||||
CLOUDPROVIDER_BACKOFF_EXPONENT="${24}"
|
||||
CLOUDPROVIDER_BACKOFF_DURATION="${25}"
|
||||
CLOUDPROVIDER_BACKOFF_JITTER="${26}"
|
||||
# Default values for rate limit configuration
|
||||
CLOUDPROVIDER_RATELIMIT="${27}"
|
||||
CLOUDPROVIDER_RATELIMIT_QPS="${28}"
|
||||
CLOUDPROVIDER_RATELIMIT_BUCKET="${29}"
|
||||
|
||||
# cloudinit runcmd and the extension will run in parallel, this is to ensure
|
||||
# runcmd finishes
|
||||
ensureRunCommandCompleted()
|
||||
|
@ -102,7 +113,15 @@ cat << EOF > "${AZURE_JSON_PATH}"
|
|||
"securityGroupName": "${NETWORK_SECURITY_GROUP}",
|
||||
"vnetName": "${VIRTUAL_NETWORK}",
|
||||
"routeTableName": "${ROUTE_TABLE}",
|
||||
"primaryAvailabilitySetName": "${PRIMARY_AVAILABILITY_SET}"
|
||||
"primaryAvailabilitySetName": "${PRIMARY_AVAILABILITY_SET}",
|
||||
"cloudProviderBackoff": ${CLOUDPROVIDER_BACKOFF},
|
||||
"cloudProviderBackoffRetries": ${CLOUDPROVIDER_BACKOFF_RETRIES},
|
||||
"cloudProviderBackoffExponent": ${CLOUDPROVIDER_BACKOFF_EXPONENT},
|
||||
"cloudProviderBackoffDuration": ${CLOUDPROVIDER_BACKOFF_DURATION},
|
||||
"cloudProviderBackoffJitter": ${CLOUDPROVIDER_BACKOFF_JITTER},
|
||||
"cloudProviderRatelimit": ${CLOUDPROVIDER_RATELIMIT},
|
||||
"cloudProviderRateLimitQPS": ${CLOUDPROVIDER_RATELIMIT_QPS},
|
||||
"cloudProviderRateLimitBucket": ${CLOUDPROVIDER_RATELIMIT_BUCKET}
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
|
@ -481,7 +481,7 @@
|
|||
"autoUpgradeMinorVersion": true,
|
||||
"settings": {},
|
||||
"protectedSettings": {
|
||||
"commandToExecute": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh ',variables('tenantID'),' ',variables('subscriptionId'),' ',variables('resourceGroup'),' ',variables('location'),' ',variables('subnetName'),' ',variables('nsgName'),' ',variables('virtualNetworkName'),' ',variables('routeTableName'),' ',variables('primaryAvailablitySetName'),' ',variables('servicePrincipalClientId'),' ',variables('servicePrincipalClientSecret'),' ',variables('clientPrivateKey'),' ',variables('targetEnvironment'),' ',variables('networkPolicy'),' ',variables('apiServerPrivateKey'),' ',variables('caCertificate'),' ',variables('caPrivateKey'),' ',variables('masterFqdnPrefix'),' ',variables('kubeConfigCertificate'),' ',variables('kubeConfigPrivateKey'),' ',variables('username'),' >> /var/log/azure/cluster-provision.log 2>&1\"')]"
|
||||
"commandToExecute": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh ',variables('tenantID'),' ',variables('subscriptionId'),' ',variables('resourceGroup'),' ',variables('location'),' ',variables('subnetName'),' ',variables('nsgName'),' ',variables('virtualNetworkName'),' ',variables('routeTableName'),' ',variables('primaryAvailablitySetName'),' ',variables('servicePrincipalClientId'),' ',variables('servicePrincipalClientSecret'),' ',variables('clientPrivateKey'),' ',variables('targetEnvironment'),' ',variables('networkPolicy'),' ',variables('apiServerPrivateKey'),' ',variables('caCertificate'),' ',variables('caPrivateKey'),' ',variables('masterFqdnPrefix'),' ',variables('kubeConfigCertificate'),' ',variables('kubeConfigPrivateKey'),' ',variables('username'),' ',variables('cloudProviderBackoff'),' ',variables('cloudProviderBackoffRetries'),' ',variables('cloudProviderBackoffExponent'),' ',variables('cloudProviderBackoffDuration'),' ',variables('cloudProviderBackoffJitter'),' ',variables('cloudProviderRatelimit'),' ',variables('cloudProviderRatelimitQPS'),' ',variables('cloudProviderRatelimitBucket'),' >> /var/log/azure/cluster-provision.log 2>&1\"')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,18 @@
|
|||
"kubernetesExecHealthzSpec": "[parameters('kubernetesExecHealthzSpec')]",
|
||||
"kubernetesHeapsterSpec": "[parameters('kubernetesHeapsterSpec')]",
|
||||
"kubernetesPodInfraContainerSpec": "[parameters('kubernetesPodInfraContainerSpec')]",
|
||||
"kubernetesNodeStatusUpdateFrequency": "[parameters('kubernetesNodeStatusUpdateFrequency')]",
|
||||
"kubernetesCtrlMgrNodeMonitorGracePeriod": "[parameters('kubernetesCtrlMgrNodeMonitorGracePeriod')]",
|
||||
"kubernetesCtrlMgrPodEvictionTimeout": "[parameters('kubernetesCtrlMgrPodEvictionTimeout')]",
|
||||
"kubernetesCtrlMgrRouteReconciliationPeriod": "[parameters('kubernetesCtrlMgrRouteReconciliationPeriod')]",
|
||||
"cloudProviderBackoff": "[parameters('cloudProviderBackoff')]",
|
||||
"cloudProviderBackoffRetries": "[parameters('cloudProviderBackoffRetries')]",
|
||||
"cloudProviderBackoffExponent": "[parameters('cloudProviderBackoffExponent')]",
|
||||
"cloudProviderBackoffDuration": "[parameters('cloudProviderBackoffDuration')]",
|
||||
"cloudProviderBackoffJitter": "[parameters('cloudProviderBackoffJitter')]",
|
||||
"cloudProviderRatelimit": "[parameters('cloudProviderRatelimit')]",
|
||||
"cloudProviderRatelimitQPS": "[parameters('cloudProviderRatelimitQPS')]",
|
||||
"cloudProviderRatelimitBucket": "[parameters('cloudProviderRatelimitBucket')]",
|
||||
"kubernetesKubeDNSSpec": "[parameters('kubernetesKubeDNSSpec')]",
|
||||
"kubernetesDNSMasqSpec": "[parameters('kubernetesDNSMasqSpec')]",
|
||||
"networkPolicy": "[parameters('networkPolicy')]",
|
||||
|
|
|
@ -110,6 +110,90 @@
|
|||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesNodeStatusUpdateFrequency": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesNodeStatusUpdateFrequency"}}
|
||||
"metadata": {
|
||||
"description": "Kubelet config for node status update frequency interval."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesCtrlMgrNodeMonitorGracePeriod": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesCtrlMgrNodeMonitorGracePeriod"}}
|
||||
"metadata": {
|
||||
"description": "Kubernetes controller manager grace period for node status updates."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesCtrlMgrPodEvictionTimeout": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesCtrlMgrPodEvictionTimeout"}}
|
||||
"metadata": {
|
||||
"description": "Kubernetes controller manager pod eviction timeout."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesCtrlMgrRouteReconciliationPeriod": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesCtrlMgrRouteReconciliationPeriod"}}
|
||||
"metadata": {
|
||||
"description": "Kubernetes controller manager route reconciliation period."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderBackoff": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderBackoff"}}
|
||||
"metadata": {
|
||||
"description": "Enable cloudprovider backoff?"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderBackoffRetries": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderBackoffRetries"}}
|
||||
"metadata": {
|
||||
"description": "If backoff enabled, how many times to retry"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderBackoffExponent": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderBackoffExponent"}}
|
||||
"metadata": {
|
||||
"description": "If backoff enabled, retry exponent"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderBackoffDuration": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderBackoffDuration"}}
|
||||
"metadata": {
|
||||
"description": "If backoff enabled, how long until timeout"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderBackoffJitter": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderBackoffJitter"}}
|
||||
"metadata": {
|
||||
"description": "If backoff enabled, jitter factor between retries"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderRatelimit": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderRatelimit"}}
|
||||
"metadata": {
|
||||
"description": "Enable cloudprovider rate limiting?"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderRatelimitQPS": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderRatelimitQPS"}}
|
||||
"metadata": {
|
||||
"description": "If rate limiting enabled, target maximum QPS"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"cloudProviderRatelimitBucket": {
|
||||
{{PopulateClassicModeDefaultValue "cloudProviderRatelimitBucket"}}
|
||||
"metadata": {
|
||||
"description": "If rate limiting enabled, bucket size"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesKubeDNSSpec": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesKubeDNSSpec"}}
|
||||
"metadata": {
|
||||
|
|
|
@ -65,6 +65,18 @@ var KubeImages = map[api.OrchestratorVersion]map[string]string{
|
|||
"dnsmasq": "k8s-dns-dnsmasq-amd64:1.13.0",
|
||||
"pause": "pause-amd64:3.0",
|
||||
"windowszip": "v1.6.6intwinnat.zip",
|
||||
"nodestatusfreq": "10s",
|
||||
"nodegraceperiod": "40s",
|
||||
"podeviction": "5m0s",
|
||||
"routeperiod": "10s",
|
||||
"backoff": "false",
|
||||
"backoffduration": "5",
|
||||
"backoffexponent": "1.5",
|
||||
"backoffretries": "6",
|
||||
"backoffjitter": "1",
|
||||
"ratelimit": "false",
|
||||
"ratelimitqps": "1",
|
||||
"ratelimitbucket": "5",
|
||||
},
|
||||
api.Kubernetes162: {
|
||||
"hyperkube": "hyperkube-amd64:v1.6.2",
|
||||
|
@ -77,6 +89,10 @@ var KubeImages = map[api.OrchestratorVersion]map[string]string{
|
|||
"dnsmasq": "k8s-dns-dnsmasq-amd64:1.13.0",
|
||||
"pause": "pause-amd64:3.0",
|
||||
"windowszip": "v1.6.2intwinnat.zip",
|
||||
"nodestatusfreq": "10s",
|
||||
"nodegraceperiod": "40s",
|
||||
"podeviction": "5m0s",
|
||||
"routeperiod": "10s",
|
||||
},
|
||||
|
||||
api.Kubernetes160: {
|
||||
|
@ -90,6 +106,10 @@ var KubeImages = map[api.OrchestratorVersion]map[string]string{
|
|||
"dnsmasq": "k8s-dns-dnsmasq-amd64:1.13.0",
|
||||
"pause": "pause-amd64:3.0",
|
||||
"windowszip": "v1.6.0intwinnat.zip",
|
||||
"nodestatusfreq": "10s",
|
||||
"nodegraceperiod": "40s",
|
||||
"podeviction": "5m0s",
|
||||
"routeperiod": "10s",
|
||||
},
|
||||
|
||||
api.Kubernetes157: {
|
||||
|
@ -103,6 +123,10 @@ var KubeImages = map[api.OrchestratorVersion]map[string]string{
|
|||
"dnsmasq": "kube-dnsmasq-amd64:1.3",
|
||||
"pause": "pause-amd64:3.0",
|
||||
"windowszip": "v1.5.7intwinnat.zip",
|
||||
"nodestatusfreq": "10s",
|
||||
"nodegraceperiod": "40s",
|
||||
"podeviction": "5m0s",
|
||||
"routeperiod": "10s",
|
||||
},
|
||||
|
||||
api.Kubernetes153: {
|
||||
|
@ -116,6 +140,10 @@ var KubeImages = map[api.OrchestratorVersion]map[string]string{
|
|||
"dnsmasq": "kube-dnsmasq-amd64:1.3",
|
||||
"pause": "pause-amd64:3.0",
|
||||
"windowszip": "v1.5.3intwinnat.zip",
|
||||
"nodestatusfreq": "10s",
|
||||
"nodegraceperiod": "40s",
|
||||
"podeviction": "5m0s",
|
||||
"routeperiod": "10s",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -395,6 +395,18 @@ func getParameters(cs *api.ContainerService, isClassicMode bool) (map[string]int
|
|||
addValue(parametersMap, "kubernetesHeapsterSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeImages[KubernetesVersion]["heapster"])
|
||||
addValue(parametersMap, "kubernetesKubeDNSSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeImages[KubernetesVersion]["dns"])
|
||||
addValue(parametersMap, "kubernetesPodInfraContainerSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeImages[KubernetesVersion]["pause"])
|
||||
addValue(parametersMap, "kubernetesNodeStatusUpdateFrequency", KubeImages[KubernetesVersion]["nodestatusfreq"])
|
||||
addValue(parametersMap, "kubernetesCtrlMgrNodeMonitorGracePeriod", KubeImages[KubernetesVersion]["nodegraceperiod"])
|
||||
addValue(parametersMap, "kubernetesCtrlMgrPodEvictionTimeout", KubeImages[KubernetesVersion]["podeviction"])
|
||||
addValue(parametersMap, "kubernetesCtrlMgrRouteReconciliationPeriod", KubeImages[KubernetesVersion]["routeperiod"])
|
||||
addValue(parametersMap, "cloudProviderBackoff", KubeImages[KubernetesVersion]["backoff"])
|
||||
addValue(parametersMap, "cloudProviderBackoffRetries", KubeImages[KubernetesVersion]["backoffretries"])
|
||||
addValue(parametersMap, "cloudProviderBackoffExponent", KubeImages[KubernetesVersion]["backoffexponent"])
|
||||
addValue(parametersMap, "cloudProviderBackoffDuration", KubeImages[KubernetesVersion]["backoffduration"])
|
||||
addValue(parametersMap, "cloudProviderBackoffJitter", KubeImages[KubernetesVersion]["backoffjitter"])
|
||||
addValue(parametersMap, "cloudProviderRatelimit", KubeImages[KubernetesVersion]["ratelimit"])
|
||||
addValue(parametersMap, "cloudProviderRatelimitQPS", KubeImages[KubernetesVersion]["ratelimitqps"])
|
||||
addValue(parametersMap, "cloudProviderRatelimitBucket", KubeImages[KubernetesVersion]["ratelimitbucket"])
|
||||
addValue(parametersMap, "kubeClusterCidr", properties.OrchestratorProfile.KubernetesConfig.ClusterSubnet)
|
||||
addValue(parametersMap, "dockerBridgeCidr", properties.OrchestratorProfile.KubernetesConfig.DockerBridgeSubnet)
|
||||
addValue(parametersMap, "networkPolicy", properties.OrchestratorProfile.KubernetesConfig.NetworkPolicy)
|
||||
|
@ -805,6 +817,30 @@ func (t *TemplateGenerator) getTemplateFuncMap(cs *api.ContainerService) map[str
|
|||
val = cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase + KubeImages[kubernetesVersion]["dns"]
|
||||
case "kubernetesPodInfraContainerSpec":
|
||||
val = cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase + KubeImages[kubernetesVersion]["pause"]
|
||||
case "kubernetesNodeStatusUpdateFrequency":
|
||||
val = KubeImages[kubernetesVersion]["nodestatusfreq"]
|
||||
case "kubernetesCtrlMgrNodeMonitorGracePeriod":
|
||||
val = KubeImages[kubernetesVersion]["nodegraceperiod"]
|
||||
case "kubernetesCtrlMgrPodEvictionTimeout":
|
||||
val = KubeImages[kubernetesVersion]["podeviction"]
|
||||
case "kubernetesCtrlMgrRouteReconciliationPeriod":
|
||||
val = KubeImages[kubernetesVersion]["routeperiod"]
|
||||
case "cloudProviderBackoff":
|
||||
val = KubeImages[kubernetesVersion]["backoff"]
|
||||
case "cloudProviderBackoffRetries":
|
||||
val = KubeImages[kubernetesVersion]["backoffretries"]
|
||||
case "cloudProviderBackoffExponent":
|
||||
val = KubeImages[kubernetesVersion]["backoffexponent"]
|
||||
case "cloudProviderBackoffDuration":
|
||||
val = KubeImages[kubernetesVersion]["backoffduration"]
|
||||
case "cloudProviderBackoffJitter":
|
||||
val = KubeImages[kubernetesVersion]["backoffjitter"]
|
||||
case "cloudProviderRatelimit":
|
||||
val = KubeImages[kubernetesVersion]["ratelimit"]
|
||||
case "cloudProviderRatelimitQPS":
|
||||
val = KubeImages[kubernetesVersion]["ratelimitqps"]
|
||||
case "cloudProviderRatelimitBucket":
|
||||
val = KubeImages[kubernetesVersion]["ratelimitbucket"]
|
||||
case "kubeBinariesSASURL":
|
||||
val = cloudSpecConfig.KubernetesSpecConfig.KubeBinariesSASURLBase + KubeImages[kubernetesVersion]["windowszip"]
|
||||
case "kubeClusterCidr":
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Загрузка…
Ссылка в новой задаче