Add support for Kubernetes v1.13.0-alpha.1 (#4036)

This commit is contained in:
Matt Boersma 2018-10-16 13:09:33 -06:00 коммит произвёл Jack Francis
Родитель c5ac451c95
Коммит 5ce70d3596
4 изменённых файлов: 137 добавлений и 1 удалений

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

@ -175,6 +175,34 @@ jobs:
path: /go/src/github.com/Azure/acs-engine/_logs
- store_artifacts:
path: /go/src/github.com/Azure/acs-engine/_output
k8s-1.13-release-e2e:
<<: *defaults
steps:
- checkout
- run: |
echo 'export TIMEOUT=20m' >> $BASH_ENV
echo 'export ORCHESTRATOR_RELEASE=1.13' >> $BASH_ENV
echo 'export CLUSTER_DEFINITION=examples/e2e-tests/kubernetes/release/default/definition.json' >> $BASH_ENV
echo 'export CREATE_VNET=true' >> $BASH_ENV
echo 'export ENABLE_KMS_ENCRYPTION=true' >> $BASH_ENV
echo 'export CLEANUP_ON_EXIT=${CLEANUP_ON_EXIT}' >> $BASH_ENV
echo 'export CLEANUP_IF_FAIL=${CLEANUP_IF_FAIL_LINUX}' >> $BASH_ENV
echo 'export RETAIN_SSH=false' >> $BASH_ENV
echo 'export SUBSCRIPTION_ID=${SUBSCRIPTION_ID_E2E_KUBERNETES}' >> $BASH_ENV
echo 'export CLIENT_ID=${SERVICE_PRINCIPAL_CLIENT_ID_E2E_KUBERNETES}' >> $BASH_ENV
echo 'export CLIENT_SECRET=${SERVICE_PRINCIPAL_CLIENT_SECRET_E2E_KUBERNETES}' >> $BASH_ENV
echo 'export CLIENT_OBJECTID=${SERVICE_PRINCIPAL_OBJECT_ID_E2E_KUBERNETES}' >> $BASH_ENV
- run:
name: compile
command: make build-binary
- run:
name: ginkgo k8s e2e tests
command: make test-kubernetes
no_output_timeout: "30m"
- store_artifacts:
path: /go/src/github.com/Azure/acs-engine/_logs
- store_artifacts:
path: /go/src/github.com/Azure/acs-engine/_output
k8s-1.8-release-e2e:
<<: *defaults
steps:
@ -301,6 +329,31 @@ jobs:
path: /go/src/github.com/Azure/acs-engine/_logs
- store_artifacts:
path: /go/src/github.com/Azure/acs-engine/_output
k8s-windows-1.13-release-e2e:
<<: *defaults
steps:
- checkout
- run: |
echo 'export TIMEOUT=30m' >> $BASH_ENV
echo 'export ORCHESTRATOR_RELEASE=1.13' >> $BASH_ENV
echo 'export CLUSTER_DEFINITION=examples/e2e-tests/kubernetes/windows/hybrid/definition.json' >> $BASH_ENV
echo 'export CLEANUP_ON_EXIT=${CLEANUP_ON_EXIT}' >> $BASH_ENV
echo 'export CLEANUP_IF_FAIL=${CLEANUP_IF_FAIL_WINDOWS}' >> $BASH_ENV
echo 'export RETAIN_SSH=false' >> $BASH_ENV
echo 'export SUBSCRIPTION_ID=${SUBSCRIPTION_ID_E2E_KUBERNETES}' >> $BASH_ENV
echo 'export CLIENT_ID=${SERVICE_PRINCIPAL_CLIENT_ID_E2E_KUBERNETES}' >> $BASH_ENV
echo 'export CLIENT_SECRET=${SERVICE_PRINCIPAL_CLIENT_SECRET_E2E_KUBERNETES}' >> $BASH_ENV
- run:
name: compile
command: make build-binary
- run:
name: ginkgo k8s windows e2e tests
command: make test-kubernetes
no_output_timeout: "30m"
- store_artifacts:
path: /go/src/github.com/Azure/acs-engine/_logs
- store_artifacts:
path: /go/src/github.com/Azure/acs-engine/_output
workflows:
version: 2
build_and_test_pr:
@ -352,6 +405,12 @@ workflows:
filters:
branches:
ignore: master
- k8s-windows-1.13-release-e2e:
requires:
- pr-e2e-hold
filters:
branches:
ignore: master
- k8s-1.9-release-e2e:
requires:
- pr-e2e-hold
@ -376,6 +435,12 @@ workflows:
filters:
branches:
ignore: master
- k8s-1.13-release-e2e:
requires:
- pr-e2e-hold
filters:
branches:
ignore: master
build_and_test_master:
jobs:
- test:

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

@ -86,6 +86,7 @@ var AllKubernetesSupportedVersions = map[string]bool{
"1.12.0-rc.2": false,
"1.12.0": true,
"1.12.1": true,
"1.13.0-alpha.1": true,
}
// GetDefaultKubernetesVersion returns the default Kubernetes version, that is the latest patch of the default release

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

@ -8,6 +8,38 @@ import (
)
var k8sComponentVersions = map[string]map[string]string{
"1.13": {
"dockerEngine": "1.13.*",
"dashboard": "kubernetes-dashboard-amd64:v1.10.0",
"addon-resizer": "addon-resizer:1.8.1",
"heapster": "heapster-amd64:v1.5.3",
"metrics-server": "metrics-server-amd64:v0.2.1",
"coredns": "coredns:1.2.2",
"kube-dns": "k8s-dns-kube-dns-amd64:1.14.13",
"addon-manager": "kube-addon-manager-amd64:v8.8",
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.10",
"pause": "pause-amd64:3.1",
"tiller": "tiller:v2.8.1",
"rescheduler": "rescheduler:v0.4.0",
"aci-connector": "virtual-kubelet:latest",
ContainerMonitoringAddonName: "oms:ciprod05082018",
AzureCNINetworkMonitoringAddonName: "networkmonitor:v0.0.4",
"cluster-autoscaler": "cluster-autoscaler:v1.3.3",
NVIDIADevicePluginAddonName: "k8s-device-plugin:1.11",
"k8s-dns-sidecar": "k8s-dns-sidecar-amd64:1.14.10",
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
},
"1.12": {
"dockerEngine": "1.13.*",
"dashboard": "kubernetes-dashboard-amd64:v1.10.0",
@ -281,6 +313,43 @@ func getK8sVersionComponents(version string, overrides map[string]string) map[st
majorMinor := strings.Join(s[:2], ".")
var ret map[string]string
switch majorMinor {
case "1.13":
ret = map[string]string{
"hyperkube": "hyperkube-amd64:v" + version,
"ccm": "cloud-controller-manager-amd64:v" + version,
"windowszip": "v" + version + "-1int.zip",
"dockerEngineVersion": k8sComponentVersions["1.13"]["dockerEngine"],
DefaultDashboardAddonName: k8sComponentVersions["1.13"]["dashboard"],
"exechealthz": k8sComponentVersions["1.13"]["exechealthz"],
"addonresizer": k8sComponentVersions["1.13"]["addon-resizer"],
"heapster": k8sComponentVersions["1.13"]["heapster"],
DefaultMetricsServerAddonName: k8sComponentVersions["1.13"]["metrics-server"],
"coredns": k8sComponentVersions["1.13"]["coredns"],
"kube-dns": k8sComponentVersions["1.13"]["kube-dns"],
"addonmanager": k8sComponentVersions["1.13"]["addon-manager"],
"dnsmasq": k8sComponentVersions["1.13"]["dnsmasq"],
"pause": k8sComponentVersions["1.13"]["pause"],
DefaultTillerAddonName: k8sComponentVersions["1.13"]["tiller"],
DefaultReschedulerAddonName: k8sComponentVersions["1.13"]["rescheduler"],
DefaultACIConnectorAddonName: k8sComponentVersions["1.13"]["aci-connector"],
ContainerMonitoringAddonName: k8sComponentVersions["1.13"][ContainerMonitoringAddonName],
AzureCNINetworkMonitoringAddonName: k8sComponentVersions["1.13"][AzureCNINetworkMonitoringAddonName],
DefaultClusterAutoscalerAddonName: k8sComponentVersions["1.13"]["cluster-autoscaler"],
"k8s-dns-sidecar": k8sComponentVersions["1.13"]["k8s-dns-sidecar"],
"nodestatusfreq": k8sComponentVersions["1.13"]["nodestatusfreq"],
"nodegraceperiod": k8sComponentVersions["1.13"]["nodegraceperiod"],
"podeviction": k8sComponentVersions["1.13"]["podeviction"],
"routeperiod": k8sComponentVersions["1.13"]["routeperiod"],
"backoffretries": k8sComponentVersions["1.13"]["backoffretries"],
"backoffjitter": k8sComponentVersions["1.13"]["backoffjitter"],
"backoffduration": k8sComponentVersions["1.13"]["backoffduration"],
"backoffexponent": k8sComponentVersions["1.13"]["backoffexponent"],
"ratelimitqps": k8sComponentVersions["1.13"]["ratelimitqps"],
"ratelimitbucket": k8sComponentVersions["1.13"]["ratelimitbucket"],
"gchighthreshold": k8sComponentVersions["1.13"]["gchighthreshold"],
"gclowthreshold": k8sComponentVersions["1.13"]["gclowthreshold"],
NVIDIADevicePluginAddonName: k8sComponentVersions["1.13"][NVIDIADevicePluginAddonName],
}
case "1.12":
ret = map[string]string{
"hyperkube": "hyperkube-amd64:v" + version,

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

@ -117,7 +117,8 @@ func (uc *UpgradeCluster) UpgradeCluster(subscriptionID uuid.UUID, kubeConfig, r
case strings.HasPrefix(upgradeVersion, "1.9."),
strings.HasPrefix(upgradeVersion, "1.10."),
strings.HasPrefix(upgradeVersion, "1.11."),
strings.HasPrefix(upgradeVersion, "1.12."):
strings.HasPrefix(upgradeVersion, "1.12."),
strings.HasPrefix(upgradeVersion, "1.13."):
u := &Upgrader{}
u.Init(uc.Translator, uc.Logger, uc.ClusterTopology, uc.Client, kubeConfig, uc.StepTimeout, acsengineVersion)
upgrader = u