Skip to content
This repository has been archived by the owner on Oct 24, 2023. It is now read-only.

chore: default to large cluster settings on Azure Stack #2832

Merged
merged 1 commit into from
Mar 4, 2020

Conversation

jadarsie
Copy link
Member

@jadarsie jadarsie commented Mar 4, 2020

Reason for Change:
Default AKSe settings do not play well with Azure Stack limits. This PR changes defaults for Azure Stack to reduce the load to ARM.

Requirements:

@jadarsie jadarsie requested review from honcao and rjaini March 4, 2020 00:12
@codecov
Copy link

codecov bot commented Mar 4, 2020

Codecov Report

Merging #2832 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2832      +/-   ##
==========================================
+ Coverage   72.44%   72.47%   +0.02%     
==========================================
  Files         140      140              
  Lines       25562    25589      +27     
==========================================
+ Hits        18518    18545      +27     
  Misses       5976     5976              
  Partials     1068     1068

DefaultAzureStackKubernetesNodeStatusUpdateFrequency = "1m"
DefaultAzureStackKubernetesCtrlMgrRouteReconciliationPeriod = "1m"
DefaultAzureStackKubernetesCtrlMgrNodeMonitorGracePeriod = "5m"
DefaultAzureStackKubernetesCtrlMgrPodEvictionTimeout = "1m"
Copy link
Contributor

@rjaini rjaini Mar 4, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Today default value is "--pod-eviction-timeout=5m0s". Lets better check why is that value ?. Before make it to 1m.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DefaultKubernetesCtrlMgrPodEvictionTimeout = "5m0s"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, it aligns with the large clusters guideline

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs is for all K8s version. New behavior is different from 1.14 which is officially supported on Azure Stack Hub.
We should check once with Jack if we need to update the large cluster guideline page. As it might be stale and may need some updates.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jackfrancis is the guideline stale?

// Azure Stack configures all clusters as if they were large clusters.
const (
DefaultAzureStackKubernetesCloudProviderBackoffRetries = 6
DefaultAzureStackKubernetesCloudProviderBackoffJitter = 1.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Defaults for 1.14.0 onward for cloudProviderBackoffMode is v2

| cloudProviderBackoffMode | no | Which version of the Azure cloudprovider backoff implementation to use: the options are `"v1"` or `"v2"` (Kubernetes v1.14.0 or greater only). `"v2"` is a more recent backoff implementation which better honors Azure API HTTP headers to align backoff timings with the Azure API. Defaults to `"v2"` for Kubernetes v1.14.0 and greater, and `"v1"` for earlier versions of Kubernetes. |

Hence based on Azure Cloud provider code CloudProviderBackoffExponent and CloudProviderBackoffJitter is not needed to be set as it is no op.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rather keep both Azure and Azure Stack flows consistent.
Worst case seems to be a warning in the logs.

@@ -267,7 +267,7 @@ func (cs *ContainerService) setOrchestratorDefaults(isUpgrade, isScale bool) {
}

// Enforce sane cloudprovider backoff defaults.
o.KubernetesConfig.SetCloudProviderBackoffDefaults()
a.SetCloudProviderBackoffDefaults()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes, the eminently significant a variable.

Copy link
Member

@jackfrancis jackfrancis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants