feat: add support for Kubernetes v1.24.0 (#4890)

This commit is contained in:
Matt Boersma 2022-05-09 14:17:26 -06:00 коммит произвёл GitHub
Родитель 43aeccfa05
Коммит 2297b811f5
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
10 изменённых файлов: 56 добавлений и 9 удалений

16
.github/workflows/create-release-branch.yaml поставляемый
Просмотреть файл

@ -104,6 +104,22 @@ jobs:
AZURE_CORE_ONLY_SHOW_ERRORS: True
BLOCK_SSH: true
run: make test-kubernetes
- name: Validate 1.24 no-egress scenario
env:
ORCHESTRATOR_RELEASE: "1.24"
CLUSTER_DEFINITION: "examples/no_outbound.json"
SUBSCRIPTION_ID: ${{ secrets.TEST_AZURE_SUB_ID }}
CLIENT_ID: ${{ secrets.TEST_AZURE_SP_ID }}
CLIENT_SECRET: ${{ secrets.TEST_AZURE_SP_PW }}
LOCATION: "westus2"
TENANT_ID: ${{ secrets.TEST_AZURE_TENANT_ID }}
CLEANUP_ON_EXIT: true
CLEANUP_IF_FAIL: true
SKIP_LOGS_COLLECTION: true
SKIP_TEST: true
AZURE_CORE_ONLY_SHOW_ERRORS: True
BLOCK_SSH: true
run: make test-kubernetes
- name: Validate gpu + docker scenario
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock

16
.github/workflows/release.yaml поставляемый
Просмотреть файл

@ -114,6 +114,22 @@ jobs:
AZURE_CORE_ONLY_SHOW_ERRORS: True
BLOCK_SSH: true
run: make test-kubernetes
- name: Validate 1.24 no-egress scenario
env:
ORCHESTRATOR_RELEASE: "1.24"
CLUSTER_DEFINITION: "examples/no_outbound.json"
SUBSCRIPTION_ID: ${{ secrets.TEST_AZURE_SUB_ID }}
CLIENT_ID: ${{ secrets.TEST_AZURE_SP_ID }}
CLIENT_SECRET: ${{ secrets.TEST_AZURE_SP_PW }}
LOCATION: "westus2"
TENANT_ID: ${{ secrets.TEST_AZURE_TENANT_ID }}
CLEANUP_ON_EXIT: true
CLEANUP_IF_FAIL: true
SKIP_LOGS_COLLECTION: true
SKIP_TEST: true
AZURE_CORE_ONLY_SHOW_ERRORS: True
BLOCK_SSH: true
run: make test-kubernetes
- name: Validate gpu + docker scenario
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock

4
.github/workflows/test-cluster-config.yaml поставляемый
Просмотреть файл

@ -14,9 +14,9 @@ on:
required: false
default: ''
kubernetes_release:
description: 'Which Kubernetes release to test (major.minor only, e.g., "1.23")'
description: 'Which Kubernetes release to test (major.minor only, e.g., "1.24")'
required: false
default: '1.23'
default: '1.24'
container_runtime:
description: 'Which CRI to use (e.g., "containerd" or "docker")'
required: false

2
Jenkinsfile поставляемый
Просмотреть файл

@ -7,7 +7,7 @@ defaultEnv = [
] + params
def k8sVersions = ["1.19", "1.20", "1.21", "1.22", "1.23", "1.24"]
def latestReleasedVersion = "1.23"
def latestReleasedVersion = "1.24"
def tasks = [:]
def testConfigs = []

Просмотреть файл

@ -320,8 +320,9 @@ var AllKubernetesSupportedVersions = map[string]bool{
"1.23.3": false,
"1.23.4": false,
"1.23.5": true,
"1.24.0-alpha.2": true,
"1.24.0-alpha.3": true,
"1.24.0-alpha.2": false,
"1.24.0-alpha.3": false,
"1.24.0": true,
}
// AllKubernetesSupportedVersionsAzureStack is a hash table of all supported Kubernetes version strings on Azure Stack

Просмотреть файл

@ -90,6 +90,9 @@ func (cs *ContainerService) setControllerManagerConfig() {
// Enable the consumption of local ephemeral storage and also the sizeLimit property of an emptyDir volume.
addDefaultFeatureGates(o.KubernetesConfig.ControllerManagerConfig, o.OrchestratorVersion, "1.10.0", "LocalStorageCapacityIsolation=true")
// Enable legacy service account token autogeneration for v1.24.0
addDefaultFeatureGates(o.KubernetesConfig.ControllerManagerConfig, o.OrchestratorVersion, "1.24.0", "LegacyServiceAccountTokenNoAutoGeneration=false")
// We don't support user-configurable values for the following,
// so any of the value assignments below will override user-provided values
for key, val := range staticControllerManagerConfig {

Просмотреть файл

@ -108,6 +108,16 @@ func TestControllerManagerConfigDefaultFeatureGates(t *testing.T) {
t.Fatalf("got unexpected '--feature-gates' Controller Manager config value for \"--feature-gates\": \"LocalStorageCapacityIsolation=true,TaintBasedEvictions=true\": %s",
cm["--feature-gates"])
}
// test 1.24.0
cs = CreateMockContainerService("testcluster", defaultTestClusterVer, 3, 2, false)
cs.Properties.OrchestratorProfile.OrchestratorVersion = "1.24.0"
cs.setControllerManagerConfig()
cm = cs.Properties.OrchestratorProfile.KubernetesConfig.ControllerManagerConfig
if cm["--feature-gates"] != "LegacyServiceAccountTokenNoAutoGeneration=false,LocalStorageCapacityIsolation=true" {
t.Fatalf("got unexpected '--feature-gates' Controller Manager config value for \"--feature-gates\": \"LegacyServiceAccountTokenNoAutoGeneration=false,LocalStorageCapacityIsolation=true\": %s",
cm["--feature-gates"])
}
}
func TestControllerManagerDefaultConfig(t *testing.T) {

Просмотреть файл

@ -508,8 +508,8 @@ func getK8sVersionComponents(version, kubernetesImageBaseType string, overrides
common.ControllerManagerComponentName: getDefaultImage(common.ControllerManagerComponentName, kubernetesImageBaseType) + ":v" + version,
common.KubeProxyAddonName: getDefaultImage(common.KubeProxyAddonName, kubernetesImageBaseType) + ":v" + version,
common.SchedulerComponentName: getDefaultImage(common.SchedulerComponentName, kubernetesImageBaseType) + ":v" + version,
common.CloudControllerManagerComponentName: "oss/kubernetes/azure-cloud-controller-manager:v1.1.3",
common.CloudNodeManagerAddonName: "oss/kubernetes/azure-cloud-node-manager:v1.1.3",
common.CloudControllerManagerComponentName: "oss/kubernetes/azure-cloud-controller-manager:v1.24.0",
common.CloudNodeManagerAddonName: "oss/kubernetes/azure-cloud-node-manager:v1.24.0",
common.WindowsArtifactComponentName: "v" + version + "/windowszip/v" + version + "-1int.zip",
common.WindowsArtifactAzureStackComponentName: "v" + version + "/windowszip/v" + version + "-1int.zip",
common.DashboardAddonName: dashboardImageReference,

Просмотреть файл

@ -126,7 +126,7 @@ function Get-FilesToCacheOnVHD {
"https://kubernetesartifacts.azureedge.net/kubernetes/v1.21.12/windowszip/v1.21.12-1int.zip",
"https://kubernetesartifacts.azureedge.net/kubernetes/v1.22.8/windowszip/v1.22.8-1int.zip",
"https://kubernetesartifacts.azureedge.net/kubernetes/v1.23.5/windowszip/v1.23.5-1int.zip",
"https://kubernetesartifacts.azureedge.net/kubernetes/v1.24.0-alpha.3/windowszip/v1.24.0-alpha.3-1int.zip"
"https://kubernetesartifacts.azureedge.net/kubernetes/v1.24.0/windowszip/v1.24.0-1int.zip"
);
"c:\akse-cache\win-vnet-cni\" = @(
"https://kubernetesartifacts.azureedge.net/azure-cni/v1.4.13/binaries/azure-vnet-cni-singletenancy-windows-amd64-v1.4.13.zip",

Просмотреть файл

@ -219,7 +219,7 @@ loadContainerImage "mcr.microsoft.com/oss/busybox/busybox:1.33.1"
echo " - busybox" >> ${VHD_LOGS_FILEPATH}
K8S_VERSIONS="
1.24.0-alpha.3
1.24.0
1.23.5
1.22.8
1.21.12
@ -238,6 +238,7 @@ done
# Starting with 1.16 we pull cloud-controller-manager and cloud-node-manager
CLOUD_MANAGER_VERSIONS="
1.24.0
1.23.1
1.1.4
1.0.8