From c5e04ec1f685b500ee32b8e6669d6939eb3352a7 Mon Sep 17 00:00:00 2001 From: Danny Turner Date: Thu, 12 Sep 2019 12:44:59 -0700 Subject: [PATCH] Drop k8s 1.10 support and add 1.15 (#546) * Drop k8s 1.10 support and add 1.15 * Add PR number --- .buildkite/pipeline.nightly.yml | 14 +++++++------- .shopify-build/kubernetes-deploy.yml | 14 +++++++------- CHANGELOG.md | 5 ++++- README.md | 7 ++++--- bin/setup | 4 ++-- lib/kubernetes-deploy/common.rb | 2 +- 6 files changed, 25 insertions(+), 21 deletions(-) diff --git a/.buildkite/pipeline.nightly.yml b/.buildkite/pipeline.nightly.yml index a08702603..cf0f90678 100644 --- a/.buildkite/pipeline.nightly.yml +++ b/.buildkite/pipeline.nightly.yml @@ -1,4 +1,11 @@ steps: + - name: 'Run Test Suite (:kubernetes: 1.15-latest)' + command: bin/ci + agents: + queue: k8s-ci + env: + LOGGING_LEVEL: 4 + KUBERNETES_VERSION: v1.15-latest - name: 'Run Test Suite (:kubernetes: 1.14-latest)' command: bin/ci agents: @@ -27,10 +34,3 @@ steps: env: LOGGING_LEVEL: 4 KUBERNETES_VERSION: v1.11-latest - - name: 'Run Test Suite (:kubernetes: 1.10-latest)' - command: bin/ci - agents: - queue: minikube-ci - env: - LOGGING_LEVEL: 4 - KUBERNETES_VERSION: v1.10-latest diff --git a/.shopify-build/kubernetes-deploy.yml b/.shopify-build/kubernetes-deploy.yml index de3a98029..cf1ff3950 100644 --- a/.shopify-build/kubernetes-deploy.yml +++ b/.shopify-build/kubernetes-deploy.yml @@ -9,6 +9,13 @@ steps: - bundle exec rubocop dependencies: - bundler + - label: 'Run Test Suite (:kubernetes: 1.15-latest)' + command: bin/ci + agents: + queue: k8s-ci + env: + LOGGING_LEVEL: "4" + KUBERNETES_VERSION: v1.15-latest - label: 'Run Test Suite (:kubernetes: 1.14-latest)' command: bin/ci agents: @@ -37,10 +44,3 @@ steps: env: LOGGING_LEVEL: "4" KUBERNETES_VERSION: v1.11-latest - - label: 'Run Test Suite (:kubernetes: 1.10-latest)' - command: bin/ci - agents: - queue: minikube-ci - env: - LOGGING_LEVEL: "4" - KUBERNETES_VERSION: v1.10-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index cc05f8c6d..975316eff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,18 @@ ## next *Enhancements* +- Officially support Kubernetes 1.15 ([#546](https://github.com/Shopify/kubernetes-deploy/pull/546)) - Make sure that we only declare a Service of type LoadBalancer as deployed after its IP address is published. [#547](https://github.com/Shopify/kubernetes-deploy/pull/547) -*Other* +*Other* +- Kubernetes 1.10 is no longer officially supported as of this version ([#546](https://github.com/Shopify/kubernetes-deploy/pull/546)) - We've added a new Krane cli. This code is in alpha. We are providing no warranty at this time and reserve the right to make major breaking changes including removing it entirely at any time. ([#256](https://github.com/Shopify/kubernetes-deploy/issues/256)) - Deprecate `kubernetes-deploy.shopify.io` annotations in favour of `krane.shopify.io`. + ## 0.27.0 *Enhancements* - (alpha) Introduce a new `-f` flag for `kubernetes-deploy`. Allows passing in of multiple directories and/or filenames. Currently only usable by `kubernetes-deploy`, not `kubernetes-render`. [#514](https://github.com/Shopify/kubernetes-deploy/pull/514) diff --git a/README.md b/README.md index e8fbdc31e..70589ce97 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ This repo also includes related tools for [running tasks](#kubernetes-run) and [ ## Prerequisites * Ruby 2.3+ -* Your cluster must be running Kubernetes v1.10.0 or higher1 +* Your cluster must be running Kubernetes v1.11.0 or higher1 * Each app must have a deploy directory containing its Kubernetes templates (see [Templates](#using-templates-and-variables)) 1 We run integration tests against these Kubernetes versions. You can find our @@ -85,10 +85,11 @@ official compatibility chart below. | 1.7 | 0.20.6 | | 1.8 | 0.21.1 | | 1.9 | 0.24.0 | +| 1.10 | 0.27.0 | ## Installation -1. [Install kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-via-curl) (requires v1.10.0 or higher) and make sure it is available in your $PATH +1. [Install kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-via-curl) (requires v1.11.0 or higher) and make sure it is available in your $PATH 2. Set up your [kubeconfig file](https://kubernetes.io/docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/) for access to your cluster(s). 3. `gem install kubernetes-deploy` @@ -466,7 +467,7 @@ Refer to `kubernetes-restart --help` for the authoritative set of options. ## Prerequisites -* You've already deployed a [`PodTemplate`](https://v1-10.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#podtemplate-v1-core) object with field `template` containing a `Pod` specification that does not include the `apiVersion` or `kind` parameters. An example is provided in this repo in `test/fixtures/hello-cloud/template-runner.yml`. +* You've already deployed a [`PodTemplate`](https://v1-10.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#podtemplate-v1-core) object with field `template` containing a `Pod` specification that does not include the `apiVersion` or `kind` parameters. An example is provided in this repo in `test/fixtures/hello-cloud/template-runner.yml`. * The `Pod` specification in that template has a container named `task-runner`. Based on this specification `kubernetes-run` will create a new pod with the entrypoint of the `task-runner ` container overridden with the supplied arguments. diff --git a/bin/setup b/bin/setup index 34748887e..860215c0b 100755 --- a/bin/setup +++ b/bin/setup @@ -9,8 +9,8 @@ if [ ! -x "$(which minikube)" ]; then fi if [ ! -x "$(which kubectl)" ]; then - echo -e "\n\033[0;33mPlease install kubectl version 1.10.0 or higher:\nhttps://kubernetes.io/docs/user-guide/prereqs/\033[0m" + echo -e "\n\033[0;33mPlease install kubectl version 1.11.0 or higher:\nhttps://kubernetes.io/docs/user-guide/prereqs/\033[0m" else KUBECTL_VERSION=$(kubectl version --short --client | grep -oe "v[[:digit:]\.]\+") - echo -e "\n\033[0;32mKubectl version $KUBECTL_VERSION is already installed. This gem requires version v1.10.0 or greater.\033[0m" + echo -e "\n\033[0;32mKubectl version $KUBECTL_VERSION is already installed. This gem requires version v1.11.0 or greater.\033[0m" fi diff --git a/lib/kubernetes-deploy/common.rb b/lib/kubernetes-deploy/common.rb index d4d6873b5..917c007ed 100644 --- a/lib/kubernetes-deploy/common.rb +++ b/lib/kubernetes-deploy/common.rb @@ -19,6 +19,6 @@ require 'kubernetes-deploy/task_config_validator' module KubernetesDeploy - MIN_KUBE_VERSION = '1.10.0' + MIN_KUBE_VERSION = '1.11.0' StatsD.build end