зеркало из https://github.com/Azure/aks-engine.git
feat: coredns-autoscaler (#3067)
This commit is contained in:
Родитель
3cb01053b0
Коммит
543083cda8
|
@ -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*
|
||||
|
@ -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),
|
||||
|
@ -671,12 +657,19 @@ func (cs *ContainerService) setAddonsConfig(isUpgrade bool) {
|
|||
Config: map[string]string{
|
||||
"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{
|
||||
|
@ -2084,12 +2043,19 @@ func TestSetAddonsConfig(t *testing.T) {
|
|||
Config: map[string]string{
|
||||
"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{
|
||||
|
@ -3785,12 +3804,19 @@ func TestSetAddonsConfig(t *testing.T) {
|
|||
"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,
|
||||
|
@ -4678,12 +4703,19 @@ func getDefaultAddons(version, kubernetesImageBase, kubernetesImageBaseType stri
|
|||
Config: map[string]string{
|
||||
"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*
|
||||
|
@ -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}
|
||||
|
|
Загрузка…
Ссылка в новой задаче