diff --git a/cluster/addons/metrics-server/metrics-server-deployment.yaml b/cluster/addons/metrics-server/metrics-server-deployment.yaml index b495018f195..b3b0127afb4 100644 --- a/cluster/addons/metrics-server/metrics-server-deployment.yaml +++ b/cluster/addons/metrics-server/metrics-server-deployment.yaml @@ -58,7 +58,7 @@ spec: name: https protocol: TCP - name: metrics-server-nanny - image: k8s.gcr.io/addon-resizer:1.8.2 + image: k8s.gcr.io/addon-resizer:1.8.3 resources: limits: cpu: 100m @@ -81,15 +81,18 @@ spec: command: - /pod_nanny - --config-dir=/etc/config - - --cpu=40m + - --cpu={{ base_metrics_server_cpu }} - --extra-cpu=0.5m - - --memory=40Mi - - --extra-memory=4Mi + - --memory={{ base_metrics_server_memory }} + - --extra-memory={{ metrics_server_memory_per_node }}Mi - --threshold=5 - --deployment=metrics-server-v0.2.1 - --container=metrics-server - --poll-period=300000 - --estimator=exponential + # Specifies the smallest cluster (defined in number of nodes) + # resources will be scaled to. + - --minClusterSize={{ metrics_server_min_cluster_size }} volumes: - name: metrics-server-config-volume configMap: diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 6f8a4549c76..9248f8dafa5 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -2401,6 +2401,21 @@ EOF fi if [[ "${ENABLE_METRICS_SERVER:-}" == "true" ]]; then setup-addon-manifests "addons" "metrics-server" + base_metrics_server_cpu="40m" + base_metrics_server_memory="40Mi" + metrics_server_memory_per_node="4" + metrics_server_min_cluster_size="16" + if [[ "${ENABLE_SYSTEM_ADDON_RESOURCE_OPTIMIZATIONS:-}" == "true" ]]; then + base_metrics_server_cpu="5m" + base_metrics_server_memory="35Mi" + metrics_server_memory_per_node="4" + metrics_server_min_cluster_size="5" + fi + local -r metrics_server_yaml="${dst_dir}/metrics-server/metrics-server-deployment.yaml" + sed -i -e "s@{{ base_metrics_server_cpu }}@${base_metrics_server_cpu}@g" "${metrics_server_yaml}" + sed -i -e "s@{{ base_metrics_server_memory }}@${base_metrics_server_memory}@g" "${metrics_server_yaml}" + sed -i -e "s@{{ metrics_server_memory_per_node }}@${metrics_server_memory_per_node}@g" "${metrics_server_yaml}" + sed -i -e "s@{{ metrics_server_min_cluster_size }}@${metrics_server_min_cluster_size}@g" "${metrics_server_yaml}" fi if [[ "${ENABLE_NVIDIA_GPU_DEVICE_PLUGIN:-}" == "true" ]]; then setup-addon-manifests "addons" "device-plugins/nvidia-gpu"