diff --git a/parts/k8s/kubernetesmastercustomdata.yml b/parts/k8s/kubernetesmastercustomdata.yml index fe139c44ba..064f87aab0 100644 --- a/parts/k8s/kubernetesmastercustomdata.yml +++ b/parts/k8s/kubernetesmastercustomdata.yml @@ -244,12 +244,6 @@ MASTER_ARTIFACTS_CONFIG_PLACEHOLDER sed -i "s||{{GetK8sRuntimeConfigKeyVals .OrchestratorProfile.KubernetesConfig.ControllerManagerConfig}}|g" "/etc/kubernetes/manifests/kube-controller-manager.yaml" sed -i "s||{{GetK8sRuntimeConfigKeyVals .OrchestratorProfile.KubernetesConfig.APIServerConfig}}|g" "/etc/kubernetes/manifests/kube-apiserver.yaml" sed -i "s||{{WrapAsVariable "kubernetesAPIServerIP"}}|g" "/etc/kubernetes/manifests/kube-apiserver.yaml" -{{ if .HasAadProfile }} - VAR_AAD_TENANT_ID={{WrapAsVariable "aadTenantId"}} - VAR_TENANT_ID={{WrapAsVariable "tenantId"}} - AAD_TENANT_ID=${VAR_AAD_TENANT_ID:-$VAR_TENANT_ID} - sed -i "/--oidc-issuer-url/s/$/$AAD_TENANT_ID/" "/etc/kubernetes/manifests/kube-apiserver.yaml" -{{end}} - path: "/opt/azure/containers/provision.sh" permissions: "0744" diff --git a/pkg/acsengine/defaults-apiserver.go b/pkg/acsengine/defaults-apiserver.go index d5d867b9a9..3e861c67e0 100644 --- a/pkg/acsengine/defaults-apiserver.go +++ b/pkg/acsengine/defaults-apiserver.go @@ -70,7 +70,7 @@ func setAPIServerConfig(cs *api.ContainerService) { if GetCloudTargetEnv(cs.Location) == "AzureChinaCloud" { issuerHost = "sts.chinacloudapi.cn" } - staticLinuxAPIServerConfig["--oidc-issuer-url"] = "https://" + issuerHost + "/" + staticLinuxAPIServerConfig["--oidc-issuer-url"] = "https://" + issuerHost + "/" + cs.Properties.AADProfile.TenantID + "/" } staticWindowsAPIServerConfig := make(map[string]string) diff --git a/pkg/acsengine/defaults-apiserver_test.go b/pkg/acsengine/defaults-apiserver_test.go index 5f9aea16bc..d06c773044 100644 --- a/pkg/acsengine/defaults-apiserver_test.go +++ b/pkg/acsengine/defaults-apiserver_test.go @@ -115,6 +115,7 @@ func TestAPIServerConfigHasAadProfile(t *testing.T) { cs := createContainerService("testcluster", common.KubernetesVersion1Dot7Dot12, 3, 2) cs.Properties.AADProfile = &api.AADProfile{ ServerAppID: "test-id", + TenantID: "test-tenant", } setAPIServerConfig(cs) a := cs.Properties.OrchestratorProfile.KubernetesConfig.APIServerConfig @@ -130,7 +131,7 @@ func TestAPIServerConfigHasAadProfile(t *testing.T) { t.Fatalf("got unexpected '--oidc-client-id' API server config value for HasAadProfile=true: %s", a["--oidc-client-id"]) } - if a["--oidc-issuer-url"] != "https://sts.windows.net/" { + if a["--oidc-issuer-url"] != "https://sts.windows.net/"+cs.Properties.AADProfile.TenantID+"/" { t.Fatalf("got unexpected '--oidc-issuer-url' API server config value for HasAadProfile=true: %s", a["--oidc-issuer-url"]) } @@ -139,11 +140,12 @@ func TestAPIServerConfigHasAadProfile(t *testing.T) { cs = createContainerService("testcluster", common.KubernetesVersion1Dot7Dot12, 3, 2) cs.Properties.AADProfile = &api.AADProfile{ ServerAppID: "test-id", + TenantID: "test-tenant", } cs.Location = "chinaeast" setAPIServerConfig(cs) a = cs.Properties.OrchestratorProfile.KubernetesConfig.APIServerConfig - if a["--oidc-issuer-url"] != "https://sts.chinacloudapi.cn/" { + if a["--oidc-issuer-url"] != "https://sts.chinacloudapi.cn/"+cs.Properties.AADProfile.TenantID+"/" { t.Fatalf("got unexpected '--oidc-issuer-url' API server config value for HasAadProfile=true using China cloud: %s", a["--oidc-issuer-url"]) }