From 8a7791e13ad16a020ec255cc3cb5de5b1ef1dca3 Mon Sep 17 00:00:00 2001 From: Mark Burnett Date: Thu, 3 May 2018 13:43:08 -0500 Subject: [PATCH] Bump Kubernetes version from 1.8.6 to 1.10.2 * Updates version references * Increase memory of test VMs due to higher usage with bump * Move etcd chart scripts from /tmp to /tmp/bin * Remove certificate signing options for controller manager * Remove -a from `kubectl get pods`, since that is deprecated in 1.10 * Shorten liveness/readiness probe times for CoreDNS Change-Id: I16db0370f1c619e16002dd58e29025eb1538691f --- charts/apiserver/values.yaml | 4 ++-- charts/controller_manager/values.yaml | 4 ++-- charts/coredns/templates/deployment.yaml | 6 +++--- charts/etcd/templates/daemonset-anchor.yaml | 8 ++++---- charts/haproxy/values.yaml | 2 +- .../templates/tests/test-promenade-api.yaml | 4 ++++ charts/promenade/values.yaml | 5 +++++ charts/proxy/values.yaml | 2 +- charts/scheduler/values.yaml | 4 ++-- docs/source/configuration/genesis.rst | 6 +++--- docs/source/configuration/host-system.rst | 4 ++-- examples/basic/Genesis.yaml | 6 +++--- examples/basic/HostSystem.yaml | 4 ++-- examples/basic/armada-resources.yaml | 16 ++++++++-------- examples/complete/Genesis.yaml | 6 +++--- examples/complete/HostSystem.yaml | 4 ++-- examples/complete/armada-resources.yaml | 16 ++++++++-------- promenade/templates/include/utils.sh | 6 +++--- .../manifests/kubernetes-controller-manager.yaml | 2 -- tools/g2/manifests/resiliency.json | 2 +- tools/gate/default-config-env | 4 ++-- tools/registry/IMAGES | 2 +- 22 files changed, 62 insertions(+), 55 deletions(-) diff --git a/charts/apiserver/values.yaml b/charts/apiserver/values.yaml index 9c088f96..0a563bfa 100644 --- a/charts/apiserver/values.yaml +++ b/charts/apiserver/values.yaml @@ -16,8 +16,8 @@ release_group: null images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - apiserver: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + apiserver: gcr.io/google_containers/hyperkube-amd64:v1.10.2 dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.2.1 pull_policy: "IfNotPresent" diff --git a/charts/controller_manager/values.yaml b/charts/controller_manager/values.yaml index 323a8283..19780282 100644 --- a/charts/controller_manager/values.yaml +++ b/charts/controller_manager/values.yaml @@ -16,8 +16,8 @@ release_group: null images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - controller_manager: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + controller_manager: gcr.io/google_containers/hyperkube-amd64:v1.10.2 dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.2.1 pull_policy: "IfNotPresent" diff --git a/charts/coredns/templates/deployment.yaml b/charts/coredns/templates/deployment.yaml index 27d0acca..3c623796 100644 --- a/charts/coredns/templates/deployment.yaml +++ b/charts/coredns/templates/deployment.yaml @@ -76,7 +76,7 @@ spec: path: /health port: 8080 scheme: HTTP - initialDelaySeconds: 5 + initialDelaySeconds: 2 timeoutSeconds: 5 successThreshold: 1 livenessProbe: @@ -84,10 +84,10 @@ spec: path: /health port: 8080 scheme: HTTP - initialDelaySeconds: 60 + initialDelaySeconds: 10 timeoutSeconds: 5 successThreshold: 1 - failureThreshold: 5 + failureThreshold: 3 dnsPolicy: Default volumes: - name: config-volume diff --git a/charts/etcd/templates/daemonset-anchor.yaml b/charts/etcd/templates/daemonset-anchor.yaml index 7aa166f2..b4891196 100644 --- a/charts/etcd/templates/daemonset-anchor.yaml +++ b/charts/etcd/templates/daemonset-anchor.yaml @@ -49,7 +49,7 @@ spec: imagePullPolicy: {{ .Values.images.pull_policy }} {{ tuple $envAll $envAll.Values.pod.resources.daemonset_anchor | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} command: - - /tmp/etcdctl_anchor + - /tmp/bin/etcdctl_anchor env: - name: ETCD_NAME valueFrom: @@ -80,17 +80,17 @@ spec: readinessProbe: exec: command: - - /tmp/readiness + - /tmp/bin/readiness initialDelaySeconds: 15 periodSeconds: 30 lifecycle: preStop: exec: command: - - /tmp/pre_stop + - /tmp/bin/pre_stop volumeMounts: - name: {{ .Values.service.name }}-bin - mountPath: /tmp + mountPath: /tmp/bin {{- if .Values.bootstrapping.enabled }} - name: bootstrapping mountPath: /bootstrapping diff --git a/charts/haproxy/values.yaml b/charts/haproxy/values.yaml index b8d16a6e..4114baab 100644 --- a/charts/haproxy/values.yaml +++ b/charts/haproxy/values.yaml @@ -59,7 +59,7 @@ conf: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 haproxy: haproxy:1.8.3 test: busybox:1.28.3 pull_policy: "IfNotPresent" diff --git a/charts/promenade/templates/tests/test-promenade-api.yaml b/charts/promenade/templates/tests/test-promenade-api.yaml index 80659eb3..37dcdd4a 100644 --- a/charts/promenade/templates/tests/test-promenade-api.yaml +++ b/charts/promenade/templates/tests/test-promenade-api.yaml @@ -16,6 +16,8 @@ {{/* Test that the API is up and the health endpoint returns a 2XX code */}} {{- if .Values.manifests.test_promenade_api }} +{{- $envAll := . }} +{{- $dependencies := .Values.dependencies.test }} --- apiVersion: v1 kind: Pod @@ -25,6 +27,8 @@ metadata: "helm.sh/hook": "test-success" spec: restartPolicy: Never + initContainers: +{{ tuple $envAll $dependencies list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 4 }} containers: - name: "{{ .Release.Name }}-api-test" env: diff --git a/charts/promenade/values.yaml b/charts/promenade/values.yaml index 81adec96..9347ad6a 100644 --- a/charts/promenade/values.yaml +++ b/charts/promenade/values.yaml @@ -40,6 +40,11 @@ images: ks_endpoints: docker.io/openstackhelm/heat:newton pull_policy: IfNotPresent +dependencies: + test: + services: + - service: promenade-api + labels: node_selector_key: ucp-control-plane node_selector_value: enabled diff --git a/charts/proxy/values.yaml b/charts/proxy/values.yaml index 569c9762..233467f8 100644 --- a/charts/proxy/values.yaml +++ b/charts/proxy/values.yaml @@ -41,7 +41,7 @@ pod: images: tags: - proxy: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + proxy: gcr.io/google_containers/hyperkube-amd64:v1.10.2 pull_policy: "IfNotPresent" command_prefix: diff --git a/charts/scheduler/values.yaml b/charts/scheduler/values.yaml index c8e52079..5a63db0e 100644 --- a/charts/scheduler/values.yaml +++ b/charts/scheduler/values.yaml @@ -63,8 +63,8 @@ secrets: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - scheduler: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + scheduler: gcr.io/google_containers/hyperkube-amd64:v1.10.2 pull_policy: "IfNotPresent" network: diff --git a/docs/source/configuration/genesis.rst b/docs/source/configuration/genesis.rst index d7689e9b..d23bee2a 100644 --- a/docs/source/configuration/genesis.rst +++ b/docs/source/configuration/genesis.rst @@ -41,10 +41,10 @@ Here is a complete sample document: helm: tiller: gcr.io/kubernetes-helm/tiller:v2.7.2 kubernetes: - apiserver: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - controller-manager: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + apiserver: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + controller-manager: gcr.io/google_containers/hyperkube-amd64:v1.10.2 etcd: quay.io/coreos/etcd:v3.0.17 - scheduler: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + scheduler: gcr.io/google_containers/hyperkube-amd64:v1.10.2 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "" diff --git a/docs/source/configuration/host-system.rst b/docs/source/configuration/host-system.rst index b800be81..e9a9f95d 100644 --- a/docs/source/configuration/host-system.rst +++ b/docs/source/configuration/host-system.rst @@ -16,7 +16,7 @@ Sample Document data: files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.8.6/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.10.2/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 images: @@ -24,7 +24,7 @@ Sample Document helm: helm: lachlanevenson/k8s-helm:v2.7.2 kubernetes: - kubectl: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + kubectl: gcr.io/google_containers/hyperkube-amd64:v1.10.2 packages: repositories: - deb http://apt.dockerproject.org/repo ubuntu-xenial main diff --git a/examples/basic/Genesis.yaml b/examples/basic/Genesis.yaml index f924e500..bf57d352 100644 --- a/examples/basic/Genesis.yaml +++ b/examples/basic/Genesis.yaml @@ -26,10 +26,10 @@ data: helm: tiller: gcr.io/kubernetes-helm/tiller:v2.7.2 kubernetes: - apiserver: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - controller-manager: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + apiserver: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + controller-manager: gcr.io/google_containers/hyperkube-amd64:v1.10.2 etcd: quay.io/coreos/etcd:v3.2.14 - scheduler: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + scheduler: gcr.io/google_containers/hyperkube-amd64:v1.10.2 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "# placeholder for triggering calico etcd bootstrapping" diff --git a/examples/basic/HostSystem.yaml b/examples/basic/HostSystem.yaml index 4f5ad665..8b303875 100644 --- a/examples/basic/HostSystem.yaml +++ b/examples/basic/HostSystem.yaml @@ -9,7 +9,7 @@ metadata: data: files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.8.6/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.10.2/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 - path: /etc/logrotate.d/json-logrotate @@ -34,7 +34,7 @@ data: helm: helm: lachlanevenson/k8s-helm:v2.7.2 kubernetes: - kubectl: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + kubectl: gcr.io/google_containers/hyperkube-amd64:v1.10.2 packages: repositories: - deb http://apt.dockerproject.org/repo ubuntu-xenial main diff --git a/examples/basic/armada-resources.yaml b/examples/basic/armada-resources.yaml index 06e42c2b..77589a54 100644 --- a/examples/basic/armada-resources.yaml +++ b/examples/basic/armada-resources.yaml @@ -161,7 +161,7 @@ data: values: images: tags: - proxy: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + proxy: gcr.io/google_containers/hyperkube-amd64:v1.10.2 network: kubernetes_netloc: 127.0.0.1:6553 source: @@ -611,7 +611,7 @@ data: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 haproxy: haproxy:1.8.3 test: busybox:1.28.3 @@ -697,8 +697,8 @@ data: endpoints: https://127.0.0.1:2378 images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - apiserver: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + apiserver: gcr.io/google_containers/hyperkube-amd64:v1.10.2 secrets: service_account: public_key: placeholder @@ -774,8 +774,8 @@ data: values: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - controller_manager: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + controller_manager: gcr.io/google_containers/hyperkube-amd64:v1.10.2 secrets: service_account: private_key: placeholder @@ -847,8 +847,8 @@ data: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - scheduler: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + scheduler: gcr.io/google_containers/hyperkube-amd64:v1.10.2 source: type: local diff --git a/examples/complete/Genesis.yaml b/examples/complete/Genesis.yaml index 037bde62..4928b219 100644 --- a/examples/complete/Genesis.yaml +++ b/examples/complete/Genesis.yaml @@ -32,10 +32,10 @@ data: helm: tiller: gcr.io/kubernetes-helm/tiller:v2.7.2 kubernetes: - apiserver: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - controller-manager: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + apiserver: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + controller-manager: gcr.io/google_containers/hyperkube-amd64:v1.10.2 etcd: quay.io/coreos/etcd:v3.2.14 - scheduler: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + scheduler: gcr.io/google_containers/hyperkube-amd64:v1.10.2 files: - path: /var/lib/anchor/calico-etcd-bootstrap content: "# placeholder for triggering calico etcd bootstrapping" diff --git a/examples/complete/HostSystem.yaml b/examples/complete/HostSystem.yaml index 921adc2e..c84c4afb 100644 --- a/examples/complete/HostSystem.yaml +++ b/examples/complete/HostSystem.yaml @@ -10,7 +10,7 @@ metadata: data: files: - path: /opt/kubernetes/bin/kubelet - tar_url: https://dl.k8s.io/v1.8.6/kubernetes-node-linux-amd64.tar.gz + tar_url: https://dl.k8s.io/v1.10.2/kubernetes-node-linux-amd64.tar.gz tar_path: kubernetes/node/bin/kubelet mode: 0555 - path: /etc/logrotate.d/json-logrotate @@ -35,7 +35,7 @@ data: helm: helm: lachlanevenson/k8s-helm:v2.7.2 kubernetes: - kubectl: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + kubectl: gcr.io/google_containers/hyperkube-amd64:v1.10.2 packages: repositories: - deb http://apt.dockerproject.org/repo ubuntu-xenial main diff --git a/examples/complete/armada-resources.yaml b/examples/complete/armada-resources.yaml index 593c6ba5..b872a3a7 100644 --- a/examples/complete/armada-resources.yaml +++ b/examples/complete/armada-resources.yaml @@ -201,7 +201,7 @@ data: values: images: tags: - proxy: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + proxy: gcr.io/google_containers/hyperkube-amd64:v1.10.2 network: kubernetes_netloc: 127.0.0.1:6553 source: @@ -645,7 +645,7 @@ data: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 haproxy: haproxy:1.8.3 test: busybox:1.28.3 @@ -731,8 +731,8 @@ data: endpoints: https://127.0.0.1:2378 images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - apiserver: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + apiserver: gcr.io/google_containers/hyperkube-amd64:v1.10.2 secrets: service_account: public_key: placeholder @@ -808,8 +808,8 @@ data: values: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - controller_manager: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + controller_manager: gcr.io/google_containers/hyperkube-amd64:v1.10.2 secrets: service_account: private_key: placeholder @@ -881,8 +881,8 @@ data: images: tags: - anchor: gcr.io/google_containers/hyperkube-amd64:v1.8.6 - scheduler: gcr.io/google_containers/hyperkube-amd64:v1.8.6 + anchor: gcr.io/google_containers/hyperkube-amd64:v1.10.2 + scheduler: gcr.io/google_containers/hyperkube-amd64:v1.10.2 source: type: local diff --git a/promenade/templates/include/utils.sh b/promenade/templates/include/utils.sh index f03057f2..048a2798 100644 --- a/promenade/templates/include/utils.sh +++ b/promenade/templates/include/utils.sh @@ -195,19 +195,19 @@ function wait_for_pod_termination { end=$(($(date +%s) + $SEC)) while true; do - POD_PHASE=$(kubectl --request-timeout 10s --namespace $NAMESPACE get -a -o jsonpath="${POD_PHASE_JSONPATH}" pod $POD_NAME) + POD_PHASE=$(kubectl --request-timeout 10s --namespace $NAMESPACE get -o jsonpath="${POD_PHASE_JSONPATH}" pod $POD_NAME) if [ "x$POD_PHASE" = "xSucceeded" ]; then log Pod $POD_NAME succeeded. break elif [ "x$POD_PHASE" = "xFailed" ]; then log Pod $POD_NAME failed. - kubectl --request-timeout 10s --namespace $NAMESPACE get -a -o yaml pod $POD_NAME 1>&2 + kubectl --request-timeout 10s --namespace $NAMESPACE get -o yaml pod $POD_NAME 1>&2 fail else now=$(date +%s) if [ $now -gt $end ]; then log Pod did not terminate before timeout. - kubectl --request-timeout 10s --namespace $NAMESPACE get -a -o yaml pod $POD_NAME 1>&2 + kubectl --request-timeout 10s --namespace $NAMESPACE get -o yaml pod $POD_NAME 1>&2 fail fi sleep 1 diff --git a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml index 4e87516d..a4f32206 100644 --- a/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml +++ b/promenade/templates/roles/genesis/etc/kubernetes/manifests/kubernetes-controller-manager.yaml @@ -18,8 +18,6 @@ spec: - kube-controller-manager - --allocate-node-cidrs=true - --cluster-cidr={{ config['KubernetesNetwork:kubernetes.pod_cidr'] }} - - --cluster-signing-cert-file=/etc/kubernetes/controller-manager/pki/cluster-ca.pem - - --cluster-signing-key-file=/etc/kubernetes/controller-manager/pki/cluster-ca-key.pem - --configure-cloud-routes=false - --leader-elect=true - --kubeconfig=/etc/kubernetes/controller-manager/kubeconfig.yaml diff --git a/tools/g2/manifests/resiliency.json b/tools/g2/manifests/resiliency.json index 40bbedcb..9a129292 100644 --- a/tools/g2/manifests/resiliency.json +++ b/tools/g2/manifests/resiliency.json @@ -117,7 +117,7 @@ } ], "vm": { - "memory": 2048, + "memory": 3072, "names": [ "n0", "n1", diff --git a/tools/gate/default-config-env b/tools/gate/default-config-env index b2f1438e..e2792040 100644 --- a/tools/gate/default-config-env +++ b/tools/gate/default-config-env @@ -8,6 +8,6 @@ IMAGE_DEP_CHECK=quay.io/stackanetes/kubernetes-entrypoint:v0.2.1 IMAGE_ETCD=quay.io/coreos/etcd:v3.2.14 IMAGE_HAPROXY=haproxy:1.8.3 IMAGE_HELM=lachlanevenson/k8s-helm:v2.7.2 -IMAGE_HYPERKUBE=gcr.io/google_containers/hyperkube-amd64:v1.8.6 +IMAGE_HYPERKUBE=gcr.io/google_containers/hyperkube-amd64:v1.10.2 IMAGE_TILLER=gcr.io/kubernetes-helm/tiller:v2.7.2 -KUBELET_URL=https://dl.k8s.io/v1.8.6/kubernetes-node-linux-amd64.tar.gz +KUBELET_URL=https://dl.k8s.io/v1.10.2/kubernetes-node-linux-amd64.tar.gz diff --git a/tools/registry/IMAGES b/tools/registry/IMAGES index 5dee60a2..ff95911a 100644 --- a/tools/registry/IMAGES +++ b/tools/registry/IMAGES @@ -1,6 +1,6 @@ # source_name, tag, cache_name coredns/coredns,0.9.9,coredns -gcr.io/google_containers/hyperkube-amd64,v1.8.6,hyperkube +gcr.io/google_containers/hyperkube-amd64,v1.10.2,hyperkube gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64,1.14.4,k8s-dns-dnsmasq-nanny-amd64 gcr.io/google_containers/k8s-dns-kube-dns-amd64,1.14.4,k8s-dns-kube-dns-amd64 gcr.io/google_containers/k8s-dns-sidecar-amd64,1.14.4,k8s-dns-sidecar-amd64