зеркало из https://github.com/Azure/acs-engine.git
Migrating Get Addon By Name and Get Container Index By Name methods (#3938)
This commit is contained in:
Родитель
bec4fef015
Коммит
7ce5b57c64
|
@ -240,22 +240,13 @@ func getAddonsIndexByName(addons []api.KubernetesAddon, name string) int {
|
|||
return -1
|
||||
}
|
||||
|
||||
func getAddonContainersIndexByName(containers []api.KubernetesContainerSpec, name string) int {
|
||||
for i := range containers {
|
||||
if containers[i].Name == name {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
// assignDefaultAddonVals will assign default values to addon from defaults, for each property in addon that has a zero value
|
||||
func assignDefaultAddonVals(addon, defaults api.KubernetesAddon) api.KubernetesAddon {
|
||||
if addon.Enabled == nil {
|
||||
addon.Enabled = defaults.Enabled
|
||||
}
|
||||
for i := range defaults.Containers {
|
||||
c := getAddonContainersIndexByName(addon.Containers, defaults.Containers[i].Name)
|
||||
c := addon.GetAddonContainersIndexByName(defaults.Containers[i].Name)
|
||||
if c < 0 {
|
||||
addon.Containers = append(addon.Containers, defaults.Containers[i])
|
||||
} else {
|
||||
|
|
|
@ -180,19 +180,6 @@ func TestAddonsIndexByName(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestGetAddonContainersIndexByName(t *testing.T) {
|
||||
addonName := "testaddon"
|
||||
containers := getMockAddon(addonName).Containers
|
||||
i := getAddonContainersIndexByName(containers, addonName)
|
||||
if i != 0 {
|
||||
t.Fatalf("getAddonContainersIndexByName() did not return the expected index value 0, instead returned: %d", i)
|
||||
}
|
||||
i = getAddonContainersIndexByName(containers, "nonExistentContainerName")
|
||||
if i != -1 {
|
||||
t.Fatalf("getAddonContainersIndexByName() did not return the expected index value 0, instead returned: %d", i)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAssignDefaultAddonVals(t *testing.T) {
|
||||
addonName := "testaddon"
|
||||
customCPURequests := "60m"
|
||||
|
|
|
@ -1172,12 +1172,3 @@ func stringInSlice(a string, list []string) bool {
|
|||
func getSwarmVersions(orchestratorVersion, dockerComposeVersion string) string {
|
||||
return fmt.Sprintf("\"orchestratorVersion\": \"%s\",\n\"dockerComposeVersion\": \"%s\",\n", orchestratorVersion, dockerComposeVersion)
|
||||
}
|
||||
|
||||
func getAddonByName(addons []api.KubernetesAddon, name string) api.KubernetesAddon {
|
||||
for i := range addons {
|
||||
if addons[i].Name == name {
|
||||
return addons[i]
|
||||
}
|
||||
}
|
||||
return api.KubernetesAddon{}
|
||||
}
|
||||
|
|
|
@ -14,29 +14,34 @@ import (
|
|||
func assignKubernetesParameters(properties *api.Properties, parametersMap paramsMap,
|
||||
cloudSpecConfig AzureEnvironmentSpecConfig, generatorCode string) {
|
||||
addValue(parametersMap, "generatorCode", generatorCode)
|
||||
if properties.OrchestratorProfile.IsKubernetes() ||
|
||||
properties.OrchestratorProfile.IsOpenShift() {
|
||||
k8sVersion := properties.OrchestratorProfile.OrchestratorVersion
|
||||
|
||||
orchestratorProfile := properties.OrchestratorProfile
|
||||
|
||||
if orchestratorProfile.IsKubernetes() ||
|
||||
orchestratorProfile.IsOpenShift() {
|
||||
k8sVersion := orchestratorProfile.OrchestratorVersion
|
||||
|
||||
dockerEngineVersion := KubeConfigs[k8sVersion]["dockerEngineVersion"]
|
||||
|
||||
if properties.OrchestratorProfile.KubernetesConfig != nil {
|
||||
if helpers.IsTrueBoolPointer(properties.OrchestratorProfile.KubernetesConfig.UseCloudControllerManager) {
|
||||
kubernetesCcmSpec := properties.OrchestratorProfile.KubernetesConfig.KubernetesImageBase + KubeConfigs[k8sVersion]["ccm"]
|
||||
if properties.OrchestratorProfile.KubernetesConfig.CustomCcmImage != "" {
|
||||
kubernetesCcmSpec = properties.OrchestratorProfile.KubernetesConfig.CustomCcmImage
|
||||
kubernetesConfig := orchestratorProfile.KubernetesConfig
|
||||
|
||||
if kubernetesConfig != nil {
|
||||
if helpers.IsTrueBoolPointer(kubernetesConfig.UseCloudControllerManager) {
|
||||
kubernetesCcmSpec := kubernetesConfig.KubernetesImageBase + KubeConfigs[k8sVersion]["ccm"]
|
||||
if kubernetesConfig.CustomCcmImage != "" {
|
||||
kubernetesCcmSpec = kubernetesConfig.CustomCcmImage
|
||||
}
|
||||
|
||||
addValue(parametersMap, "kubernetesCcmImageSpec", kubernetesCcmSpec)
|
||||
}
|
||||
|
||||
kubernetesHyperkubeSpec := properties.OrchestratorProfile.KubernetesConfig.KubernetesImageBase + KubeConfigs[k8sVersion]["hyperkube"]
|
||||
if properties.OrchestratorProfile.KubernetesConfig.CustomHyperkubeImage != "" {
|
||||
kubernetesHyperkubeSpec = properties.OrchestratorProfile.KubernetesConfig.CustomHyperkubeImage
|
||||
kubernetesHyperkubeSpec := kubernetesConfig.KubernetesImageBase + KubeConfigs[k8sVersion]["hyperkube"]
|
||||
if kubernetesConfig.CustomHyperkubeImage != "" {
|
||||
kubernetesHyperkubeSpec = kubernetesConfig.CustomHyperkubeImage
|
||||
}
|
||||
|
||||
addValue(parametersMap, "kubeDNSServiceIP", properties.OrchestratorProfile.KubernetesConfig.DNSServiceIP)
|
||||
addValue(parametersMap, "kubeServiceCidr", properties.OrchestratorProfile.KubernetesConfig.ServiceCIDR)
|
||||
addValue(parametersMap, "kubeDNSServiceIP", kubernetesConfig.DNSServiceIP)
|
||||
addValue(parametersMap, "kubeServiceCidr", kubernetesConfig.ServiceCIDR)
|
||||
addValue(parametersMap, "kubernetesHyperkubeSpec", kubernetesHyperkubeSpec)
|
||||
addValue(parametersMap, "kubernetesAddonManagerSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["addonmanager"])
|
||||
addValue(parametersMap, "kubernetesAddonResizerSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["addonresizer"])
|
||||
|
@ -44,9 +49,9 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
addValue(parametersMap, "kubernetesExecHealthzSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["exechealthz"])
|
||||
addValue(parametersMap, "kubernetesDNSSidecarSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["k8s-dns-sidecar"])
|
||||
addValue(parametersMap, "kubernetesHeapsterSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["heapster"])
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsTillerEnabled() {
|
||||
tillerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultTillerAddonName)
|
||||
c := getAddonContainersIndexByName(tillerAddon.Containers, DefaultTillerAddonName)
|
||||
if kubernetesConfig.IsTillerEnabled() {
|
||||
tillerAddon := kubernetesConfig.GetAddonByName(DefaultTillerAddonName)
|
||||
c := tillerAddon.GetAddonContainersIndexByName(DefaultTillerAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesTillerCPURequests", tillerAddon.Containers[c].CPURequests)
|
||||
addValue(parametersMap, "kubernetesTillerCPULimit", tillerAddon.Containers[c].CPULimits)
|
||||
|
@ -60,16 +65,16 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
}
|
||||
}
|
||||
}
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsAADPodIdentityEnabled() {
|
||||
aadPodIdentityAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultAADPodIdentityAddonName)
|
||||
c := getAddonContainersIndexByName(aadPodIdentityAddon.Containers, DefaultAADPodIdentityAddonName)
|
||||
if kubernetesConfig.IsAADPodIdentityEnabled() {
|
||||
aadPodIdentityAddon := kubernetesConfig.GetAddonByName(DefaultAADPodIdentityAddonName)
|
||||
c := aadPodIdentityAddon.GetAddonContainersIndexByName(DefaultAADPodIdentityAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesAADPodIdentityEnabled", helpers.IsTrueBoolPointer(aadPodIdentityAddon.Enabled))
|
||||
}
|
||||
}
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsACIConnectorEnabled() {
|
||||
aciConnectorAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultACIConnectorAddonName)
|
||||
c := getAddonContainersIndexByName(aciConnectorAddon.Containers, DefaultACIConnectorAddonName)
|
||||
if kubernetesConfig.IsACIConnectorEnabled() {
|
||||
aciConnectorAddon := kubernetesConfig.GetAddonByName(DefaultACIConnectorAddonName)
|
||||
c := aciConnectorAddon.GetAddonContainersIndexByName(DefaultACIConnectorAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesACIConnectorEnabled", true)
|
||||
addValue(parametersMap, "kubernetesACIConnectorNodeName", aciConnectorAddon.Config["nodeName"])
|
||||
|
@ -89,9 +94,9 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
} else {
|
||||
addValue(parametersMap, "kubernetesACIConnectorEnabled", false)
|
||||
}
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsClusterAutoscalerEnabled() {
|
||||
clusterAutoscalerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultClusterAutoscalerAddonName)
|
||||
c := getAddonContainersIndexByName(clusterAutoscalerAddon.Containers, DefaultClusterAutoscalerAddonName)
|
||||
if kubernetesConfig.IsClusterAutoscalerEnabled() {
|
||||
clusterAutoscalerAddon := kubernetesConfig.GetAddonByName(DefaultClusterAutoscalerAddonName)
|
||||
c := clusterAutoscalerAddon.GetAddonContainersIndexByName(DefaultClusterAutoscalerAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesClusterAutoscalerAzureCloud", cloudSpecConfig.CloudName)
|
||||
addValue(parametersMap, "kubernetesClusterAutoscalerCPURequests", clusterAutoscalerAddon.Containers[c].CPURequests)
|
||||
|
@ -101,7 +106,7 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
addValue(parametersMap, "kubernetesClusterAutoscalerMinNodes", clusterAutoscalerAddon.Config["minNodes"])
|
||||
addValue(parametersMap, "kubernetesClusterAutoscalerMaxNodes", clusterAutoscalerAddon.Config["maxNodes"])
|
||||
addValue(parametersMap, "kubernetesClusterAutoscalerEnabled", true)
|
||||
addValue(parametersMap, "kubernetesClusterAutoscalerUseManagedIdentity", strings.ToLower(strconv.FormatBool(properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity)))
|
||||
addValue(parametersMap, "kubernetesClusterAutoscalerUseManagedIdentity", strings.ToLower(strconv.FormatBool(kubernetesConfig.UseManagedIdentity)))
|
||||
if clusterAutoscalerAddon.Containers[c].Image != "" {
|
||||
addValue(parametersMap, "kubernetesClusterAutoscalerSpec", clusterAutoscalerAddon.Containers[c].Image)
|
||||
} else {
|
||||
|
@ -112,16 +117,16 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
addValue(parametersMap, "kubernetesClusterAutoscalerEnabled", false)
|
||||
}
|
||||
flexVolumeDriverConfig := map[string]string{}
|
||||
bfFlexVolumeInstallerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultBlobfuseFlexVolumeAddonName)
|
||||
c := getAddonContainersIndexByName(bfFlexVolumeInstallerAddon.Containers, DefaultBlobfuseFlexVolumeAddonName)
|
||||
bfFlexVolumeInstallerAddon := kubernetesConfig.GetAddonByName(DefaultBlobfuseFlexVolumeAddonName)
|
||||
c := bfFlexVolumeInstallerAddon.GetAddonContainersIndexByName(DefaultBlobfuseFlexVolumeAddonName)
|
||||
if c > -1 {
|
||||
flexVolumeDriverConfig["kubernetesBlobfuseFlexVolumeInstallerCPURequests"] = bfFlexVolumeInstallerAddon.Containers[c].CPURequests
|
||||
flexVolumeDriverConfig["kubernetesBlobfuseFlexVolumeInstallerCPULimit"] = bfFlexVolumeInstallerAddon.Containers[c].CPULimits
|
||||
flexVolumeDriverConfig["kubernetesBlobfuseFlexVolumeInstallerMemoryRequests"] = bfFlexVolumeInstallerAddon.Containers[c].MemoryRequests
|
||||
flexVolumeDriverConfig["kubernetesBlobfuseFlexVolumeInstallerMemoryLimit"] = bfFlexVolumeInstallerAddon.Containers[c].MemoryLimits
|
||||
}
|
||||
smbFlexVolumeInstallerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultSMBFlexVolumeAddonName)
|
||||
c = getAddonContainersIndexByName(smbFlexVolumeInstallerAddon.Containers, DefaultSMBFlexVolumeAddonName)
|
||||
smbFlexVolumeInstallerAddon := kubernetesConfig.GetAddonByName(DefaultSMBFlexVolumeAddonName)
|
||||
c = smbFlexVolumeInstallerAddon.GetAddonContainersIndexByName(DefaultSMBFlexVolumeAddonName)
|
||||
if c > -1 {
|
||||
flexVolumeDriverConfig["kubernetesSMBFlexVolumeInstallerCPURequests"] = smbFlexVolumeInstallerAddon.Containers[c].CPURequests
|
||||
flexVolumeDriverConfig["kubernetesSMBFlexVolumeInstallerCPULimit"] = smbFlexVolumeInstallerAddon.Containers[c].CPULimits
|
||||
|
@ -129,9 +134,9 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
flexVolumeDriverConfig["kubernetesSMBFlexVolumeInstallerMemoryLimit"] = smbFlexVolumeInstallerAddon.Containers[c].MemoryLimits
|
||||
}
|
||||
addValue(parametersMap, "flexVolumeDriverConfig", flexVolumeDriverConfig)
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsKeyVaultFlexVolumeEnabled() {
|
||||
kvFlexVolumeInstallerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultKeyVaultFlexVolumeAddonName)
|
||||
c := getAddonContainersIndexByName(kvFlexVolumeInstallerAddon.Containers, DefaultKeyVaultFlexVolumeAddonName)
|
||||
if kubernetesConfig.IsKeyVaultFlexVolumeEnabled() {
|
||||
kvFlexVolumeInstallerAddon := kubernetesConfig.GetAddonByName(DefaultKeyVaultFlexVolumeAddonName)
|
||||
c := kvFlexVolumeInstallerAddon.GetAddonContainersIndexByName(DefaultKeyVaultFlexVolumeAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesKeyVaultFlexVolumeInstallerCPURequests", kvFlexVolumeInstallerAddon.Containers[c].CPURequests)
|
||||
addValue(parametersMap, "kubernetesKeyVaultFlexVolumeInstallerCPULimit", kvFlexVolumeInstallerAddon.Containers[c].CPULimits)
|
||||
|
@ -139,9 +144,9 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
addValue(parametersMap, "kubernetesKeyVaultFlexVolumeInstallerMemoryLimit", kvFlexVolumeInstallerAddon.Containers[c].MemoryLimits)
|
||||
}
|
||||
}
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsDashboardEnabled() {
|
||||
dashboardAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultDashboardAddonName)
|
||||
c = getAddonContainersIndexByName(dashboardAddon.Containers, DefaultDashboardAddonName)
|
||||
if kubernetesConfig.IsDashboardEnabled() {
|
||||
dashboardAddon := kubernetesConfig.GetAddonByName(DefaultDashboardAddonName)
|
||||
dashboardAddon.GetAddonContainersIndexByName(DefaultDashboardAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesDashboardCPURequests", dashboardAddon.Containers[c].CPURequests)
|
||||
addValue(parametersMap, "kubernetesDashboardCPULimit", dashboardAddon.Containers[c].CPULimits)
|
||||
|
@ -154,9 +159,9 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
}
|
||||
}
|
||||
}
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsReschedulerEnabled() {
|
||||
reschedulerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultReschedulerAddonName)
|
||||
c := getAddonContainersIndexByName(reschedulerAddon.Containers, DefaultReschedulerAddonName)
|
||||
if kubernetesConfig.IsReschedulerEnabled() {
|
||||
reschedulerAddon := kubernetesConfig.GetAddonByName(DefaultReschedulerAddonName)
|
||||
c := reschedulerAddon.GetAddonContainersIndexByName(DefaultReschedulerAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesReschedulerCPURequests", reschedulerAddon.Containers[c].CPURequests)
|
||||
addValue(parametersMap, "kubernetesReschedulerCPULimit", reschedulerAddon.Containers[c].CPULimits)
|
||||
|
@ -170,8 +175,8 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
}
|
||||
}
|
||||
if properties.OrchestratorProfile.IsMetricsServerEnabled() {
|
||||
metricsServerAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, DefaultMetricsServerAddonName)
|
||||
c = getAddonContainersIndexByName(metricsServerAddon.Containers, DefaultMetricsServerAddonName)
|
||||
metricsServerAddon := kubernetesConfig.GetAddonByName(DefaultMetricsServerAddonName)
|
||||
c = metricsServerAddon.GetAddonContainersIndexByName(DefaultMetricsServerAddonName)
|
||||
if c > -1 {
|
||||
if metricsServerAddon.Containers[c].Image != "" {
|
||||
addValue(parametersMap, "kubernetesMetricsServerSpec", metricsServerAddon.Containers[c].Image)
|
||||
|
@ -181,8 +186,8 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
}
|
||||
}
|
||||
if properties.IsNVIDIADevicePluginEnabled() {
|
||||
nvidiaDevicePluginAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, NVIDIADevicePluginAddonName)
|
||||
c := getAddonContainersIndexByName(nvidiaDevicePluginAddon.Containers, NVIDIADevicePluginAddonName)
|
||||
nvidiaDevicePluginAddon := kubernetesConfig.GetAddonByName(NVIDIADevicePluginAddonName)
|
||||
c := nvidiaDevicePluginAddon.GetAddonContainersIndexByName(NVIDIADevicePluginAddonName)
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "kubernetesNVIDIADevicePluginCPURequests", nvidiaDevicePluginAddon.Containers[c].CPURequests)
|
||||
addValue(parametersMap, "kubernetesNVIDIADevicePluginCPULimit", nvidiaDevicePluginAddon.Containers[c].CPULimits)
|
||||
|
@ -195,9 +200,9 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
}
|
||||
}
|
||||
}
|
||||
if properties.OrchestratorProfile.KubernetesConfig.IsContainerMonitoringEnabled() {
|
||||
containerMonitoringAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, ContainerMonitoringAddonName)
|
||||
c := getAddonContainersIndexByName(containerMonitoringAddon.Containers, "omsagent")
|
||||
if kubernetesConfig.IsContainerMonitoringEnabled() {
|
||||
containerMonitoringAddon := kubernetesConfig.GetAddonByName(ContainerMonitoringAddonName)
|
||||
c := containerMonitoringAddon.GetAddonContainersIndexByName("omsagent")
|
||||
if c > -1 {
|
||||
addValue(parametersMap, "omsAgentVersion", containerMonitoringAddon.Config["omsAgentVersion"])
|
||||
addValue(parametersMap, "omsAgentDockerProviderVersion", containerMonitoringAddon.Config["dockerProviderVersion"])
|
||||
|
@ -214,15 +219,15 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
}
|
||||
}
|
||||
}
|
||||
if properties.OrchestratorProfile.KubernetesConfig.LoadBalancerSku == "Standard" {
|
||||
if kubernetesConfig.LoadBalancerSku == "Standard" {
|
||||
random := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||
elbsvcName := random.Int()
|
||||
addValue(parametersMap, "kuberneteselbsvcname", fmt.Sprintf("%d", elbsvcName))
|
||||
}
|
||||
|
||||
if properties.OrchestratorProfile.IsAzureCNI() {
|
||||
azureCNINetworkmonitorAddon := getAddonByName(properties.OrchestratorProfile.KubernetesConfig.Addons, AzureCNINetworkMonitoringAddonName)
|
||||
c = getAddonContainersIndexByName(azureCNINetworkmonitorAddon.Containers, AzureCNINetworkMonitoringAddonName)
|
||||
azureCNINetworkmonitorAddon := kubernetesConfig.GetAddonByName(AzureCNINetworkMonitoringAddonName)
|
||||
c = azureCNINetworkmonitorAddon.GetAddonContainersIndexByName(AzureCNINetworkMonitoringAddonName)
|
||||
if c > -1 {
|
||||
if azureCNINetworkmonitorAddon.Containers[c].Image != "" {
|
||||
addValue(parametersMap, "AzureCNINetworkMonitorImageURL", azureCNINetworkmonitorAddon.Containers[c].Image)
|
||||
|
@ -234,50 +239,50 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
addValue(parametersMap, "kubernetesKubeDNSSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["dns"])
|
||||
addValue(parametersMap, "kubernetesPodInfraContainerSpec", cloudSpecConfig.KubernetesSpecConfig.KubernetesImageBase+KubeConfigs[k8sVersion]["pause"])
|
||||
addValue(parametersMap, "cloudproviderConfig", api.CloudProviderConfig{
|
||||
CloudProviderBackoff: properties.OrchestratorProfile.KubernetesConfig.CloudProviderBackoff,
|
||||
CloudProviderBackoffRetries: properties.OrchestratorProfile.KubernetesConfig.CloudProviderBackoffRetries,
|
||||
CloudProviderBackoffJitter: strconv.FormatFloat(properties.OrchestratorProfile.KubernetesConfig.CloudProviderBackoffJitter, 'f', -1, 64),
|
||||
CloudProviderBackoffDuration: properties.OrchestratorProfile.KubernetesConfig.CloudProviderBackoffDuration,
|
||||
CloudProviderBackoffExponent: strconv.FormatFloat(properties.OrchestratorProfile.KubernetesConfig.CloudProviderBackoffExponent, 'f', -1, 64),
|
||||
CloudProviderRateLimit: properties.OrchestratorProfile.KubernetesConfig.CloudProviderRateLimit,
|
||||
CloudProviderRateLimitQPS: strconv.FormatFloat(properties.OrchestratorProfile.KubernetesConfig.CloudProviderRateLimitQPS, 'f', -1, 64),
|
||||
CloudProviderRateLimitBucket: properties.OrchestratorProfile.KubernetesConfig.CloudProviderRateLimitBucket,
|
||||
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),
|
||||
CloudProviderRateLimitBucket: kubernetesConfig.CloudProviderRateLimitBucket,
|
||||
})
|
||||
addValue(parametersMap, "kubeClusterCidr", properties.OrchestratorProfile.KubernetesConfig.ClusterSubnet)
|
||||
addValue(parametersMap, "kubernetesNonMasqueradeCidr", properties.OrchestratorProfile.KubernetesConfig.KubeletConfig["--non-masquerade-cidr"])
|
||||
addValue(parametersMap, "kubernetesKubeletClusterDomain", properties.OrchestratorProfile.KubernetesConfig.KubeletConfig["--cluster-domain"])
|
||||
addValue(parametersMap, "dockerBridgeCidr", properties.OrchestratorProfile.KubernetesConfig.DockerBridgeSubnet)
|
||||
addValue(parametersMap, "networkPolicy", properties.OrchestratorProfile.KubernetesConfig.NetworkPolicy)
|
||||
addValue(parametersMap, "networkPlugin", properties.OrchestratorProfile.KubernetesConfig.NetworkPlugin)
|
||||
addValue(parametersMap, "containerRuntime", properties.OrchestratorProfile.KubernetesConfig.ContainerRuntime)
|
||||
addValue(parametersMap, "kubeClusterCidr", kubernetesConfig.ClusterSubnet)
|
||||
addValue(parametersMap, "kubernetesNonMasqueradeCidr", kubernetesConfig.KubeletConfig["--non-masquerade-cidr"])
|
||||
addValue(parametersMap, "kubernetesKubeletClusterDomain", kubernetesConfig.KubeletConfig["--cluster-domain"])
|
||||
addValue(parametersMap, "dockerBridgeCidr", kubernetesConfig.DockerBridgeSubnet)
|
||||
addValue(parametersMap, "networkPolicy", kubernetesConfig.NetworkPolicy)
|
||||
addValue(parametersMap, "networkPlugin", kubernetesConfig.NetworkPlugin)
|
||||
addValue(parametersMap, "containerRuntime", kubernetesConfig.ContainerRuntime)
|
||||
addValue(parametersMap, "containerdDownloadURLBase", cloudSpecConfig.KubernetesSpecConfig.ContainerdDownloadURLBase)
|
||||
addValue(parametersMap, "cniPluginsURL", cloudSpecConfig.KubernetesSpecConfig.CNIPluginsDownloadURL)
|
||||
addValue(parametersMap, "vnetCniLinuxPluginsURL", cloudSpecConfig.KubernetesSpecConfig.VnetCNILinuxPluginsDownloadURL)
|
||||
addValue(parametersMap, "vnetCniWindowsPluginsURL", cloudSpecConfig.KubernetesSpecConfig.VnetCNIWindowsPluginsDownloadURL)
|
||||
addValue(parametersMap, "gchighthreshold", properties.OrchestratorProfile.KubernetesConfig.GCHighThreshold)
|
||||
addValue(parametersMap, "gclowthreshold", properties.OrchestratorProfile.KubernetesConfig.GCLowThreshold)
|
||||
addValue(parametersMap, "gchighthreshold", kubernetesConfig.GCHighThreshold)
|
||||
addValue(parametersMap, "gclowthreshold", kubernetesConfig.GCLowThreshold)
|
||||
addValue(parametersMap, "etcdDownloadURLBase", cloudSpecConfig.KubernetesSpecConfig.EtcdDownloadURLBase)
|
||||
addValue(parametersMap, "etcdVersion", properties.OrchestratorProfile.KubernetesConfig.EtcdVersion)
|
||||
addValue(parametersMap, "etcdDiskSizeGB", properties.OrchestratorProfile.KubernetesConfig.EtcdDiskSizeGB)
|
||||
addValue(parametersMap, "etcdEncryptionKey", properties.OrchestratorProfile.KubernetesConfig.EtcdEncryptionKey)
|
||||
if properties.OrchestratorProfile.KubernetesConfig.PrivateJumpboxProvision() {
|
||||
addValue(parametersMap, "jumpboxVMName", properties.OrchestratorProfile.KubernetesConfig.PrivateCluster.JumpboxProfile.Name)
|
||||
addValue(parametersMap, "jumpboxVMSize", properties.OrchestratorProfile.KubernetesConfig.PrivateCluster.JumpboxProfile.VMSize)
|
||||
addValue(parametersMap, "jumpboxUsername", properties.OrchestratorProfile.KubernetesConfig.PrivateCluster.JumpboxProfile.Username)
|
||||
addValue(parametersMap, "jumpboxOSDiskSizeGB", properties.OrchestratorProfile.KubernetesConfig.PrivateCluster.JumpboxProfile.OSDiskSizeGB)
|
||||
addValue(parametersMap, "jumpboxPublicKey", properties.OrchestratorProfile.KubernetesConfig.PrivateCluster.JumpboxProfile.PublicKey)
|
||||
addValue(parametersMap, "jumpboxStorageProfile", properties.OrchestratorProfile.KubernetesConfig.PrivateCluster.JumpboxProfile.StorageProfile)
|
||||
addValue(parametersMap, "etcdVersion", kubernetesConfig.EtcdVersion)
|
||||
addValue(parametersMap, "etcdDiskSizeGB", kubernetesConfig.EtcdDiskSizeGB)
|
||||
addValue(parametersMap, "etcdEncryptionKey", kubernetesConfig.EtcdEncryptionKey)
|
||||
if kubernetesConfig.PrivateJumpboxProvision() {
|
||||
addValue(parametersMap, "jumpboxVMName", kubernetesConfig.PrivateCluster.JumpboxProfile.Name)
|
||||
addValue(parametersMap, "jumpboxVMSize", kubernetesConfig.PrivateCluster.JumpboxProfile.VMSize)
|
||||
addValue(parametersMap, "jumpboxUsername", kubernetesConfig.PrivateCluster.JumpboxProfile.Username)
|
||||
addValue(parametersMap, "jumpboxOSDiskSizeGB", kubernetesConfig.PrivateCluster.JumpboxProfile.OSDiskSizeGB)
|
||||
addValue(parametersMap, "jumpboxPublicKey", kubernetesConfig.PrivateCluster.JumpboxProfile.PublicKey)
|
||||
addValue(parametersMap, "jumpboxStorageProfile", kubernetesConfig.PrivateCluster.JumpboxProfile.StorageProfile)
|
||||
}
|
||||
|
||||
if properties.OrchestratorProfile.KubernetesConfig.DockerEngineVersion != "" {
|
||||
dockerEngineVersion = properties.OrchestratorProfile.KubernetesConfig.DockerEngineVersion
|
||||
if kubernetesConfig.DockerEngineVersion != "" {
|
||||
dockerEngineVersion = kubernetesConfig.DockerEngineVersion
|
||||
}
|
||||
|
||||
addValue(parametersMap, "enableAggregatedAPIs", properties.OrchestratorProfile.KubernetesConfig.EnableAggregatedAPIs)
|
||||
addValue(parametersMap, "enableAggregatedAPIs", kubernetesConfig.EnableAggregatedAPIs)
|
||||
}
|
||||
|
||||
if properties.OrchestratorProfile.KubernetesConfig == nil ||
|
||||
!properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity {
|
||||
if kubernetesConfig == nil ||
|
||||
!kubernetesConfig.UseManagedIdentity {
|
||||
|
||||
addValue(parametersMap, "servicePrincipalClientId", properties.ServicePrincipalProfile.ClientID)
|
||||
if properties.ServicePrincipalProfile.KeyvaultSecretRef != nil {
|
||||
|
@ -289,7 +294,7 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
addValue(parametersMap, "servicePrincipalClientSecret", properties.ServicePrincipalProfile.Secret)
|
||||
}
|
||||
|
||||
if properties.OrchestratorProfile.KubernetesConfig != nil && helpers.IsTrueBoolPointer(properties.OrchestratorProfile.KubernetesConfig.EnableEncryptionWithExternalKms) && !properties.OrchestratorProfile.KubernetesConfig.UseManagedIdentity && properties.ServicePrincipalProfile.ObjectID != "" {
|
||||
if kubernetesConfig != nil && helpers.IsTrueBoolPointer(kubernetesConfig.EnableEncryptionWithExternalKms) && !kubernetesConfig.UseManagedIdentity && properties.ServicePrincipalProfile.ObjectID != "" {
|
||||
addValue(parametersMap, "servicePrincipalObjectId", properties.ServicePrincipalProfile.ObjectID)
|
||||
}
|
||||
}
|
||||
|
@ -334,24 +339,25 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
}
|
||||
**/
|
||||
|
||||
if properties.CertificateProfile != nil {
|
||||
addSecret(parametersMap, "apiServerCertificate", properties.CertificateProfile.APIServerCertificate, true)
|
||||
addSecret(parametersMap, "apiServerPrivateKey", properties.CertificateProfile.APIServerPrivateKey, true)
|
||||
addSecret(parametersMap, "caCertificate", properties.CertificateProfile.CaCertificate, true)
|
||||
addSecret(parametersMap, "caPrivateKey", properties.CertificateProfile.CaPrivateKey, true)
|
||||
addSecret(parametersMap, "clientCertificate", properties.CertificateProfile.ClientCertificate, true)
|
||||
addSecret(parametersMap, "clientPrivateKey", properties.CertificateProfile.ClientPrivateKey, true)
|
||||
addSecret(parametersMap, "kubeConfigCertificate", properties.CertificateProfile.KubeConfigCertificate, true)
|
||||
addSecret(parametersMap, "kubeConfigPrivateKey", properties.CertificateProfile.KubeConfigPrivateKey, true)
|
||||
certificateProfile := properties.CertificateProfile
|
||||
if certificateProfile != nil {
|
||||
addSecret(parametersMap, "apiServerCertificate", certificateProfile.APIServerCertificate, true)
|
||||
addSecret(parametersMap, "apiServerPrivateKey", certificateProfile.APIServerPrivateKey, true)
|
||||
addSecret(parametersMap, "caCertificate", certificateProfile.CaCertificate, true)
|
||||
addSecret(parametersMap, "caPrivateKey", certificateProfile.CaPrivateKey, true)
|
||||
addSecret(parametersMap, "clientCertificate", certificateProfile.ClientCertificate, true)
|
||||
addSecret(parametersMap, "clientPrivateKey", certificateProfile.ClientPrivateKey, true)
|
||||
addSecret(parametersMap, "kubeConfigCertificate", certificateProfile.KubeConfigCertificate, true)
|
||||
addSecret(parametersMap, "kubeConfigPrivateKey", certificateProfile.KubeConfigPrivateKey, true)
|
||||
if properties.MasterProfile != nil {
|
||||
addSecret(parametersMap, "etcdServerCertificate", properties.CertificateProfile.EtcdServerCertificate, true)
|
||||
addSecret(parametersMap, "etcdServerPrivateKey", properties.CertificateProfile.EtcdServerPrivateKey, true)
|
||||
addSecret(parametersMap, "etcdClientCertificate", properties.CertificateProfile.EtcdClientCertificate, true)
|
||||
addSecret(parametersMap, "etcdClientPrivateKey", properties.CertificateProfile.EtcdClientPrivateKey, true)
|
||||
for i, pc := range properties.CertificateProfile.EtcdPeerCertificates {
|
||||
addSecret(parametersMap, "etcdServerCertificate", certificateProfile.EtcdServerCertificate, true)
|
||||
addSecret(parametersMap, "etcdServerPrivateKey", certificateProfile.EtcdServerPrivateKey, true)
|
||||
addSecret(parametersMap, "etcdClientCertificate", certificateProfile.EtcdClientCertificate, true)
|
||||
addSecret(parametersMap, "etcdClientPrivateKey", certificateProfile.EtcdClientPrivateKey, true)
|
||||
for i, pc := range certificateProfile.EtcdPeerCertificates {
|
||||
addSecret(parametersMap, "etcdPeerCertificate"+strconv.Itoa(i), pc, true)
|
||||
}
|
||||
for i, pk := range properties.CertificateProfile.EtcdPeerPrivateKeys {
|
||||
for i, pk := range certificateProfile.EtcdPeerPrivateKeys {
|
||||
addSecret(parametersMap, "etcdPeerPrivateKey"+strconv.Itoa(i), pk, true)
|
||||
}
|
||||
}
|
||||
|
@ -361,7 +367,7 @@ func assignKubernetesParameters(properties *api.Properties, parametersMap params
|
|||
addValue(parametersMap, "kubernetesEndpoint", properties.HostedMasterProfile.FQDN)
|
||||
}
|
||||
|
||||
if !properties.OrchestratorProfile.IsOpenShift() {
|
||||
if !orchestratorProfile.IsOpenShift() {
|
||||
addValue(parametersMap, "dockerEngineDownloadRepo", cloudSpecConfig.DockerSpecConfig.DockerEngineRepo)
|
||||
addValue(parametersMap, "dockerEngineVersion", dockerEngineVersion)
|
||||
}
|
||||
|
|
|
@ -253,6 +253,16 @@ func (a *KubernetesAddon) IsEnabled(ifNil bool) bool {
|
|||
return *a.Enabled
|
||||
}
|
||||
|
||||
// GetAddonContainersIndexByName returns the KubernetesAddon containers index with the name `containerName`
|
||||
func (a KubernetesAddon) GetAddonContainersIndexByName(containerName string) int {
|
||||
for i := range a.Containers {
|
||||
if a.Containers[i].Name == containerName {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
// PrivateCluster defines the configuration for a private cluster
|
||||
type PrivateCluster struct {
|
||||
Enabled *bool `json:"enabled,omitempty"`
|
||||
|
@ -1118,8 +1128,8 @@ func (o *OrchestratorProfile) GetAPIServerEtcdAPIVersion() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// getAddonFromName returns the KubernetesAddon instance with name `addonName`
|
||||
func (k *KubernetesConfig) getAddonFromName(addonName string) KubernetesAddon {
|
||||
// GetAddonByName returns the KubernetesAddon instance with name `addonName`
|
||||
func (k *KubernetesConfig) GetAddonByName(addonName string) KubernetesAddon {
|
||||
var kubeAddon KubernetesAddon
|
||||
for _, addon := range k.Addons {
|
||||
if addon.Name == addonName {
|
||||
|
@ -1132,14 +1142,14 @@ func (k *KubernetesConfig) getAddonFromName(addonName string) KubernetesAddon {
|
|||
|
||||
// GetAddonScript retrieves the raw script data specified as input for the k8s addon with name "addonName".
|
||||
func (k *KubernetesConfig) GetAddonScript(addonName string) string {
|
||||
kubeAddon := k.getAddonFromName(addonName)
|
||||
kubeAddon := k.GetAddonByName(addonName)
|
||||
return kubeAddon.Data
|
||||
}
|
||||
|
||||
// isAddonEnabled checks whether a k8s addon with name "addonName" is enabled or not based on the Enabled field of KubernetesAddon.
|
||||
// If the value of Enabled in nil, the "defaultValue" is returned.
|
||||
func (k *KubernetesConfig) isAddonEnabled(addonName string, defaultValue bool) bool {
|
||||
kubeAddon := k.getAddonFromName(addonName)
|
||||
kubeAddon := k.GetAddonByName(addonName)
|
||||
return kubeAddon.IsEnabled(defaultValue)
|
||||
}
|
||||
|
||||
|
|
|
@ -2041,5 +2041,17 @@ func TestProperties_GetClusterMetadata(t *testing.T) {
|
|||
if metadata.PrimaryScaleSetName != expectedPrimaryScaleSetName {
|
||||
t.Errorf("expected PrimaryScaleSetName name %s, but got %s", expectedPrimaryScaleSetName, metadata.PrimaryScaleSetName)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestGetAddonContainersIndexByName(t *testing.T) {
|
||||
addonName := "testaddon"
|
||||
addon := getMockAddon(addonName)
|
||||
i := addon.GetAddonContainersIndexByName(addonName)
|
||||
if i != 0 {
|
||||
t.Fatalf("getAddonContainersIndexByName() did not return the expected index value 0, instead returned: %d", i)
|
||||
}
|
||||
i = addon.GetAddonContainersIndexByName("nonExistentContainerName")
|
||||
if i != -1 {
|
||||
t.Fatalf("getAddonContainersIndexByName() did not return the expected index value 0, instead returned: %d", i)
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче