This commit is contained in:
Jack Francis 2020-04-17 16:15:25 -07:00 коммит произвёл GitHub
Родитель 3cb01053b0
Коммит 543083cda8
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
23 изменённых файлов: 369 добавлений и 264 удалений

Просмотреть файл

@ -114,7 +114,7 @@ $ aks-engine get-versions
| [azure-policy](../../examples/addons/azure-policy/README.md) | false | 2 | Open Policy Agent Gatekeeper with Azure Policy integration |
| [node-problem-detector](../../examples/addons/node-problem-detector/README.md) | false | as many as linux agent nodes | Reports problems on Kubernetes nodes to kube-apiserver |
| [kube-dns](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/kube-dns) | false; if set to true, coredns must be set to false, i.e., only one cluster DNS addon may be used on a given cluster | 1 | Cluster DNS services |
| [coredns](https://github.com/coredns/deployment/tree/master/kubernetes) | true; if set to false, kube-dns must be set to true, i.e., you need at least one (and only one) of kube-dns or coredns enabled | 1 | Cluster DNS services |
| [coredns](https://github.com/coredns/deployment/tree/master/kubernetes) | true; if set to false, kube-dns must be set to true, i.e., you need at least one (and only one) of kube-dns or coredns enabled. For more configuration info, see `coredns` configuration [below](#coredns) | 1 | Cluster DNS services |
| [kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy) | true | 1 | a network proxy that runs on each node in your cluster |
| [pod-security-policy](https://kubernetes.io/docs/concepts/policy/pod-security-policy/) | required for Kubernetes v1.15+; defaults to false for Kubernetes 1.14 and earlier | 0 | a cluster-level resource that controls security-sensitive aspects of the pod specification |
| [audit-policy](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#audit-policy) | true | 0 | defines rules about what events should be recorded and what data they should include |
@ -235,6 +235,30 @@ Additionally above, we specified a custom docker image for tiller, let's say we
The reason for the unsightly base64-encoded input type is to optimize delivery payload, and to squash a human-maintainable yaml file representation into something that can be tightly pasted into a JSON string value without the arguably more unsightly carriage returns / whitespace that would be delivered with a literal copy/paste of a Kubernetes manifest.
#### coredns
The `coredns` addon includes integration with the `cluster-proportional-autoscaler` project to automatically scale out coredns pod replicas according to node, or core count. More information at the official docs [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-horizontal-autoscaling/). The AKS Engine default configuration tunes the autoscaler thresholds to "32" nodes, and "512" cores (whichever threshold is crossed first engages scaling behaviors), with a minimum replica count of "1". The scale thresholds are higher than those seen in example docs due to observed (not catastrophic) increases in per-DNS resolution response times. In other words, for smaller clusters that aren't coredns pod-constrained, a single coredns pod is more responsive. These configurations are entirely user-configurable: you may tune them according to the operational DNS characteristics of your environment. E.g.:
```
"kubernetesConfig": {
"addons": [
...
{
"name": "coredns",
"enabled": true,
"config": {
"cores-per-replica": "512",
"min-replicas": "3",
"nodes-per-replica": "32"
}
},
...
]
}
```
The above example configuration would ship a coredns configuration that has at least 3 pod replicas at all times, and then scales out to 4 when the 97th node, or the 1537th core (whichever comes frirst) is observed running in the cluster (and so on and so on).
#### components
`components` is an interface to allow for user-configurable core Kubernetes component implementations. Normally, you won't need to modify this configuration, as AKS Engine will use the best, known-working component implementations validated against Azure for all supported versions of Kubernetes. To support the rapid development of Azure + Kubernetes (e.g., Azure cloudprovider), this configuration vector may be useful for validating a custom build or configuration of the various core components on a running Azure Kubernetes cluster. Again, as with addons, this configurable vector is designed for *cluster creation only*. Using `aks-engine upgrade` on a cluster will override the original, user-configured settings during the upgrade operation, rendering an upgraded cluster with the AKS Engine defaults for `kube-controller-manager`, `cloud-controller-manager`, `kube-apiserver`, `kube-scheduler`, and `kube-addon-manager`.

Просмотреть файл

@ -39,6 +39,14 @@
{
"name": "aad-pod-identity",
"enabled": true
},
{
"name": "coredns",
"enabled": true,
"config": {
"min-replicas": "1",
"nodes-per-replica": "10"
}
}
]
}

Просмотреть файл

@ -5,14 +5,14 @@ metadata:
namespace: kube-system
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
kubernetes.io/bootstrapping: rbac-defaults
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
name: system:coredns
rules:
- apiGroups:
@ -56,7 +56,7 @@ metadata:
name: coredns
namespace: kube-system
labels:
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
data:
Corefile: |
import conf.d/Corefile*
@ -84,7 +84,7 @@ metadata:
name: coredns-custom
namespace: kube-system
labels:
addonmanager.kubernetes.io/mode: EnsureExists
addonmanager.kubernetes.io/mode: EnsureExists
data:
Corefile: |
# Add custom CoreDNS configuration here.
@ -101,7 +101,7 @@ metadata:
k8s-app: kube-dns
kubernetes.io/name: "CoreDNS"
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
spec:
{{- /* replicas: not specified here:
1. In order to make Addon Manager do not reconcile this replicas parameter.
@ -239,7 +239,7 @@ metadata:
k8s-app: kube-dns
kubernetes.io/cluster-service: "true"
kubernetes.io/name: CoreDNS
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
spec:
selector:
k8s-app: kube-dns
@ -254,3 +254,84 @@ spec:
- name: metrics
port: 9153
protocol: TCP
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: coredns-autoscaler
namespace: kube-system
labels:
k8s-addon: coredns.addons.k8s.io
addonmanager.kubernetes.io/mode: EnsureExists
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
k8s-addon: coredns.addons.k8s.io
addonmanager.kubernetes.io/mode: EnsureExists
name: coredns-autoscaler
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list","watch"]
- apiGroups: [""]
resources: ["replicationcontrollers/scale"]
verbs: ["get", "update"]
- apiGroups: ["extensions", "apps"]
resources: ["deployments/scale", "replicasets/scale"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
k8s-addon: coredns.addons.k8s.io
addonmanager.kubernetes.io/mode: EnsureExists
name: coredns-autoscaler
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: coredns-autoscaler
subjects:
- kind: ServiceAccount
name: coredns-autoscaler
namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: coredns-autoscaler
namespace: kube-system
labels:
k8s-app: coredns-autoscaler
addonmanager.kubernetes.io/mode: EnsureExists
spec:
selector:
matchLabels:
k8s-app: coredns-autoscaler
template:
metadata:
labels:
k8s-app: coredns-autoscaler
spec:
containers:
- name: autoscaler
image: {{ContainerImage "coredns-autoscaler"}}
resources:
requests:
cpu: 20m
memory: 10Mi
command:
- /cluster-proportional-autoscaler
- --namespace=kube-system
- --configmap=coredns-autoscaler
- --target=Deployment/coredns
- --default-params={"linear":{"coresPerReplica":{{ContainerConfig "cores-per-replica"}},"nodesPerReplica":{{ContainerConfig "nodes-per-replica"}},"min":{{ContainerConfig "min-replicas"}}}}
- --logtostderr=true
- --v=2
serviceAccount: coredns-autoscaler
serviceAccountName: coredns-autoscaler

Просмотреть файл

@ -1,35 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: dns-autoscaler
namespace: kube-system
labels:
k8s-app: dns-autoscaler
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
spec:
selector:
matchLabels:
k8s-app: dns-autoscaler
template:
metadata:
labels:
k8s-app: dns-autoscaler
spec:
containers:
- name: autoscaler
image: {{ContainerImage "dns-autoscaler"}}
resources:
requests:
cpu: {{ContainerCPUReqs "dns-autoscaler"}}
memory: {{ContainerMemReqs "dns-autoscaler"}}
command:
- /cluster-proportional-autoscaler
- --namespace=kube-system
- --configmap=dns-autoscaler
- --target=Deployment/coredns
{{- /* When cluster is using large nodes(with more cores), "coresPerReplica" should dominate.
If using small nodes, "nodesPerReplica" should dominate. */}}
- --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"min":1}}
- --logtostderr=true
- --v=2

Просмотреть файл

@ -345,20 +345,6 @@ func (cs *ContainerService) setAddonsConfig(isUpgrade bool) {
},
}
defaultDNSAutoScalerAddonsConfig := KubernetesAddon{
Name: common.DNSAutoscalerAddonName,
// TODO enable this when it has been smoke tested
Enabled: to.BoolPtr(DefaultDNSAutoscalerAddonEnabled),
Containers: []KubernetesContainerSpec{
{
Name: common.DNSAutoscalerAddonName,
Image: kubernetesImageBase + k8sComponents[common.DNSAutoscalerAddonName],
CPURequests: "20m",
MemoryRequests: "100Mi",
},
},
}
defaultsCalicoDaemonSetAddonsConfig := KubernetesAddon{
Name: common.CalicoAddonName,
Enabled: to.BoolPtr(o.KubernetesConfig.NetworkPolicy == NetworkPolicyCalico),
@ -669,14 +655,21 @@ func (cs *ContainerService) setAddonsConfig(isUpgrade bool) {
Name: common.CoreDNSAddonName,
Enabled: to.BoolPtr(DefaultCoreDNSAddonEnabled),
Config: map[string]string{
"domain": o.KubernetesConfig.KubeletConfig["--cluster-domain"],
"clusterIP": o.KubernetesConfig.DNSServiceIP,
"domain": o.KubernetesConfig.KubeletConfig["--cluster-domain"],
"clusterIP": o.KubernetesConfig.DNSServiceIP,
"cores-per-replica": "512",
"nodes-per-replica": "32",
"min-replicas": "1",
},
Containers: []KubernetesContainerSpec{
{
Name: common.CoreDNSAddonName,
Image: kubernetesImageBase + k8sComponents[common.CoreDNSAddonName],
},
{
Name: common.CoreDNSAutoscalerName,
Image: k8sComponents[common.CoreDNSAutoscalerName],
},
},
}
@ -834,7 +827,6 @@ func (cs *ContainerService) setAddonsConfig(isUpgrade bool) {
defaultAzureNetworkPolicyAddonsConfig,
defaultCloudNodeManagerAddonsConfig,
defaultIPMasqAgentAddonsConfig,
defaultDNSAutoScalerAddonsConfig,
defaultsCalicoDaemonSetAddonsConfig,
defaultsCiliumAddonsConfig,
defaultsAADPodIdentityAddonsConfig,

Просмотреть файл

@ -1673,47 +1673,6 @@ func TestSetAddonsConfig(t *testing.T) {
},
}, "1.16.0"),
},
{
name: "dns-autoscaler addon enabled",
cs: &ContainerService{
Properties: &Properties{
OrchestratorProfile: &OrchestratorProfile{
OrchestratorVersion: "1.15.4",
KubernetesConfig: &KubernetesConfig{
KubernetesImageBaseType: common.KubernetesImageBaseTypeMCR,
DNSServiceIP: DefaultKubernetesDNSServiceIP,
KubeletConfig: map[string]string{
"--cluster-domain": "cluster.local",
},
ClusterSubnet: DefaultKubernetesSubnet,
ProxyMode: KubeProxyModeIPTables,
NetworkPlugin: NetworkPluginAzure,
Addons: []KubernetesAddon{
{
Name: common.DNSAutoscalerAddonName,
Enabled: to.BoolPtr(true),
},
},
},
},
},
},
isUpgrade: false,
expectedAddons: concatenateDefaultAddons([]KubernetesAddon{
{
Name: common.DNSAutoscalerAddonName,
Enabled: to.BoolPtr(true),
Containers: []KubernetesContainerSpec{
{
Name: common.DNSAutoscalerAddonName,
Image: specConfig.MCRKubernetesImageBase + k8sComponentsByVersionMap["1.15.4"][common.DNSAutoscalerAddonName],
CPURequests: "20m",
MemoryRequests: "100Mi",
},
},
},
}, "1.15.4"),
},
{
name: "calico addon enabled",
cs: &ContainerService{
@ -2082,14 +2041,21 @@ func TestSetAddonsConfig(t *testing.T) {
Name: common.CoreDNSAddonName,
Enabled: to.BoolPtr(DefaultCoreDNSAddonEnabled),
Config: map[string]string{
"domain": "cluster.local",
"clusterIP": DefaultKubernetesDNSServiceIP,
"domain": "cluster.local",
"clusterIP": DefaultKubernetesDNSServiceIP,
"cores-per-replica": "512",
"nodes-per-replica": "32",
"min-replicas": "1",
},
Containers: []KubernetesContainerSpec{
{
Name: common.CoreDNSAddonName,
Image: "MCRKubernetesImageBase" + k8sComponentsByVersionMap["1.14.0"][common.CoreDNSAddonName],
},
{
Name: common.CoreDNSAutoscalerName,
Image: k8sComponentsByVersionMap["1.14.0"][common.CoreDNSAutoscalerName],
},
},
},
{
@ -3443,6 +3409,59 @@ func TestSetAddonsConfig(t *testing.T) {
isUpgrade: false,
expectedAddons: getDefaultAddons("1.15.4", "", common.KubernetesImageBaseTypeMCR),
},
{
name: "coredns w/ user configuration",
cs: &ContainerService{
Properties: &Properties{
OrchestratorProfile: &OrchestratorProfile{
OrchestratorVersion: "1.18.1",
KubernetesConfig: &KubernetesConfig{
KubernetesImageBaseType: common.KubernetesImageBaseTypeMCR,
DNSServiceIP: DefaultKubernetesDNSServiceIP,
KubeletConfig: map[string]string{
"--cluster-domain": "cluster.local",
},
ClusterSubnet: DefaultKubernetesSubnet,
ProxyMode: KubeProxyModeIPTables,
NetworkPlugin: NetworkPluginAzure,
Addons: []KubernetesAddon{
{
Name: common.CoreDNSAddonName,
Enabled: to.BoolPtr(true),
Config: map[string]string{
"min-replicas": "3",
},
},
},
},
},
},
},
isUpgrade: false,
expectedAddons: overwriteDefaultAddons([]KubernetesAddon{
{
Name: common.CoreDNSAddonName,
Enabled: to.BoolPtr(DefaultCoreDNSAddonEnabled),
Config: map[string]string{
"domain": "cluster.local",
"clusterIP": DefaultKubernetesDNSServiceIP,
"cores-per-replica": "512",
"nodes-per-replica": "32",
"min-replicas": "3",
},
Containers: []KubernetesContainerSpec{
{
Name: common.CoreDNSAddonName,
Image: specConfig.MCRKubernetesImageBase + k8sComponentsByVersionMap["1.18.1"][common.CoreDNSAddonName],
},
{
Name: common.CoreDNSAutoscalerName,
Image: k8sComponentsByVersionMap["1.18.1"][common.CoreDNSAutoscalerName],
},
},
},
}, "1.18.1"),
},
{
name: "kube-proxy w/ user configuration",
cs: &ContainerService{
@ -3782,15 +3801,22 @@ func TestSetAddonsConfig(t *testing.T) {
Name: common.CoreDNSAddonName,
Enabled: to.BoolPtr(DefaultCoreDNSAddonEnabled),
Config: map[string]string{
"domain": "cluster.local",
"clusterIP": DefaultKubernetesDNSServiceIPv6,
"use-host-network": "true",
"domain": "cluster.local",
"clusterIP": DefaultKubernetesDNSServiceIPv6,
"use-host-network": "true",
"cores-per-replica": "512",
"nodes-per-replica": "32",
"min-replicas": "1",
},
Containers: []KubernetesContainerSpec{
{
Name: common.CoreDNSAddonName,
Image: specConfig.MCRKubernetesImageBase + k8sComponentsByVersionMap["1.18.0"][common.CoreDNSAddonName],
},
{
Name: common.CoreDNSAutoscalerName,
Image: k8sComponentsByVersionMap["1.18.0"][common.CoreDNSAutoscalerName],
},
},
},
{
@ -4118,7 +4144,6 @@ func TestSetAddonsConfig(t *testing.T) {
common.IPMASQAgentAddonName,
common.AzureCNINetworkMonitorAddonName,
common.AzureNetworkPolicyAddonName,
common.DNSAutoscalerAddonName,
common.CalicoAddonName,
common.AADPodIdentityAddonName,
common.AzurePolicyAddonName,
@ -4676,14 +4701,21 @@ func getDefaultAddons(version, kubernetesImageBase, kubernetesImageBaseType stri
Name: common.CoreDNSAddonName,
Enabled: to.BoolPtr(DefaultCoreDNSAddonEnabled),
Config: map[string]string{
"domain": "cluster.local",
"clusterIP": DefaultKubernetesDNSServiceIP,
"domain": "cluster.local",
"clusterIP": DefaultKubernetesDNSServiceIP,
"cores-per-replica": "512",
"nodes-per-replica": "32",
"min-replicas": "1",
},
Containers: []KubernetesContainerSpec{
{
Name: common.CoreDNSAddonName,
Image: imageBase + k8sComponentsByVersionMap[version][common.CoreDNSAddonName],
},
{
Name: common.CoreDNSAutoscalerName,
Image: k8sComponentsByVersionMap[version][common.CoreDNSAutoscalerName],
},
},
},
{

Просмотреть файл

@ -182,8 +182,6 @@ const (
GatekeeperContainerName = "gatekeeper"
// CloudNodeManagerAddonName is the name of the cloud node manager addon
CloudNodeManagerAddonName = "cloud-node-manager"
// DNSAutoscalerAddonName is the name of the dns-autoscaler addon
DNSAutoscalerAddonName = "dns-autoscaler"
// CalicoAddonName is the name of calico daemonset addon
CalicoAddonName = "calico-daemonset"
// CalicoTyphaComponentName is the name of calico-typha component
@ -238,6 +236,8 @@ const (
PauseComponentName = "pause"
// CoreDNSAddonName is the name of the coredns addon
CoreDNSAddonName = "coredns"
// CoreDNSAutoscalerName is the name of the coredns-autoscaler container in the coredns addon
CoreDNSAutoscalerName = "coredns-autoscaler"
// KubeProxyAddonName is the name of the kube-proxy config addon
KubeProxyAddonName = "kube-proxy"
// CiliumAddonName is the name of cilium daemonset addon

Просмотреть файл

@ -186,8 +186,6 @@ const (
DefaultNVIDIADevicePluginAddonEnabled = false
// DefaultContainerMonitoringAddonEnabled determines the aks-engine provided default for enabling kubernetes container monitoring addon
DefaultContainerMonitoringAddonEnabled = false
// DefaultDNSAutoscalerAddonEnabled determines the aks-engine provided default for dns-autoscaler addon
DefaultDNSAutoscalerAddonEnabled = false
// DefaultIPMasqAgentAddonEnabled enables the ip-masq-agent addon
DefaultIPMasqAgentAddonEnabled = true
// DefaultPrivateClusterEnabled determines the aks-engine provided default for enabling kubernetes Private Cluster

Просмотреть файл

@ -245,7 +245,6 @@ func TestAssignDefaultAddonImages(t *testing.T) {
common.ContainerMonitoringAddonName: "mcr.microsoft.com/azuremonitor/containerinsights/ciprod:ciprod03022020",
common.IPMASQAgentAddonName: specConfig.MCRKubernetesImageBase + k8sComponents[common.IPMASQAgentAddonName],
common.AzureCNINetworkMonitorAddonName: specConfig.AzureCNIImageBase + k8sComponents[common.AzureCNINetworkMonitorAddonName],
common.DNSAutoscalerAddonName: specConfig.MCRKubernetesImageBase + k8sComponents[common.DNSAutoscalerAddonName],
common.HeapsterAddonName: specConfig.MCRKubernetesImageBase + k8sComponents[common.HeapsterAddonName],
common.CalicoAddonName: specConfig.CalicoImageBase + k8sComponents[common.CalicoTyphaComponentName],
common.AzureNetworkPolicyAddonName: k8sComponents[common.AzureNetworkPolicyAddonName],

Просмотреть файл

@ -55,6 +55,7 @@ const (
tillerImageReference string = "oss/kubernetes/tiller:v2.13.1"
csiSecretsStoreProviderAzureImageReference string = "k8s/csi/secrets-store/provider-azure:0.0.4"
csiSecretsStoreDriverImageReference string = "k8s/csi/secrets-store/driver:v0.0.9"
clusterProportionalAutoscalerImageReference string = "mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler:1.7.1"
)
var kubernetesImageBaseDefaultImages = map[string]map[string]string{
@ -68,7 +69,6 @@ var kubernetesImageBaseDefaultImages = map[string]map[string]string{
common.DNSSidecarComponentName: "k8s-dns-sidecar-amd64:1.14.10",
common.ReschedulerAddonName: "rescheduler:v0.4.0",
common.IPMASQAgentAddonName: "ip-masq-agent-amd64:v2.5.0",
common.DNSAutoscalerAddonName: "cluster-proportional-autoscaler-amd64:1.1.1",
common.KubeProxyAddonName: "kube-proxy",
common.ControllerManagerComponentName: "kube-controller-manager",
common.APIServerComponentName: "kube-apiserver",
@ -85,7 +85,6 @@ var kubernetesImageBaseDefaultImages = map[string]map[string]string{
common.DNSSidecarComponentName: "oss/kubernetes/k8s-dns-sidecar:1.14.10",
common.ReschedulerAddonName: "oss/kubernetes/rescheduler:v0.4.0",
common.IPMASQAgentAddonName: "oss/kubernetes/ip-masq-agent:v2.5.0",
common.DNSAutoscalerAddonName: "oss/kubernetes/cluster-proportional-autoscaler:1.1.1",
common.KubeProxyAddonName: "oss/kubernetes/kube-proxy",
common.ControllerManagerComponentName: "oss/kubernetes/kube-controller-manager",
common.APIServerComponentName: "oss/kubernetes/kube-apiserver",
@ -409,6 +408,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -423,7 +423,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -489,6 +488,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -503,7 +503,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -569,6 +568,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -583,7 +583,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -647,6 +646,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -661,7 +661,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -724,6 +723,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -738,7 +738,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -799,6 +798,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -813,7 +813,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -874,6 +873,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -888,7 +888,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -949,6 +948,7 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -963,7 +963,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -1028,7 +1027,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -1093,7 +1091,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -1158,7 +1155,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -1220,7 +1216,6 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,

Просмотреть файл

@ -34,6 +34,7 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -48,7 +49,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -120,6 +120,7 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -134,7 +135,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -204,6 +204,7 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -218,7 +219,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CSIProvisionerContainerName: csiProvisionerImageReference,
common.CSIAttacherContainerName: csiAttacherImageReference,
@ -287,6 +287,7 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -302,7 +303,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CSIProvisionerContainerName: csiProvisionerImageReference,
common.CSIAttacherContainerName: csiAttacherImageReference,
@ -368,6 +368,7 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -383,7 +384,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CSIProvisionerContainerName: csiProvisionerImageReference,
common.CSIAttacherContainerName: csiAttacherImageReference,
@ -449,6 +449,7 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -464,7 +465,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CSIProvisionerContainerName: csiProvisionerImageReference,
common.CSIAttacherContainerName: csiAttacherImageReference,
@ -530,6 +530,7 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.HeapsterAddonName: getDefaultImage(common.HeapsterAddonName, kubernetesImageBaseType),
common.MetricsServerAddonName: k8sComponent[common.MetricsServerAddonName],
common.CoreDNSAddonName: getDefaultImage(common.CoreDNSAddonName, kubernetesImageBaseType),
common.CoreDNSAutoscalerName: clusterProportionalAutoscalerImageReference,
common.KubeDNSAddonName: getDefaultImage(common.KubeDNSAddonName, kubernetesImageBaseType),
common.AddonManagerComponentName: k8sComponent[common.AddonManagerComponentName],
common.DNSMasqComponentName: getDefaultImage(common.DNSMasqComponentName, kubernetesImageBaseType),
@ -545,7 +546,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -616,7 +616,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -687,7 +686,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -757,7 +755,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -825,7 +822,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,
@ -932,7 +928,6 @@ func TestGetK8sVersionComponents(t *testing.T) {
common.SMBFlexVolumeAddonName: smbFlexVolumeImageReference,
common.KeyVaultFlexVolumeAddonName: keyvaultFlexVolumeImageReference,
common.IPMASQAgentAddonName: getDefaultImage(common.IPMASQAgentAddonName, kubernetesImageBaseType),
common.DNSAutoscalerAddonName: getDefaultImage(common.DNSAutoscalerAddonName, kubernetesImageBaseType),
common.AzureNetworkPolicyAddonName: azureNPMContainerImageReference,
common.CalicoTyphaComponentName: calicoTyphaImageReference,
common.CalicoCNIComponentName: calicoCNIImageReference,

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -155,11 +155,6 @@ func kubernetesAddonSettingsInit(p *api.Properties) map[string]kubernetesCompone
base64Data: k.GetAddonScript(common.AzureCNINetworkMonitorAddonName),
destinationFile: azureCNINetworkMonitorAddonDestinationFilename,
},
common.DNSAutoscalerAddonName: {
sourceFile: dnsAutoscalerAddonSourceFilename,
base64Data: k.GetAddonScript(common.DNSAutoscalerAddonName),
destinationFile: dnsAutoscalerAddonDestinationFilename,
},
common.CalicoAddonName: {
sourceFile: calicoAddonSourceFilename,
base64Data: k.GetAddonScript(common.CalicoAddonName),

Просмотреть файл

@ -130,10 +130,6 @@ func TestKubernetesAddonSettingsInit(t *testing.T) {
Name: common.AzureCNINetworkMonitorAddonName,
Data: base64Data,
},
{
Name: common.DNSAutoscalerAddonName,
Data: base64Data,
},
{
Name: common.CalicoAddonName,
Data: base64Data,
@ -287,11 +283,6 @@ func TestKubernetesAddonSettingsInit(t *testing.T) {
base64Data: base64Data,
destinationFile: azureCNINetworkMonitorAddonDestinationFilename,
},
expectedDNSAutoscaler: kubernetesComponentFileSpec{
sourceFile: dnsAutoscalerAddonSourceFilename,
base64Data: base64Data,
destinationFile: dnsAutoscalerAddonDestinationFilename,
},
expectedCalico: kubernetesComponentFileSpec{
sourceFile: calicoAddonSourceFilename,
base64Data: base64Data,
@ -432,9 +423,6 @@ func TestKubernetesAddonSettingsInit(t *testing.T) {
{
Name: common.AzureCNINetworkMonitorAddonName,
},
{
Name: common.DNSAutoscalerAddonName,
},
{
Name: common.CalicoAddonName,
},
@ -572,11 +560,6 @@ func TestKubernetesAddonSettingsInit(t *testing.T) {
base64Data: "",
destinationFile: azureCNINetworkMonitorAddonDestinationFilename,
},
expectedDNSAutoscaler: kubernetesComponentFileSpec{
sourceFile: dnsAutoscalerAddonSourceFilename,
base64Data: "",
destinationFile: dnsAutoscalerAddonDestinationFilename,
},
expectedCalico: kubernetesComponentFileSpec{
sourceFile: calicoAddonSourceFilename,
base64Data: "",
@ -746,11 +729,6 @@ func TestKubernetesAddonSettingsInit(t *testing.T) {
base64Data: "",
destinationFile: azureCNINetworkMonitorAddonDestinationFilename,
},
expectedDNSAutoscaler: kubernetesComponentFileSpec{
sourceFile: dnsAutoscalerAddonSourceFilename,
base64Data: "",
destinationFile: dnsAutoscalerAddonDestinationFilename,
},
expectedCalico: kubernetesComponentFileSpec{
sourceFile: calicoAddonSourceFilename,
base64Data: "",
@ -1011,16 +989,6 @@ func TestKubernetesAddonSettingsInit(t *testing.T) {
if c.expectedAzureCNINetworkMonitor.destinationFile != componentFileSpec[addon].destinationFile {
t.Fatalf("Expected %s to be %s", componentFileSpec[addon].destinationFile, c.expectedAzureCNINetworkMonitor.destinationFile)
}
case common.DNSAutoscalerAddonName:
if c.expectedDNSAutoscaler.sourceFile != componentFileSpec[addon].sourceFile {
t.Fatalf("Expected %s to be %s", componentFileSpec[addon].sourceFile, c.expectedDNSAutoscaler.sourceFile)
}
if c.expectedDNSAutoscaler.base64Data != componentFileSpec[addon].base64Data {
t.Fatalf("Expected %s to be %s", componentFileSpec[addon].base64Data, c.expectedDNSAutoscaler.base64Data)
}
if c.expectedDNSAutoscaler.destinationFile != componentFileSpec[addon].destinationFile {
t.Fatalf("Expected %s to be %s", componentFileSpec[addon].destinationFile, c.expectedDNSAutoscaler.destinationFile)
}
case common.CalicoAddonName:
if c.expectedCalico.sourceFile != componentFileSpec[addon].sourceFile {
t.Fatalf("Expected %s to be %s", componentFileSpec[addon].sourceFile, c.expectedCalico.sourceFile)

Просмотреть файл

@ -229,8 +229,6 @@ const (
ipMasqAgentAddonDestinationFilename string = "ip-masq-agent.yaml"
azureCNINetworkMonitorAddonSourceFilename string = "azure-cni-networkmonitor.yaml"
azureCNINetworkMonitorAddonDestinationFilename string = "azure-cni-networkmonitor.yaml"
dnsAutoscalerAddonSourceFilename string = "dns-autoscaler.yaml"
dnsAutoscalerAddonDestinationFilename string = "dns-autoscaler.yaml"
calicoAddonSourceFilename string = "kubernetesmasteraddons-calico-daemonset.yaml"
calicoAddonDestinationFilename string = "calico-daemonset.yaml"
azureNetworkPolicyAddonSourceFilename string = "kubernetesmasteraddons-azure-npm-daemonset.yaml"

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -140,7 +140,6 @@
// ../../parts/k8s/addons/azure-cni-networkmonitor.yaml
// ../../parts/k8s/addons/azure-policy-deployment.yaml
// ../../parts/k8s/addons/coredns.yaml
// ../../parts/k8s/addons/dns-autoscaler.yaml
// ../../parts/k8s/addons/ip-masq-agent.yaml
// ../../parts/k8s/addons/kubernetesmaster-audit-policy.yaml
// ../../parts/k8s/addons/kubernetesmasteraddons-aad-default-admin-group-rbac.yaml
@ -29479,14 +29478,14 @@ metadata:
namespace: kube-system
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
kubernetes.io/bootstrapping: rbac-defaults
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
name: system:coredns
rules:
- apiGroups:
@ -29530,7 +29529,7 @@ metadata:
name: coredns
namespace: kube-system
labels:
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
data:
Corefile: |
import conf.d/Corefile*
@ -29558,7 +29557,7 @@ metadata:
name: coredns-custom
namespace: kube-system
labels:
addonmanager.kubernetes.io/mode: EnsureExists
addonmanager.kubernetes.io/mode: EnsureExists
data:
Corefile: |
# Add custom CoreDNS configuration here.
@ -29575,7 +29574,7 @@ metadata:
k8s-app: kube-dns
kubernetes.io/name: "CoreDNS"
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
spec:
{{- /* replicas: not specified here:
1. In order to make Addon Manager do not reconcile this replicas parameter.
@ -29713,7 +29712,7 @@ metadata:
k8s-app: kube-dns
kubernetes.io/cluster-service: "true"
kubernetes.io/name: CoreDNS
addonmanager.kubernetes.io/mode: Reconcile
addonmanager.kubernetes.io/mode: EnsureExists
spec:
selector:
k8s-app: kube-dns
@ -29728,6 +29727,87 @@ spec:
- name: metrics
port: 9153
protocol: TCP
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: coredns-autoscaler
namespace: kube-system
labels:
k8s-addon: coredns.addons.k8s.io
addonmanager.kubernetes.io/mode: EnsureExists
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
k8s-addon: coredns.addons.k8s.io
addonmanager.kubernetes.io/mode: EnsureExists
name: coredns-autoscaler
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list","watch"]
- apiGroups: [""]
resources: ["replicationcontrollers/scale"]
verbs: ["get", "update"]
- apiGroups: ["extensions", "apps"]
resources: ["deployments/scale", "replicasets/scale"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
k8s-addon: coredns.addons.k8s.io
addonmanager.kubernetes.io/mode: EnsureExists
name: coredns-autoscaler
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: coredns-autoscaler
subjects:
- kind: ServiceAccount
name: coredns-autoscaler
namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: coredns-autoscaler
namespace: kube-system
labels:
k8s-app: coredns-autoscaler
addonmanager.kubernetes.io/mode: EnsureExists
spec:
selector:
matchLabels:
k8s-app: coredns-autoscaler
template:
metadata:
labels:
k8s-app: coredns-autoscaler
spec:
containers:
- name: autoscaler
image: {{ContainerImage "coredns-autoscaler"}}
resources:
requests:
cpu: 20m
memory: 10Mi
command:
- /cluster-proportional-autoscaler
- --namespace=kube-system
- --configmap=coredns-autoscaler
- --target=Deployment/coredns
- --default-params={"linear":{"coresPerReplica":{{ContainerConfig "cores-per-replica"}},"nodesPerReplica":{{ContainerConfig "nodes-per-replica"}},"min":{{ContainerConfig "min-replicas"}}}}
- --logtostderr=true
- --v=2
serviceAccount: coredns-autoscaler
serviceAccountName: coredns-autoscaler
`)
func k8sAddonsCorednsYamlBytes() ([]byte, error) {
@ -29745,58 +29825,6 @@ func k8sAddonsCorednsYaml() (*asset, error) {
return a, nil
}
var _k8sAddonsDnsAutoscalerYaml = []byte(`apiVersion: apps/v1
kind: Deployment
metadata:
name: dns-autoscaler
namespace: kube-system
labels:
k8s-app: dns-autoscaler
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
spec:
selector:
matchLabels:
k8s-app: dns-autoscaler
template:
metadata:
labels:
k8s-app: dns-autoscaler
spec:
containers:
- name: autoscaler
image: {{ContainerImage "dns-autoscaler"}}
resources:
requests:
cpu: {{ContainerCPUReqs "dns-autoscaler"}}
memory: {{ContainerMemReqs "dns-autoscaler"}}
command:
- /cluster-proportional-autoscaler
- --namespace=kube-system
- --configmap=dns-autoscaler
- --target=Deployment/coredns
{{- /* When cluster is using large nodes(with more cores), "coresPerReplica" should dominate.
If using small nodes, "nodesPerReplica" should dominate. */}}
- --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"min":1}}
- --logtostderr=true
- --v=2
`)
func k8sAddonsDnsAutoscalerYamlBytes() ([]byte, error) {
return _k8sAddonsDnsAutoscalerYaml, nil
}
func k8sAddonsDnsAutoscalerYaml() (*asset, error) {
bytes, err := k8sAddonsDnsAutoscalerYamlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "k8s/addons/dns-autoscaler.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _k8sAddonsIpMasqAgentYaml = []byte(`apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
@ -48109,7 +48137,6 @@ var _bindata = map[string]func() (*asset, error){
"k8s/addons/azure-cni-networkmonitor.yaml": k8sAddonsAzureCniNetworkmonitorYaml,
"k8s/addons/azure-policy-deployment.yaml": k8sAddonsAzurePolicyDeploymentYaml,
"k8s/addons/coredns.yaml": k8sAddonsCorednsYaml,
"k8s/addons/dns-autoscaler.yaml": k8sAddonsDnsAutoscalerYaml,
"k8s/addons/ip-masq-agent.yaml": k8sAddonsIpMasqAgentYaml,
"k8s/addons/kubernetesmaster-audit-policy.yaml": k8sAddonsKubernetesmasterAuditPolicyYaml,
"k8s/addons/kubernetesmasteraddons-aad-default-admin-group-rbac.yaml": k8sAddonsKubernetesmasteraddonsAadDefaultAdminGroupRbacYaml,
@ -48419,7 +48446,6 @@ var _bintree = &bintree{nil, map[string]*bintree{
"azure-cni-networkmonitor.yaml": {k8sAddonsAzureCniNetworkmonitorYaml, map[string]*bintree{}},
"azure-policy-deployment.yaml": {k8sAddonsAzurePolicyDeploymentYaml, map[string]*bintree{}},
"coredns.yaml": {k8sAddonsCorednsYaml, map[string]*bintree{}},
"dns-autoscaler.yaml": {k8sAddonsDnsAutoscalerYaml, map[string]*bintree{}},
"ip-masq-agent.yaml": {k8sAddonsIpMasqAgentYaml, map[string]*bintree{}},
"kubernetesmaster-audit-policy.yaml": {k8sAddonsKubernetesmasterAuditPolicyYaml, map[string]*bintree{}},
"kubernetesmasteraddons-aad-default-admin-group-rbac.yaml": {k8sAddonsKubernetesmasteraddonsAadDefaultAdminGroupRbacYaml, map[string]*bintree{}},

Просмотреть файл

@ -244,18 +244,6 @@
"non-masq-cni-cidr": "168.63.129.16/32",
"non-masquerade-cidr": "10.0.0.0/8"
}
},
{
"name": "dns-autoscaler",
"enabled": false,
"containers": [
{
"name": "dns-autoscaler",
"image": "k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.1.1",
"cpuRequests": "20m",
"memoryRequests": "10Mi"
}
]
}
],
"kubeletConfig": {

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -1963,7 +1963,25 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu
})
It("should be able to autoscale", func() {
var numCoreDNSPods int
var testCoreDNSScaleOut bool
if eng.AnyAgentIsLinux() && eng.ExpandedDefinition.Properties.OrchestratorProfile.KubernetesConfig.EnableAggregatedAPIs {
numNodes, err := node.GetWithRetry(1*time.Second, cfg.Timeout)
Expect(err).NotTo(HaveOccurred())
if hasAddon, addon := eng.HasAddon("coredns"); hasAddon {
nodesPerReplica, _ := strconv.Atoi(addon.Config["nodes-per-replica"])
minReplicas, _ := strconv.Atoi(addon.Config["min-replicas"])
if nodesPerReplica >= (len(numNodes) * minReplicas) {
testCoreDNSScaleOut = true
By("Getting the number of coredns pods prior to scaling out")
d, err := deployment.GetWithRetry("coredns", "kube-system", 5*time.Second, cfg.Timeout)
Expect(err).NotTo(HaveOccurred())
pods, err := d.PodsRunning()
Expect(err).NotTo(HaveOccurred())
numCoreDNSPods = len(pods)
log.Printf("%d coredns pods before scaling out\n", numCoreDNSPods)
}
}
// Inspired by http://blog.kubernetes.io/2016/07/autoscaling-in-kubernetes.html
r := rand.New(rand.NewSource(time.Now().UnixNano()))
By("Creating a php-apache deployment")
@ -2039,6 +2057,20 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu
By("Ensuring at least one more node was added by cluster-autoscaler")
ready := node.WaitOnReadyMin(eng.NodeCount()+1, 10*time.Second, cfg.Timeout)
Expect(ready).To(BeTrue())
if testCoreDNSScaleOut {
By("Ensuring at least one more coredns pod was added by coredns-autoscaler")
d, err := deployment.GetWithRetry("coredns", "kube-system", 5*time.Second, cfg.Timeout)
Expect(err).NotTo(HaveOccurred())
_, err = d.WaitForReplicas(numCoreDNSPods+1, -1, 5*time.Second, cfg.Timeout)
if err != nil {
pod.PrintPodsLogs("coredns-autoscaler", "kube-system", 5*time.Second, 1*time.Minute)
}
Expect(err).NotTo(HaveOccurred())
pods, err := d.PodsRunning()
log.Printf("%d coredns pods after scaling out\n", len(pods))
Expect(err).NotTo(HaveOccurred())
Expect(len(pods) > numCoreDNSPods).To(BeTrue())
}
}
By("Stopping load")

Просмотреть файл

@ -496,6 +496,15 @@ for CSI_SECRETS_STORE_DRIVER_VERSION in ${CSI_SECRETS_STORE_DRIVER_VERSIONS}; do
echo " - ${CONTAINER_IMAGE}" >> ${VHD_LOGS_FILEPATH}
done
CLUSTER_PROPORTIONAL_AUTOSCALER_VERSIONS="
1.7.1
"
for CLUSTER_PROPORTIONAL_AUTOSCALER_VERSION in ${CLUSTER_PROPORTIONAL_AUTOSCALER_VERSIONS}; do
CONTAINER_IMAGE="mcr.microsoft.com/oss/kubernetes/autoscaler/cluster-proportional-autoscaler:${CLUSTER_PROPORTIONAL_AUTOSCALER_VERSION}"
pullContainerImage "docker" ${CONTAINER_IMAGE}
echo " - ${CONTAINER_IMAGE}" >> ${VHD_LOGS_FILEPATH}
done
# This is to accommodate air-gapped environments, e.g., Azure Stack
CONTAINER_IMAGE="registry:2.7.1"
pullContainerImage "docker" ${CONTAINER_IMAGE}