func assignKubernetesParametersfromKubernetesConfig()

in pkg/agent/params.go [105:177]


func assignKubernetesParametersfromKubernetesConfig(properties *datamodel.Properties, parametersMap paramsMap,
	cloudSpecConfig *datamodel.AzureEnvironmentSpecConfig,
	k8sComponents *datamodel.K8sComponents,
	config *datamodel.NodeBootstrappingConfiguration) {
	orchestratorProfile := properties.OrchestratorProfile

	if !orchestratorProfile.IsKubernetes() {
		return
	}

	k8sVersion := orchestratorProfile.OrchestratorVersion
	addValue(parametersMap, "kubernetesVersion", k8sVersion)

	kubernetesConfig := orchestratorProfile.KubernetesConfig

	if kubernetesConfig == nil {
		return
	}

	if kubernetesConfig.CustomKubeProxyImage != "" {
		// kubernetesConfig.CustomKubeProxyImage is ap level property, AKS default CustomKubeProxyImage
		// is 'multi-arch', no need to differentiate amd64/arm64 ap
		addValue(parametersMap, "kubeProxySpec", kubernetesConfig.CustomKubeProxyImage)
	}

	if kubernetesConfig.CustomKubeBinaryURL != "" {
		// kubernetesConfig.CustomKubeBinaryURL is ap level property, CustomKubeBinaryURL is
		// set to different for amd64/arm64 ap in RP side.
		addValue(parametersMap, "kubeBinaryURL", kubernetesConfig.CustomKubeBinaryURL)
	}

	addValue(parametersMap, "kubernetesHyperkubeSpec", k8sComponents.HyperkubeImageURL)

	addValue(parametersMap, "kubeDNSServiceIP", kubernetesConfig.DNSServiceIP)
	addValue(parametersMap, "cloudproviderConfig", paramsMap{
		"cloudProviderBackoffMode":          kubernetesConfig.CloudProviderBackoffMode,
		"cloudProviderBackoff":              kubernetesConfig.CloudProviderBackoff,
		"cloudProviderBackoffRetries":       kubernetesConfig.CloudProviderBackoffRetries,
		"cloudProviderBackoffJitter":        strconv.FormatFloat(kubernetesConfig.CloudProviderBackoffJitter, 'f', -1, 64),
		"cloudProviderBackoffDuration":      kubernetesConfig.CloudProviderBackoffDuration,
		"cloudProviderBackoffExponent":      strconv.FormatFloat(kubernetesConfig.CloudProviderBackoffExponent, 'f', -1, 64),
		"cloudProviderRateLimit":            kubernetesConfig.CloudProviderRateLimit,
		"cloudProviderRateLimitQPS":         strconv.FormatFloat(kubernetesConfig.CloudProviderRateLimitQPS, 'f', -1, 64),
		"cloudProviderRateLimitQPSWrite":    strconv.FormatFloat(kubernetesConfig.CloudProviderRateLimitQPSWrite, 'f', -1, 64),
		"cloudProviderRateLimitBucket":      kubernetesConfig.CloudProviderRateLimitBucket,
		"cloudProviderRateLimitBucketWrite": kubernetesConfig.CloudProviderRateLimitBucketWrite,
		"cloudProviderDisableOutboundSNAT":  kubernetesConfig.CloudProviderDisableOutboundSNAT,
	})
	addValue(parametersMap, "kubeClusterCidr", kubernetesConfig.ClusterSubnet)
	addValue(parametersMap, "dockerBridgeCidr", kubernetesConfig.DockerBridgeSubnet)
	addValue(parametersMap, "networkPolicy", kubernetesConfig.NetworkPolicy)
	addValue(parametersMap, "networkPlugin", kubernetesConfig.NetworkPlugin)
	addValue(parametersMap, "networkMode", kubernetesConfig.NetworkMode)
	addValue(parametersMap, "containerRuntime", kubernetesConfig.ContainerRuntime)
	addValue(parametersMap, "containerdDownloadURLBase", cloudSpecConfig.KubernetesSpecConfig.ContainerdDownloadURLBase)
	if config.IsARM64 {
		addValue(parametersMap, "vnetCniLinuxPluginsURL", kubernetesConfig.GetAzureCNIURLARM64Linux(cloudSpecConfig))
	} else {
		addValue(parametersMap, "vnetCniLinuxPluginsURL", kubernetesConfig.GetAzureCNIURLLinux(cloudSpecConfig))
	}
	addValue(parametersMap, "vnetCniWindowsPluginsURL", kubernetesConfig.GetAzureCNIURLWindows(cloudSpecConfig))
	addValue(parametersMap, "linuxCredentialProviderURL", k8sComponents.LinuxCredentialProviderURL)

	if properties.HasWindows() {
		addValue(parametersMap, "kubeBinariesSASURL", k8sComponents.WindowsPackageURL)
		addValue(parametersMap, "windowsContainerdURL", kubernetesConfig.WindowsContainerdURL)
		addValue(parametersMap, "kubeServiceCidr", kubernetesConfig.ServiceCIDR)
		addValue(parametersMap, "kubeBinariesVersion", k8sVersion)
		addValue(parametersMap, "windowsTelemetryGUID", cloudSpecConfig.KubernetesSpecConfig.WindowsTelemetryGUID)
		addValue(parametersMap, "windowsSdnPluginURL", kubernetesConfig.WindowsSdnPluginURL)
		addValue(parametersMap, "windowsCredentialProviderURL", k8sComponents.WindowsCredentialProviderURL)
	}
}