зеркало из https://github.com/Azure/acs-engine.git
Add Rescheduler addon (#1780)
* merge master upstream * Revert "merge master upstream" This reverts commitab8d33d28a
. * merge master upstream * Revert "merge master upstream" This reverts commitab8d33d28a
. * added rescheduler addon * fix typo * merge master upstream * Revert "merge master upstream" This reverts commitab8d33d28a
. * merge master upstream * Revert "merge master upstream" This reverts commitab8d33d28a
. * added rescheduler addon * fix typo * add rescheduler spec to mastervars * add rescheduler spec to mastervars * added rescheduler image to KubeConfigs * changed to using new addon pattern * parametrize limits/requests * fix types test for isReschedulerEnabled * fix var name in test * added rescheduler limit params * fixed pr comments * removed extra line * add rescheduler regression test + added docs + fixed dashboard name in docs * typo fix
This commit is contained in:
Родитель
036c658e94
Коммит
0ec78c790f
|
@ -49,6 +49,7 @@ Here are the valid values for the orchestrator types:
|
|||
|Name of addon|Enabled by default?|How many containers|Description|
|
||||
|tiller|true|Delivers the Helm server-side component: tiller. See https://github.com/kubernetes/helm for more info.|
|
||||
|kubernetes-dashboard|true|1|Delivers the kubernetes dashboard component. See https://github.com/kubernetes/dashboard for more info.|
|
||||
|rescheduler|false|Delivers the kubernetes rescheduler component.|
|
||||
|
||||
To give a bit more info on the `addons` property: We've tried to expose the basic bits of data that allow useful configuration of these cluster features. Here are some example usage patterns that will unpack what `addons` provide:
|
||||
|
||||
|
@ -75,7 +76,7 @@ As you can see above, `addons` is an array child property of `kubernetesConfig`.
|
|||
"enabled" : false
|
||||
},
|
||||
{
|
||||
"name": "dashboard",
|
||||
"name": "kubernetes-dashboard",
|
||||
"enabled" : false
|
||||
}
|
||||
]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"kubernetesConfig": {
|
||||
"addons": [
|
||||
{
|
||||
"name": "dashboard",
|
||||
"name": "kubernetes-dashboard",
|
||||
"enabled" : false
|
||||
}
|
||||
]
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"apiVersion": "vlabs",
|
||||
"properties": {
|
||||
"orchestratorProfile": {
|
||||
"orchestratorType": "Kubernetes",
|
||||
"kubernetesConfig": {
|
||||
"addons": [
|
||||
{
|
||||
"name": "rescheduler",
|
||||
"enabled" : true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"masterProfile": {
|
||||
"count": 1,
|
||||
"dnsPrefix": "",
|
||||
"vmSize": "Standard_D2_v2"
|
||||
},
|
||||
"agentPoolProfiles": [
|
||||
{
|
||||
"name": "agentpool1",
|
||||
"count": 1,
|
||||
"vmSize": "Standard_D2_v2",
|
||||
"availabilityProfile": "AvailabilitySet"
|
||||
}
|
||||
],
|
||||
"linuxProfile": {
|
||||
"adminUsername": "azureUser",
|
||||
"ssh": {
|
||||
"publicKeys": [
|
||||
{
|
||||
"keyData": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"servicePrincipalProfile": {
|
||||
"clientId": "",
|
||||
"secret": ""
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: rescheduler
|
||||
namespace: kube-system
|
||||
labels:
|
||||
k8s-app: rescheduler
|
||||
kubernetes.io/cluster-service: "true"
|
||||
addonmanager.kubernetes.io/mode: Reconcile
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: rescheduler
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
k8s-app: rescheduler
|
||||
annotations:
|
||||
scheduler.alpha.kubernetes.io/critical-pod: ''
|
||||
spec:
|
||||
containers:
|
||||
- image: <kubernetesReschedulerSpec>
|
||||
name: rescheduler
|
||||
resources:
|
||||
requests:
|
||||
cpu: <kubernetesReschedulerCPURequests>
|
||||
memory: <kubernetesReschedulerMemoryRequests>
|
||||
limits:
|
||||
cpu: <kubernetesReschedulerCPULimit>
|
||||
memory: <kubernetesReschedulerMemoryLimit>
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- '/rescheduler'
|
|
@ -144,6 +144,15 @@ write_files:
|
|||
content: !!binary |
|
||||
MASTER_ADDON_HEAPSTER_DEPLOYMENT_B64_GZIP_STR
|
||||
|
||||
{{if .OrchestratorProfile.KubernetesConfig.IsReschedulerEnabled}}
|
||||
- path: /etc/kubernetes/addons/kube-rescheduler-deployment.yaml
|
||||
permissions: "0644"
|
||||
encoding: gzip
|
||||
owner: "root"
|
||||
content: !!binary |
|
||||
MASTER_ADDON_RESCHEDULER_DEPLOYMENT_B64_GZIP_STR
|
||||
{{end}}
|
||||
|
||||
- path: /etc/kubernetes/addons/azure-storage-classes.yaml
|
||||
permissions: "0644"
|
||||
encoding: gzip
|
||||
|
@ -283,6 +292,8 @@ write_files:
|
|||
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"
|
||||
sed -i "s|<kubernetesHeapsterSpec>|{{WrapAsVariable "kubernetesHeapsterSpec"}}|g; s|<kubernetesAddonResizerSpec>|{{WrapAsVariable "kubernetesAddonResizerSpec"}}|g" "/etc/kubernetes/addons/kube-heapster-deployment.yaml"
|
||||
sed -i "s|<kubeDNSServiceIP>|{{WrapAsVariable "kubeDNSServiceIP"}}|g" "/etc/kubernetes/addons/kube-dns-deployment.yaml"
|
||||
|
||||
{{if .OrchestratorProfile.KubernetesConfig.IsDashboardEnabled}}
|
||||
sed -i "s|<kubernetesDashboardSpec>|{{WrapAsVariable "kubernetesDashboardSpec"}}|g" "/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml"
|
||||
sed -i "s|<kubernetesDashboardCPURequests>|{{WrapAsVariable "kubernetesDashboardCPURequests"}}|g" "/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml"
|
||||
|
@ -290,6 +301,7 @@ write_files:
|
|||
sed -i "s|<kubernetesDashboardCPULimit>|{{WrapAsVariable "kubernetesDashboardCPULimit"}}|g" "/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml"
|
||||
sed -i "s|<kubernetesDashboardMemoryLimit>|{{WrapAsVariable "kubernetesDashboardMemoryLimit"}}|g" "/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml"
|
||||
{{end}}
|
||||
|
||||
{{if .OrchestratorProfile.KubernetesConfig.IsTillerEnabled}}
|
||||
sed -i "s|<kubernetesTillerSpec>|{{WrapAsVariable "kubernetesTillerSpec"}}|g" "/etc/kubernetes/addons/kube-tiller-deployment.yaml"
|
||||
sed -i "s|<kubernetesTillerCPURequests>|{{WrapAsVariable "kubernetesTillerCPURequests"}}|g" "/etc/kubernetes/addons/kube-tiller-deployment.yaml"
|
||||
|
@ -297,7 +309,14 @@ write_files:
|
|||
sed -i "s|<kubernetesTillerCPULimit>|{{WrapAsVariable "kubernetesTillerCPULimit"}}|g" "/etc/kubernetes/addons/kube-tiller-deployment.yaml"
|
||||
sed -i "s|<kubernetesTillerMemoryLimit>|{{WrapAsVariable "kubernetesTillerMemoryLimit"}}|g" "/etc/kubernetes/addons/kube-tiller-deployment.yaml"
|
||||
{{end}}
|
||||
sed -i "s|<kubeDNSServiceIP>|{{WrapAsVariable "kubeDNSServiceIP"}}|g" "/etc/kubernetes/addons/kube-dns-deployment.yaml"
|
||||
|
||||
{{if .OrchestratorProfile.KubernetesConfig.IsReschedulerEnabled}}
|
||||
sed -i "s|<kubernetesReschedulerSpec>|{{WrapAsVariable "kubernetesReschedulerSpec"}}|g" "/etc/kubernetes/addons/kube-rescheduler-deployment.yaml"
|
||||
sed -i "s|<kubernetesReschedulerCPURequests>|{{WrapAsVariable "kubernetesReschedulerCPURequests"}}|g" "/etc/kubernetes/addons/kube-rescheduler-deployment.yaml"
|
||||
sed -i "s|<kubernetesReschedulerMemoryRequests>|{{WrapAsVariable "kubernetesReschedulerMemoryRequests"}}|g" "/etc/kubernetes/addons/kube-rescheduler-deployment.yaml"
|
||||
sed -i "s|<kubernetesReschedulerCPULimit>|{{WrapAsVariable "kubernetesReschedulerCPULimit"}}|g" "/etc/kubernetes/addons/kube-rescheduler-deployment.yaml"
|
||||
sed -i "s|<kubernetesReschedulerMemoryLimit>|{{WrapAsVariable "kubernetesReschedulerMemoryLimit"}}|g" "/etc/kubernetes/addons/kube-rescheduler-deployment.yaml"
|
||||
{{end}}
|
||||
|
||||
{{if .OrchestratorProfile.KubernetesConfig.EnableRbac }}
|
||||
# If RBAC enabled then add parameters to API server and Controller manager configuration
|
||||
|
|
|
@ -27,6 +27,11 @@
|
|||
"kubernetesTillerMemoryRequests": "[parameters('kubernetesTillerMemoryRequests')]",
|
||||
"kubernetesTillerCPULimit": "[parameters('kubernetesTillerCPULimit')]",
|
||||
"kubernetesTillerMemoryLimit": "[parameters('kubernetesTillerMemoryLimit')]",
|
||||
"kubernetesReschedulerSpec": "[parameters('kubernetesReschedulerSpec')]",
|
||||
"kubernetesReschedulerCPURequests": "[parameters('kubernetesReschedulerCPURequests')]",
|
||||
"kubernetesReschedulerMemoryRequests": "[parameters('kubernetesReschedulerMemoryRequests')]",
|
||||
"kubernetesReschedulerCPULimit": "[parameters('kubernetesReschedulerCPULimit')]",
|
||||
"kubernetesReschedulerMemoryLimit": "[parameters('kubernetesReschedulerMemoryLimit')]",
|
||||
"kubernetesPodInfraContainerSpec": "[parameters('kubernetesPodInfraContainerSpec')]",
|
||||
"kubernetesNodeStatusUpdateFrequency": "[parameters('kubernetesNodeStatusUpdateFrequency')]",
|
||||
"kubernetesCtrlMgrNodeMonitorGracePeriod": "[parameters('kubernetesCtrlMgrNodeMonitorGracePeriod')]",
|
||||
|
|
|
@ -225,6 +225,41 @@
|
|||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesReschedulerSpec": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesReschedulerSpec"}}
|
||||
"metadata": {
|
||||
"description": "The container spec for rescheduler."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesReschedulerCPURequests": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesReschedulerCPURequests"}}
|
||||
"metadata": {
|
||||
"description": "Rescheduler CPU Requests."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesReschedulerMemoryRequests": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesReschedulerMemoryRequests"}}
|
||||
"metadata": {
|
||||
"description": "Rescheduler Memory Requests."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesReschedulerCPULimit": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesReschedulerCPULimit"}}
|
||||
"metadata": {
|
||||
"description": "Rescheduler CPU Limit."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesReschedulerMemoryLimit": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesReschedulerMemoryLimit"}}
|
||||
"metadata": {
|
||||
"description": "Rescheduler Memory Limit."
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
"kubernetesPodInfraContainerSpec": {
|
||||
{{PopulateClassicModeDefaultValue "kubernetesPodInfraContainerSpec"}}
|
||||
"metadata": {
|
||||
|
|
|
@ -87,6 +87,10 @@ const (
|
|||
DefaultEtcdVersion = "2.2.5"
|
||||
// DefaultEtcdDiskSize specifies the default size for Kubernetes master etcd disk volumes in GB
|
||||
DefaultEtcdDiskSize = "128"
|
||||
// DefaultReschedulerImage defines the rescheduler deployment version on Kubernetes Clusters
|
||||
DefaultReschedulerImage = "rescheduler:v0.3.1"
|
||||
// DefaultReschedulerAddonName is the name of the rescheduler addon deployment
|
||||
DefaultReschedulerAddonName = "rescheduler"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -161,7 +161,7 @@ var (
|
|||
// DefaultTillerAddonsConfig is the default tiller Kubernetes addon Config
|
||||
DefaultTillerAddonsConfig = api.KubernetesAddon{
|
||||
Name: DefaultTillerAddonName,
|
||||
Enabled: pointerToBool(true),
|
||||
Enabled: pointerToBool(api.DefaultTillerAddonEnabled),
|
||||
Containers: []api.KubernetesContainerSpec{
|
||||
{
|
||||
Name: DefaultTillerAddonName,
|
||||
|
@ -176,7 +176,7 @@ var (
|
|||
// DefaultDashboardAddonsConfig is the default kubernetes-dashboard addon Config
|
||||
DefaultDashboardAddonsConfig = api.KubernetesAddon{
|
||||
Name: DefaultDashboardAddonName,
|
||||
Enabled: pointerToBool(true),
|
||||
Enabled: pointerToBool(api.DefaultDashboardAddonEnabled),
|
||||
Containers: []api.KubernetesContainerSpec{
|
||||
{
|
||||
Name: DefaultDashboardAddonName,
|
||||
|
@ -187,6 +187,21 @@ var (
|
|||
},
|
||||
},
|
||||
}
|
||||
|
||||
// DefaultReschedulerAddonsConfig is the default rescheduler Kubernetes addon Config
|
||||
DefaultReschedulerAddonsConfig = api.KubernetesAddon{
|
||||
Name: DefaultReschedulerAddonName,
|
||||
Enabled: pointerToBool(api.DefaultReschedulerAddonEnabled),
|
||||
Containers: []api.KubernetesContainerSpec{
|
||||
{
|
||||
Name: DefaultReschedulerAddonName,
|
||||
CPURequests: "10m",
|
||||
MemoryRequests: "100Mi",
|
||||
CPULimits: "10m",
|
||||
MemoryLimits: "100Mi",
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
// SetPropertiesDefaults for the container Properties, returns true if certs are generated
|
||||
|
@ -236,6 +251,7 @@ func setOrchestratorDefaults(cs *api.ContainerService) {
|
|||
o.KubernetesConfig.Addons = []api.KubernetesAddon{
|
||||
DefaultTillerAddonsConfig,
|
||||
DefaultDashboardAddonsConfig,
|
||||
DefaultReschedulerAddonsConfig,
|
||||
}
|
||||
} else {
|
||||
// For each addon, provide default configuration if user didn't provide its own config
|
||||
|
@ -249,6 +265,11 @@ func setOrchestratorDefaults(cs *api.ContainerService) {
|
|||
// Provide default acs-engine config for Dashboard
|
||||
o.KubernetesConfig.Addons = append(o.KubernetesConfig.Addons, DefaultDashboardAddonsConfig)
|
||||
}
|
||||
r := getAddonsIndexByName(o.KubernetesConfig.Addons, DefaultReschedulerAddonName)
|
||||
if r < 0 {
|
||||
// Provide default acs-engine config for Rescheduler
|
||||
o.KubernetesConfig.Addons = append(o.KubernetesConfig.Addons, DefaultReschedulerAddonsConfig)
|
||||
}
|
||||
}
|
||||
if o.KubernetesConfig.KubernetesImageBase == "" {
|
||||
o.KubernetesConfig.KubernetesImageBase = cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase
|
||||
|
@ -346,6 +367,10 @@ func setOrchestratorDefaults(cs *api.ContainerService) {
|
|||
if a.OrchestratorProfile.KubernetesConfig.Addons[d].IsEnabled(api.DefaultDashboardAddonEnabled) {
|
||||
a.OrchestratorProfile.KubernetesConfig.Addons[d] = assignDefaultAddonVals(a.OrchestratorProfile.KubernetesConfig.Addons[d], DefaultDashboardAddonsConfig)
|
||||
}
|
||||
r := getAddonsIndexByName(a.OrchestratorProfile.KubernetesConfig.Addons, DefaultReschedulerAddonName)
|
||||
if a.OrchestratorProfile.KubernetesConfig.Addons[r].IsEnabled(api.DefaultReschedulerAddonEnabled) {
|
||||
a.OrchestratorProfile.KubernetesConfig.Addons[r] = assignDefaultAddonVals(a.OrchestratorProfile.KubernetesConfig.Addons[r], DefaultReschedulerAddonsConfig)
|
||||
}
|
||||
|
||||
if "" == a.OrchestratorProfile.KubernetesConfig.EtcdDiskSizeGB {
|
||||
a.OrchestratorProfile.KubernetesConfig.EtcdDiskSizeGB = DefaultEtcdDiskSize
|
||||
|
|
|
@ -121,6 +121,7 @@ var kubernetesAddonYamls = map[string]string{
|
|||
"MASTER_ADDON_KUBERNETES_DASHBOARD_DEPLOYMENT_B64_GZIP_STR": "kubernetesmasteraddons-kubernetes-dashboard-deployment.yaml",
|
||||
"MASTER_ADDON_AZURE_STORAGE_CLASSES_B64_GZIP_STR": "kubernetesmasteraddons-azure-storage-classes.yaml",
|
||||
"MASTER_ADDON_TILLER_DEPLOYMENT_B64_GZIP_STR": "kubernetesmasteraddons-tiller-deployment.yaml",
|
||||
"MASTER_ADDON_RESCHEDULER_DEPLOYMENT_B64_GZIP_STR": "kubernetesmasteraddons-kube-rescheduler-deployment.yaml",
|
||||
}
|
||||
|
||||
var kubernetesAddonYamls15 = map[string]string{
|
||||
|
@ -574,7 +575,20 @@ func getParameters(cs *api.ContainerService, isClassicMode bool, generatorCode s
|
|||
if dashboardAddon.Containers[c].Image != "" {
|
||||
addValue(parametersMap, "kubernetesDashboardSpec", dashboardAddon.Containers[c].Image)
|
||||
} else {
|
||||
addValue(parametersMap, "kubernetesDashboardSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["dashboard"])
|
||||
addValue(parametersMap, "kubernetesDashboardSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion][DefaultDashboardAddonName])
|
||||
}
|
||||
}
|
||||
reschedulerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultReschedulerAddonName)
|
||||
c = getAddonContainersIndexByName(reschedulerAddon.Containers, DefaultReschedulerAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesReschedulerCPURequests", reschedulerAddon.Containers[c].CPURequests)
|
||||
addValue(parametersMap, "kubernetesReschedulerCPULimit", reschedulerAddon.Containers[c].CPULimits)
|
||||
addValue(parametersMap, "kubernetesReschedulerMemoryRequests", reschedulerAddon.Containers[c].MemoryRequests)
|
||||
addValue(parametersMap, "kubernetesReschedulerMemoryLimit", reschedulerAddon.Containers[c].MemoryLimits)
|
||||
if reschedulerAddon.Containers[c].Image != "" {
|
||||
addValue(parametersMap, "kubernetesReschedulerSpec", dashboardAddon.Containers[c].Image)
|
||||
} else {
|
||||
addValue(parametersMap, "kubernetesReschedulerSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion][DefaultReschedulerAddonName])
|
||||
}
|
||||
}
|
||||
addValue(parametersMap, "kubernetesKubeDNSSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["dns"])
|
||||
|
@ -977,6 +991,9 @@ func (t *TemplateGenerator) getTemplateFuncMap(cs *api.ContainerService) templat
|
|||
if !profile.OrchestratorProfile.KubernetesConfig.IsDashboardEnabled() {
|
||||
delete(addonYamls, "MASTER_ADDON_KUBERNETES_DASHBOARD_DEPLOYMENT_B64_GZIP_STR")
|
||||
}
|
||||
if !profile.OrchestratorProfile.KubernetesConfig.IsReschedulerEnabled() {
|
||||
delete(addonYamls, "MASTER_ADDON_RESCHEDULER_DEPLOYMENT_B64_GZIP_STR")
|
||||
}
|
||||
for placeholder, filename := range addonYamls {
|
||||
addonTextContents := getBase64CustomScript(filename)
|
||||
str = strings.Replace(str, placeholder, addonTextContents, -1)
|
||||
|
@ -1191,6 +1208,8 @@ func (t *TemplateGenerator) getTemplateFuncMap(cs *api.ContainerService) templat
|
|||
tC := getAddonContainersIndexByName(tillerAddon.Containers, DefaultTillerAddonName)
|
||||
dashboardAddon := getAddonByName(cs.Properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultDashboardAddonName)
|
||||
dC := getAddonContainersIndexByName(dashboardAddon.Containers, DefaultDashboardAddonName)
|
||||
reschedulerAddon := getAddonByName(cs.Properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultReschedulerAddonName)
|
||||
rC := getAddonContainersIndexByName(reschedulerAddon.Containers, DefaultReschedulerAddonName)
|
||||
switch attr {
|
||||
case "kubernetesHyperkubeSpec":
|
||||
val = cs.Properties.OrchestratorProfile.KubernetesConfig.KubernetesImageBase + KubeConfigs[k8sVersion]["hyperkube"]
|
||||
|
@ -1207,7 +1226,7 @@ func (t *TemplateGenerator) getTemplateFuncMap(cs *api.ContainerService) templat
|
|||
val = dashboardAddon.Containers[dC].Image
|
||||
}
|
||||
} else {
|
||||
val = cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase + KubeConfigs[k8sVersion]["dashboard"]
|
||||
val = cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase + KubeConfigs[k8sVersion][DefaultDashboardAddonName]
|
||||
}
|
||||
case "kubernetesDashboardCPURequests":
|
||||
if dC > -1 {
|
||||
|
@ -1271,6 +1290,38 @@ func (t *TemplateGenerator) getTemplateFuncMap(cs *api.ContainerService) templat
|
|||
} else {
|
||||
val = ""
|
||||
}
|
||||
case "kubernetesReschedulerSpec":
|
||||
if rC > -1 {
|
||||
if reschedulerAddon.Containers[rC].Image != "" {
|
||||
val = reschedulerAddon.Containers[rC].Image
|
||||
}
|
||||
} else {
|
||||
val = cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase + KubeConfigs[k8sVersion][DefaultReschedulerAddonName]
|
||||
}
|
||||
case "kubernetesReschedulerCPURequests":
|
||||
if rC > -1 {
|
||||
val = reschedulerAddon.Containers[rC].CPURequests
|
||||
} else {
|
||||
val = ""
|
||||
}
|
||||
case "kubernetesReschedulerMemoryRequests":
|
||||
if rC > -1 {
|
||||
val = reschedulerAddon.Containers[rC].MemoryRequests
|
||||
} else {
|
||||
val = ""
|
||||
}
|
||||
case "kubernetesReschedulerCPULimit":
|
||||
if rC > -1 {
|
||||
val = reschedulerAddon.Containers[rC].CPULimits
|
||||
} else {
|
||||
val = ""
|
||||
}
|
||||
case "kubernetesReschedulerMemoryLimit":
|
||||
if rC > -1 {
|
||||
val = reschedulerAddon.Containers[rC].MemoryLimits
|
||||
} else {
|
||||
val = ""
|
||||
}
|
||||
case "kubernetesKubeDNSSpec":
|
||||
val = cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase + KubeConfigs[k8sVersion]["dns"]
|
||||
case "kubernetesPodInfraContainerSpec":
|
||||
|
|
|
@ -9,408 +9,423 @@ import (
|
|||
// KubeConfigs represents Docker images used for Kubernetes components based on Kubernetes versions (major.minor.patch)
|
||||
var KubeConfigs = map[string]map[string]string{
|
||||
common.KubernetesVersion1Dot8Dot2: {
|
||||
"hyperkube": "hyperkube-amd64:v1.8.2",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.7.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.8.2-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.8.2",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.7.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.8.2-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot8Dot1: {
|
||||
"hyperkube": "hyperkube-amd64:v1.8.1",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.7.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.8.1-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.8.1",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.7.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.8.1-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot8Dot0: {
|
||||
"hyperkube": "hyperkube-amd64:v1.8.0",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.7.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.8.0-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.8.0",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.7.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.8.0-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot10: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.10",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.7.10-1int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.10",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.7.10-1int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot9: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.9",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.7.9-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.9",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.7.9-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot7: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.7",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.7.7-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.7",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.7.7-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot5: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.5",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.7.5-4int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.5",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.2",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.7.5-4int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot4: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.4",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.1",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.7.4-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.4",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.1",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.7.4-2int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot2: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.2",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.1",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"windowszip": "v1.7.2-1int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.2",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.4.1",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"windowszip": "v1.7.2-1int.zip",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot1: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.1",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster:v1.4.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.1",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster:v1.4.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot7Dot0: {
|
||||
"hyperkube": "hyperkube-amd64:v1.7.0",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster:v1.4.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.7.0",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster:v1.4.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot6Dot12: {
|
||||
"hyperkube": "hyperkube-amd64:v1.6.12",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.6.12",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot6Dot11: {
|
||||
"hyperkube": "hyperkube-amd64:v1.6.11",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.6.11",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.5",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.5",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot6Dot9: {
|
||||
"hyperkube": "hyperkube-amd64:v1.6.9",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.6.9",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot6Dot6: {
|
||||
"hyperkube": "hyperkube-amd64:v1.6.6",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.6.6",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.6.3",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.7",
|
||||
"heapster": "heapster-amd64:v1.3.0",
|
||||
"dns": "k8s-dns-kube-dns-amd64:1.14.4",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.4",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: DefaultTillerImage,
|
||||
DefaultReschedulerAddonName: DefaultReschedulerImage,
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
|
||||
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
|
||||
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
|
||||
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
|
||||
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot5Dot8: {
|
||||
"hyperkube": "hyperkube-amd64:v1.5.8",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.5.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.6",
|
||||
"heapster": "heapster:v1.2.0",
|
||||
"dns": "kubedns-amd64:1.7",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "kube-dnsmasq-amd64:1.3",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: "tiller:v2.5.1",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.5.8",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.5.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.6",
|
||||
"heapster": "heapster:v1.2.0",
|
||||
"dns": "kubedns-amd64:1.7",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "kube-dnsmasq-amd64:1.3",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: "tiller:v2.5.1",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
common.KubernetesVersion1Dot5Dot7: {
|
||||
"hyperkube": "hyperkube-amd64:v1.5.7",
|
||||
"dashboard": "kubernetes-dashboard-amd64:v1.5.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.6",
|
||||
"heapster": "heapster:v1.2.0",
|
||||
"dns": "kubedns-amd64:1.7",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "kube-dnsmasq-amd64:1.3",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: "tiller:v2.5.1",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
"hyperkube": "hyperkube-amd64:v1.5.7",
|
||||
DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.5.1",
|
||||
"exechealthz": "exechealthz-amd64:1.2",
|
||||
"addonresizer": "addon-resizer:1.6",
|
||||
"heapster": "heapster:v1.2.0",
|
||||
"dns": "kubedns-amd64:1.7",
|
||||
"addonmanager": "kube-addon-manager-amd64:v6.4-beta.2",
|
||||
"dnsmasq": "kube-dnsmasq-amd64:1.3",
|
||||
"pause": "pause-amd64:3.0",
|
||||
DefaultTillerAddonName: "tiller:v2.5.1",
|
||||
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
|
||||
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
|
||||
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
|
||||
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
|
||||
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
|
||||
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
|
||||
},
|
||||
}
|
||||
|
|
|
@ -87,4 +87,12 @@ const (
|
|||
DefaultTillerAddonEnabled = true
|
||||
// DefaultDashboardAddonEnabled determines the acs-engine provided default for enabling kubernetes-dashboard addon
|
||||
DefaultDashboardAddonEnabled = true
|
||||
// DefaultReschedulerAddonEnabled determines the acs-engine provided default for enabling kubernetes-rescheduler addon
|
||||
DefaultReschedulerAddonEnabled = false
|
||||
// DefaultTillerAddonName is the name of the tiller addon deployment
|
||||
DefaultTillerAddonName = "tiller"
|
||||
// DefaultDashboardAddonName is the name of the kubernetes-dashboard addon deployment
|
||||
DefaultDashboardAddonName = "kubernetes-dashboard"
|
||||
// DefaultReschedulerAddonName is the name of the rescheduler addon deployment
|
||||
DefaultReschedulerAddonName = "rescheduler"
|
||||
)
|
||||
|
|
|
@ -587,7 +587,7 @@ func (o *OrchestratorProfile) GetAPIServerEtcdAPIVersion() string {
|
|||
func (k *KubernetesConfig) IsTillerEnabled() bool {
|
||||
var tillerAddon KubernetesAddon
|
||||
for i := range k.Addons {
|
||||
if k.Addons[i].Name == "tiller" {
|
||||
if k.Addons[i].Name == DefaultTillerAddonName {
|
||||
tillerAddon = k.Addons[i]
|
||||
}
|
||||
}
|
||||
|
@ -598,9 +598,20 @@ func (k *KubernetesConfig) IsTillerEnabled() bool {
|
|||
func (k *KubernetesConfig) IsDashboardEnabled() bool {
|
||||
var dashboardAddon KubernetesAddon
|
||||
for i := range k.Addons {
|
||||
if k.Addons[i].Name == "kubernetes-dashboard" {
|
||||
if k.Addons[i].Name == DefaultDashboardAddonName {
|
||||
dashboardAddon = k.Addons[i]
|
||||
}
|
||||
}
|
||||
return dashboardAddon.IsEnabled(DefaultDashboardAddonEnabled)
|
||||
}
|
||||
|
||||
// IsReschedulerEnabled checks if the rescheduler addon is enabled
|
||||
func (k *KubernetesConfig) IsReschedulerEnabled() bool {
|
||||
var reschedulerAddon KubernetesAddon
|
||||
for i := range k.Addons {
|
||||
if k.Addons[i].Name == DefaultReschedulerAddonName {
|
||||
reschedulerAddon = k.Addons[i]
|
||||
}
|
||||
}
|
||||
return reschedulerAddon.IsEnabled(DefaultReschedulerAddonEnabled)
|
||||
}
|
||||
|
|
|
@ -94,17 +94,17 @@ func TestIsTillerEnabled(t *testing.T) {
|
|||
if e != DefaultTillerAddonEnabled {
|
||||
t.Fatalf("KubernetesConfig.IsTillerEnabled() should return %t when no tiller addon has been specified, instead returned %t", DefaultTillerAddonEnabled, e)
|
||||
}
|
||||
c.Addons = append(c.Addons, getMockAddon("tiller"))
|
||||
c.Addons = append(c.Addons, getMockAddon(DefaultTillerAddonName))
|
||||
e = c.IsTillerEnabled()
|
||||
if e != true {
|
||||
t.Fatalf("KubernetesConfig.IsTillerEnabled() should return true when a custom tiller addon has been specified, instead returned %t", e)
|
||||
}
|
||||
f := false
|
||||
b := false
|
||||
c = KubernetesConfig{
|
||||
Addons: []KubernetesAddon{
|
||||
{
|
||||
Name: "tiller",
|
||||
Enabled: &f,
|
||||
Name: DefaultTillerAddonName,
|
||||
Enabled: &b,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -124,17 +124,17 @@ func TestIsDashboardEnabled(t *testing.T) {
|
|||
if e != DefaultDashboardAddonEnabled {
|
||||
t.Fatalf("KubernetesConfig.IsDashboardEnabled() should return %t when no kubernetes-dashboard addon has been specified, instead returned %t", DefaultDashboardAddonEnabled, e)
|
||||
}
|
||||
c.Addons = append(c.Addons, getMockAddon("kubernetes-dashboard"))
|
||||
c.Addons = append(c.Addons, getMockAddon(DefaultDashboardAddonName))
|
||||
e = c.IsDashboardEnabled()
|
||||
if e != true {
|
||||
t.Fatalf("KubernetesConfig.IsDashboardEnabled() should return true when a custom kubernetes-dashboard addon has been specified, instead returned %t", e)
|
||||
}
|
||||
f := false
|
||||
b := false
|
||||
c = KubernetesConfig{
|
||||
Addons: []KubernetesAddon{
|
||||
{
|
||||
Name: "kubernetes-dashboard",
|
||||
Enabled: &f,
|
||||
Name: DefaultDashboardAddonName,
|
||||
Enabled: &b,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -144,6 +144,36 @@ func TestIsDashboardEnabled(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestIsReschedulerEnabled(t *testing.T) {
|
||||
c := KubernetesConfig{
|
||||
Addons: []KubernetesAddon{
|
||||
getMockAddon("addon"),
|
||||
},
|
||||
}
|
||||
e := c.IsReschedulerEnabled()
|
||||
if e != DefaultReschedulerAddonEnabled {
|
||||
t.Fatalf("KubernetesConfig.IsReschedulerEnabled() should return %t when no rescheduler addon has been specified, instead returned %t", DefaultReschedulerAddonEnabled, e)
|
||||
}
|
||||
c.Addons = append(c.Addons, getMockAddon(DefaultReschedulerAddonName))
|
||||
e = c.IsReschedulerEnabled()
|
||||
if e != false {
|
||||
t.Fatalf("KubernetesConfig.IsReschedulerEnabled() should return true when a custom rescheduler addon has been specified, instead returned %t", e)
|
||||
}
|
||||
b := true
|
||||
c = KubernetesConfig{
|
||||
Addons: []KubernetesAddon{
|
||||
{
|
||||
Name: DefaultReschedulerAddonName,
|
||||
Enabled: &b,
|
||||
},
|
||||
},
|
||||
}
|
||||
e = c.IsReschedulerEnabled()
|
||||
if e != true {
|
||||
t.Fatalf("KubernetesConfig.IsReschedulerEnabled() should return false when a custom rescheduler addon has been specified as enabled, instead returned %t", e)
|
||||
}
|
||||
}
|
||||
|
||||
func getMockAddon(name string) KubernetesAddon {
|
||||
return KubernetesAddon{
|
||||
Name: name,
|
||||
|
|
|
@ -81,6 +81,10 @@
|
|||
"cluster_definition": "kubernetes-config/kubernetes-no-dashboard.json",
|
||||
"category": "config"
|
||||
},
|
||||
{
|
||||
"cluster_definition": "kubernetes-config/kubernetes-rescheduler.json",
|
||||
"category": "config"
|
||||
},
|
||||
{
|
||||
"cluster_definition": "v20170131/swarmmode.json",
|
||||
"category": "version"
|
||||
|
@ -106,4 +110,4 @@
|
|||
"category": "distro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -102,7 +102,7 @@ fi
|
|||
###### Check existence and status of essential pods
|
||||
|
||||
# we test other essential pods (kube-dns, kube-proxy) separately
|
||||
pods="heapster kube-addon-manager kube-apiserver kube-controller-manager kube-scheduler tiller"
|
||||
pods="heapster rescheduler kube-addon-manager kube-apiserver kube-controller-manager kube-scheduler tiller"
|
||||
log "Checking $pods"
|
||||
|
||||
count=60
|
||||
|
|
Загрузка…
Ссылка в новой задаче