Skip to content
This repository was archived by the owner on Jan 11, 2023. It is now read-only.

Commit 5ce70d3

Browse files
mboersmajackfrancis
authored andcommitted
Add support for Kubernetes v1.13.0-alpha.1 (#4036)
1 parent c5ac451 commit 5ce70d3

File tree

4 files changed

+137
-1
lines changed

4 files changed

+137
-1
lines changed

.circleci/config.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,34 @@ jobs:
175175
path: /go/src/github.com/Azure/acs-engine/_logs
176176
- store_artifacts:
177177
path: /go/src/github.com/Azure/acs-engine/_output
178+
k8s-1.13-release-e2e:
179+
<<: *defaults
180+
steps:
181+
- checkout
182+
- run: |
183+
echo 'export TIMEOUT=20m' >> $BASH_ENV
184+
echo 'export ORCHESTRATOR_RELEASE=1.13' >> $BASH_ENV
185+
echo 'export CLUSTER_DEFINITION=examples/e2e-tests/kubernetes/release/default/definition.json' >> $BASH_ENV
186+
echo 'export CREATE_VNET=true' >> $BASH_ENV
187+
echo 'export ENABLE_KMS_ENCRYPTION=true' >> $BASH_ENV
188+
echo 'export CLEANUP_ON_EXIT=${CLEANUP_ON_EXIT}' >> $BASH_ENV
189+
echo 'export CLEANUP_IF_FAIL=${CLEANUP_IF_FAIL_LINUX}' >> $BASH_ENV
190+
echo 'export RETAIN_SSH=false' >> $BASH_ENV
191+
echo 'export SUBSCRIPTION_ID=${SUBSCRIPTION_ID_E2E_KUBERNETES}' >> $BASH_ENV
192+
echo 'export CLIENT_ID=${SERVICE_PRINCIPAL_CLIENT_ID_E2E_KUBERNETES}' >> $BASH_ENV
193+
echo 'export CLIENT_SECRET=${SERVICE_PRINCIPAL_CLIENT_SECRET_E2E_KUBERNETES}' >> $BASH_ENV
194+
echo 'export CLIENT_OBJECTID=${SERVICE_PRINCIPAL_OBJECT_ID_E2E_KUBERNETES}' >> $BASH_ENV
195+
- run:
196+
name: compile
197+
command: make build-binary
198+
- run:
199+
name: ginkgo k8s e2e tests
200+
command: make test-kubernetes
201+
no_output_timeout: "30m"
202+
- store_artifacts:
203+
path: /go/src/github.com/Azure/acs-engine/_logs
204+
- store_artifacts:
205+
path: /go/src/github.com/Azure/acs-engine/_output
178206
k8s-1.8-release-e2e:
179207
<<: *defaults
180208
steps:
@@ -301,6 +329,31 @@ jobs:
301329
path: /go/src/github.com/Azure/acs-engine/_logs
302330
- store_artifacts:
303331
path: /go/src/github.com/Azure/acs-engine/_output
332+
k8s-windows-1.13-release-e2e:
333+
<<: *defaults
334+
steps:
335+
- checkout
336+
- run: |
337+
echo 'export TIMEOUT=30m' >> $BASH_ENV
338+
echo 'export ORCHESTRATOR_RELEASE=1.13' >> $BASH_ENV
339+
echo 'export CLUSTER_DEFINITION=examples/e2e-tests/kubernetes/windows/hybrid/definition.json' >> $BASH_ENV
340+
echo 'export CLEANUP_ON_EXIT=${CLEANUP_ON_EXIT}' >> $BASH_ENV
341+
echo 'export CLEANUP_IF_FAIL=${CLEANUP_IF_FAIL_WINDOWS}' >> $BASH_ENV
342+
echo 'export RETAIN_SSH=false' >> $BASH_ENV
343+
echo 'export SUBSCRIPTION_ID=${SUBSCRIPTION_ID_E2E_KUBERNETES}' >> $BASH_ENV
344+
echo 'export CLIENT_ID=${SERVICE_PRINCIPAL_CLIENT_ID_E2E_KUBERNETES}' >> $BASH_ENV
345+
echo 'export CLIENT_SECRET=${SERVICE_PRINCIPAL_CLIENT_SECRET_E2E_KUBERNETES}' >> $BASH_ENV
346+
- run:
347+
name: compile
348+
command: make build-binary
349+
- run:
350+
name: ginkgo k8s windows e2e tests
351+
command: make test-kubernetes
352+
no_output_timeout: "30m"
353+
- store_artifacts:
354+
path: /go/src/github.com/Azure/acs-engine/_logs
355+
- store_artifacts:
356+
path: /go/src/github.com/Azure/acs-engine/_output
304357
workflows:
305358
version: 2
306359
build_and_test_pr:
@@ -352,6 +405,12 @@ workflows:
352405
filters:
353406
branches:
354407
ignore: master
408+
- k8s-windows-1.13-release-e2e:
409+
requires:
410+
- pr-e2e-hold
411+
filters:
412+
branches:
413+
ignore: master
355414
- k8s-1.9-release-e2e:
356415
requires:
357416
- pr-e2e-hold
@@ -376,6 +435,12 @@ workflows:
376435
filters:
377436
branches:
378437
ignore: master
438+
- k8s-1.13-release-e2e:
439+
requires:
440+
- pr-e2e-hold
441+
filters:
442+
branches:
443+
ignore: master
379444
build_and_test_master:
380445
jobs:
381446
- test:

pkg/api/common/versions.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ var AllKubernetesSupportedVersions = map[string]bool{
8686
"1.12.0-rc.2": false,
8787
"1.12.0": true,
8888
"1.12.1": true,
89+
"1.13.0-alpha.1": true,
8990
}
9091

9192
// GetDefaultKubernetesVersion returns the default Kubernetes version, that is the latest patch of the default release

pkg/api/k8s_versions.go

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,38 @@ import (
88
)
99

1010
var k8sComponentVersions = map[string]map[string]string{
11+
"1.13": {
12+
"dockerEngine": "1.13.*",
13+
"dashboard": "kubernetes-dashboard-amd64:v1.10.0",
14+
"addon-resizer": "addon-resizer:1.8.1",
15+
"heapster": "heapster-amd64:v1.5.3",
16+
"metrics-server": "metrics-server-amd64:v0.2.1",
17+
"coredns": "coredns:1.2.2",
18+
"kube-dns": "k8s-dns-kube-dns-amd64:1.14.13",
19+
"addon-manager": "kube-addon-manager-amd64:v8.8",
20+
"dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.10",
21+
"pause": "pause-amd64:3.1",
22+
"tiller": "tiller:v2.8.1",
23+
"rescheduler": "rescheduler:v0.4.0",
24+
"aci-connector": "virtual-kubelet:latest",
25+
ContainerMonitoringAddonName: "oms:ciprod05082018",
26+
AzureCNINetworkMonitoringAddonName: "networkmonitor:v0.0.4",
27+
"cluster-autoscaler": "cluster-autoscaler:v1.3.3",
28+
NVIDIADevicePluginAddonName: "k8s-device-plugin:1.11",
29+
"k8s-dns-sidecar": "k8s-dns-sidecar-amd64:1.14.10",
30+
"nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency,
31+
"nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod,
32+
"podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout,
33+
"routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod,
34+
"backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries),
35+
"backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64),
36+
"backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration),
37+
"backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64),
38+
"ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64),
39+
"ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket),
40+
"gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold),
41+
"gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold),
42+
},
1143
"1.12": {
1244
"dockerEngine": "1.13.*",
1345
"dashboard": "kubernetes-dashboard-amd64:v1.10.0",
@@ -281,6 +313,43 @@ func getK8sVersionComponents(version string, overrides map[string]string) map[st
281313
majorMinor := strings.Join(s[:2], ".")
282314
var ret map[string]string
283315
switch majorMinor {
316+
case "1.13":
317+
ret = map[string]string{
318+
"hyperkube": "hyperkube-amd64:v" + version,
319+
"ccm": "cloud-controller-manager-amd64:v" + version,
320+
"windowszip": "v" + version + "-1int.zip",
321+
"dockerEngineVersion": k8sComponentVersions["1.13"]["dockerEngine"],
322+
DefaultDashboardAddonName: k8sComponentVersions["1.13"]["dashboard"],
323+
"exechealthz": k8sComponentVersions["1.13"]["exechealthz"],
324+
"addonresizer": k8sComponentVersions["1.13"]["addon-resizer"],
325+
"heapster": k8sComponentVersions["1.13"]["heapster"],
326+
DefaultMetricsServerAddonName: k8sComponentVersions["1.13"]["metrics-server"],
327+
"coredns": k8sComponentVersions["1.13"]["coredns"],
328+
"kube-dns": k8sComponentVersions["1.13"]["kube-dns"],
329+
"addonmanager": k8sComponentVersions["1.13"]["addon-manager"],
330+
"dnsmasq": k8sComponentVersions["1.13"]["dnsmasq"],
331+
"pause": k8sComponentVersions["1.13"]["pause"],
332+
DefaultTillerAddonName: k8sComponentVersions["1.13"]["tiller"],
333+
DefaultReschedulerAddonName: k8sComponentVersions["1.13"]["rescheduler"],
334+
DefaultACIConnectorAddonName: k8sComponentVersions["1.13"]["aci-connector"],
335+
ContainerMonitoringAddonName: k8sComponentVersions["1.13"][ContainerMonitoringAddonName],
336+
AzureCNINetworkMonitoringAddonName: k8sComponentVersions["1.13"][AzureCNINetworkMonitoringAddonName],
337+
DefaultClusterAutoscalerAddonName: k8sComponentVersions["1.13"]["cluster-autoscaler"],
338+
"k8s-dns-sidecar": k8sComponentVersions["1.13"]["k8s-dns-sidecar"],
339+
"nodestatusfreq": k8sComponentVersions["1.13"]["nodestatusfreq"],
340+
"nodegraceperiod": k8sComponentVersions["1.13"]["nodegraceperiod"],
341+
"podeviction": k8sComponentVersions["1.13"]["podeviction"],
342+
"routeperiod": k8sComponentVersions["1.13"]["routeperiod"],
343+
"backoffretries": k8sComponentVersions["1.13"]["backoffretries"],
344+
"backoffjitter": k8sComponentVersions["1.13"]["backoffjitter"],
345+
"backoffduration": k8sComponentVersions["1.13"]["backoffduration"],
346+
"backoffexponent": k8sComponentVersions["1.13"]["backoffexponent"],
347+
"ratelimitqps": k8sComponentVersions["1.13"]["ratelimitqps"],
348+
"ratelimitbucket": k8sComponentVersions["1.13"]["ratelimitbucket"],
349+
"gchighthreshold": k8sComponentVersions["1.13"]["gchighthreshold"],
350+
"gclowthreshold": k8sComponentVersions["1.13"]["gclowthreshold"],
351+
NVIDIADevicePluginAddonName: k8sComponentVersions["1.13"][NVIDIADevicePluginAddonName],
352+
}
284353
case "1.12":
285354
ret = map[string]string{
286355
"hyperkube": "hyperkube-amd64:v" + version,

pkg/operations/kubernetesupgrade/upgradecluster.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ func (uc *UpgradeCluster) UpgradeCluster(subscriptionID uuid.UUID, kubeConfig, r
117117
case strings.HasPrefix(upgradeVersion, "1.9."),
118118
strings.HasPrefix(upgradeVersion, "1.10."),
119119
strings.HasPrefix(upgradeVersion, "1.11."),
120-
strings.HasPrefix(upgradeVersion, "1.12."):
120+
strings.HasPrefix(upgradeVersion, "1.12."),
121+
strings.HasPrefix(upgradeVersion, "1.13."):
121122
u := &Upgrader{}
122123
u.Init(uc.Translator, uc.Logger, uc.ClusterTopology, uc.Client, kubeConfig, uc.StepTimeout, acsengineVersion)
123124
upgrader = u

0 commit comments

Comments
 (0)