Update default etcd server to 3.4.3

This commit is contained in:
Jingyi Hu 2019-10-24 20:50:48 -07:00
parent 51c8bd3113
commit 706cde51c5
16 changed files with 38 additions and 31 deletions

View File

@ -1,6 +1,6 @@
dependencies: dependencies:
- name: "etcd" - name: "etcd"
version: 3.3.17 version: 3.4.3
refPaths: refPaths:
- path: cluster/gce/manifests/etcd.manifest - path: cluster/gce/manifests/etcd.manifest
match: etcd_docker_tag|etcd_version match: etcd_docker_tag|etcd_version

View File

@ -38,11 +38,11 @@ _CRI_TARBALL_ARCH_SHA256 = {
"windows-amd64": "7d092dcb3b1af2edf75477d5d049a70e8c0d1ac8242b1dff2de7e6aa084e3615", "windows-amd64": "7d092dcb3b1af2edf75477d5d049a70e8c0d1ac8242b1dff2de7e6aa084e3615",
} }
ETCD_VERSION = "3.3.17" ETCD_VERSION = "3.4.3"
_ETCD_TARBALL_ARCH_SHA256 = { _ETCD_TARBALL_ARCH_SHA256 = {
"amd64": "8c1168a24d17a2d6772f8148ea35d4f3398c51f1e23db90c849d506adb387060", "amd64": "6c642b723a86941b99753dff6c00b26d3b033209b15ee33325dc8e7f4cd68f07",
"arm64": "0ea20dfbf3085f584f788287fd398979d0f1271549be6497d81ec635b9b4c121", "arm64": "01bd849ad99693600bd59db8d0e66ac64aac1e3801900665c31bd393972e3554",
"ppc64le": "49cef090eb67f0d24ebd1733303ed2088c291ad47c60f57746da9f689aa1de7a", "ppc64le": "3f20888d6efb7f2665ebe278860eec6e8fc9555624e56c3d93f5a6b6dd90a21a",
} }
# Dependencies needed for a Kubernetes "release", e.g. building docker images, # Dependencies needed for a Kubernetes "release", e.g. building docker images,

View File

@ -199,7 +199,7 @@ HEAPSTER_MACHINE_TYPE="${HEAPSTER_MACHINE_TYPE:-}"
NUM_ADDITIONAL_NODES="${NUM_ADDITIONAL_NODES:-}" NUM_ADDITIONAL_NODES="${NUM_ADDITIONAL_NODES:-}"
ADDITIONAL_MACHINE_TYPE="${ADDITIONAL_MACHINE_TYPE:-}" ADDITIONAL_MACHINE_TYPE="${ADDITIONAL_MACHINE_TYPE:-}"
# Set etcd image (e.g. k8s.gcr.io/etcd) and version (e.g. 3.3.15-0) if you need # Set etcd image (e.g. k8s.gcr.io/etcd) and version (e.g. 3.4.3-0) if you need
# non-default version. # non-default version.
ETCD_IMAGE="${TEST_ETCD_IMAGE:-}" ETCD_IMAGE="${TEST_ETCD_IMAGE:-}"
ETCD_DOCKER_REPOSITORY="${TEST_ETCD_DOCKER_REPOSITORY:-}" ETCD_DOCKER_REPOSITORY="${TEST_ETCD_DOCKER_REPOSITORY:-}"

View File

@ -13,4 +13,4 @@ spec:
dnsPolicy: Default dnsPolicy: Default
containers: containers:
- name: etcd-empty-dir-cleanup - name: etcd-empty-dir-cleanup
image: k8s.gcr.io/etcd-empty-dir-cleanup:3.3.17.0 image: k8s.gcr.io/etcd-empty-dir-cleanup:3.4.3.0

View File

@ -14,7 +14,7 @@
"containers":[ "containers":[
{ {
"name": "etcd-container", "name": "etcd-container",
"image": "{{ pillar.get('etcd_docker_repository', 'k8s.gcr.io/etcd') }}:{{ pillar.get('etcd_docker_tag', '3.3.17-0') }}", "image": "{{ pillar.get('etcd_docker_repository', 'k8s.gcr.io/etcd') }}:{{ pillar.get('etcd_docker_tag', '3.4.3-0') }}",
"resources": { "resources": {
"requests": { "requests": {
"cpu": {{ cpulimit }} "cpu": {{ cpulimit }}
@ -30,7 +30,7 @@
"value": "{{ pillar.get('storage_backend', 'etcd3') }}" "value": "{{ pillar.get('storage_backend', 'etcd3') }}"
}, },
{ "name": "TARGET_VERSION", { "name": "TARGET_VERSION",
"value": "{{ pillar.get('etcd_version', '3.3.17') }}" "value": "{{ pillar.get('etcd_version', '3.4.3') }}"
}, },
{ "name": "DATA_DIRECTORY", { "name": "DATA_DIRECTORY",
"value": "/var/etcd/data{{ suffix }}" "value": "/var/etcd/data{{ suffix }}"

View File

@ -170,8 +170,8 @@ export KUBE_GCE_ENABLE_IP_ALIASES=true
export SECONDARY_RANGE_NAME="pods-default" export SECONDARY_RANGE_NAME="pods-default"
export STORAGE_BACKEND="etcd3" export STORAGE_BACKEND="etcd3"
export STORAGE_MEDIA_TYPE="application/vnd.kubernetes.protobuf" export STORAGE_MEDIA_TYPE="application/vnd.kubernetes.protobuf"
export ETCD_IMAGE=3.3.17-0 export ETCD_IMAGE=3.4.3-0
export ETCD_VERSION=3.3.17 export ETCD_VERSION=3.4.3
# Upgrade master with updated kube envs # Upgrade master with updated kube envs
"${KUBE_ROOT}/cluster/gce/upgrade.sh" -M -l "${KUBE_ROOT}/cluster/gce/upgrade.sh" -M -l

View File

@ -14,13 +14,13 @@
.PHONY: build push .PHONY: build push
ETCD_VERSION = 3.3.17 ETCD_VERSION = 3.4.3
# Image should be pulled from k8s.gcr.io, which will auto-detect # Image should be pulled from k8s.gcr.io, which will auto-detect
# region (us, eu, asia, ...) and pull from the closest. # region (us, eu, asia, ...) and pull from the closest.
REGISTRY = k8s.gcr.io REGISTRY = k8s.gcr.io
# Images should be pushed to staging-k8s.gcr.io. # Images should be pushed to staging-k8s.gcr.io.
PUSH_REGISTRY = staging-k8s.gcr.io PUSH_REGISTRY = staging-k8s.gcr.io
TAG = 3.3.17.0 TAG = 3.4.3.0
clean: clean:
rm -rf etcdctl etcd-v$(ETCD_VERSION)-linux-amd64 etcd-v$(ETCD_VERSION)-linux-amd64.tar.gz rm -rf etcdctl etcd-v$(ETCD_VERSION)-linux-amd64 etcd-v$(ETCD_VERSION)-linux-amd64.tar.gz

View File

@ -15,7 +15,7 @@
# Build the etcd image # Build the etcd image
# #
# Usage: # Usage:
# [BUNDLED_ETCD_VERSIONS=3.0.17 3.1.12 3.2.24 3.3.17] [REGISTRY=k8s.gcr.io] [ARCH=amd64] [BASEIMAGE=busybox] make (build|push) # [BUNDLED_ETCD_VERSIONS=3.0.17 3.1.12 3.2.24 3.3.17 3.4.3] [REGISTRY=k8s.gcr.io] [ARCH=amd64] [BASEIMAGE=busybox] make (build|push)
# #
# The image contains different etcd versions to simplify # The image contains different etcd versions to simplify
# upgrades. Thus be careful when removing any versions from here. # upgrades. Thus be careful when removing any versions from here.
@ -26,10 +26,10 @@
# Except from etcd-$(version) and etcdctl-$(version) binaries, we also # Except from etcd-$(version) and etcdctl-$(version) binaries, we also
# need etcd and etcdctl binaries for backward compatibility reasons. # need etcd and etcdctl binaries for backward compatibility reasons.
# That binary will be set to the last version from $(BUNDLED_ETCD_VERSIONS). # That binary will be set to the last version from $(BUNDLED_ETCD_VERSIONS).
BUNDLED_ETCD_VERSIONS?=3.0.17 3.1.12 3.2.24 3.3.17 BUNDLED_ETCD_VERSIONS?=3.0.17 3.1.12 3.2.24 3.3.17 3.4.3
# LATEST_ETCD_VERSION identifies the most recent etcd version available. # LATEST_ETCD_VERSION identifies the most recent etcd version available.
LATEST_ETCD_VERSION?=3.3.17 LATEST_ETCD_VERSION?=3.4.3
# REVISION provides a version number fo this image and all it's bundled # REVISION provides a version number fo this image and all it's bundled
# artifacts. It should start at zero for each LATEST_ETCD_VERSION and increment # artifacts. It should start at zero for each LATEST_ETCD_VERSION and increment
@ -113,11 +113,16 @@ else
arch_prefix="GOARM=$(GOARM)" arch_prefix="GOARM=$(GOARM)"
endif endif
# use '/go/src/go.etcd.io/etcd' to build etcd 3.4 and later.
for version in $(BUNDLED_ETCD_VERSIONS); do \ for version in $(BUNDLED_ETCD_VERSIONS); do \
etcd_release_tmp_dir=$(shell mktemp -d); \ etcd_release_tmp_dir=$(shell mktemp -d); \
etcd_build_dir="/go/src/github.com/coreos/etcd"; \
if [ $$(echo $$version | cut -d. -f2) -gt 3 ]; then \
etcd_build_dir="/go/src/go.etcd.io/etcd"; \
fi; \
docker run --interactive -v $${etcd_release_tmp_dir}:/etcdbin golang:$(GOLANG_VERSION)$(DOCKER_VOL_OPTS) /bin/bash -c \ docker run --interactive -v $${etcd_release_tmp_dir}:/etcdbin golang:$(GOLANG_VERSION)$(DOCKER_VOL_OPTS) /bin/bash -c \
"git clone https://github.com/coreos/etcd /go/src/github.com/coreos/etcd \ "git clone https://github.com/coreos/etcd $$etcd_build_dir \
&& cd /go/src/github.com/coreos/etcd \ && cd $$etcd_build_dir \
&& git checkout v$${version} \ && git checkout v$${version} \
&& $(arch_prefix) GOARCH=$(ARCH) ./build \ && $(arch_prefix) GOARCH=$(ARCH) ./build \
&& cp -f bin/$(ARCH)/etcd* bin/etcd* /etcdbin; echo 'done'"; \ && cp -f bin/$(ARCH)/etcd* bin/etcd* /etcdbin; echo 'done'"; \

View File

@ -26,7 +26,7 @@ server.
`migrate` writes a `version.txt` file to track the "current" version `migrate` writes a `version.txt` file to track the "current" version
of etcd that was used to persist data to disk. A "target" version may also be provided of etcd that was used to persist data to disk. A "target" version may also be provided
by the `TARGET_STORAGE` (e.g. "etcd3") and `TARGET_VERSION` (e.g. "3.3.15" ) by the `TARGET_STORAGE` (e.g. "etcd3") and `TARGET_VERSION` (e.g. "3.4.3" )
environment variables. If the persisted version differs from the target version, environment variables. If the persisted version differs from the target version,
`migrate-if-needed.sh` will migrate the data from the current to the target `migrate-if-needed.sh` will migrate the data from the current to the target
version. version.

View File

@ -18,7 +18,8 @@
# This script performs etcd upgrade based on the following environmental # This script performs etcd upgrade based on the following environmental
# variables: # variables:
# TARGET_STORAGE - API of etcd to be used (supported: 'etcd3') # TARGET_STORAGE - API of etcd to be used (supported: 'etcd3')
# TARGET_VERSION - etcd release to be used (supported: '3.0.17', '3.1.12', '3.2.24', "3.3.17") # TARGET_VERSION - etcd release to be used (supported: '3.0.17', '3.1.12',
# '3.2.24', "3.3.17", "3.4.3")
# DATA_DIRECTORY - directory with etcd data # DATA_DIRECTORY - directory with etcd data
# #
# The current etcd version and storage format is detected based on the # The current etcd version and storage format is detected based on the
@ -29,6 +30,7 @@
# - 3.0.17/etcd3 -> 3.1.12/etcd3 # - 3.0.17/etcd3 -> 3.1.12/etcd3
# - 3.1.12/etcd3 -> 3.2.24/etcd3 # - 3.1.12/etcd3 -> 3.2.24/etcd3
# - 3.2.24/etcd3 -> 3.3.17/etcd3 # - 3.2.24/etcd3 -> 3.3.17/etcd3
# - 3.3.17/etcd3 -> 3.4.3/etcd3
# #
# NOTE: The releases supported in this script has to match release binaries # NOTE: The releases supported in this script has to match release binaries
# present in the etcd image (to make this script work correctly). # present in the etcd image (to make this script work correctly).
@ -41,7 +43,7 @@ set -o nounset
# NOTE: BUNDLED_VERSION has to match release binaries present in the # NOTE: BUNDLED_VERSION has to match release binaries present in the
# etcd image (to make this script work correctly). # etcd image (to make this script work correctly).
BUNDLED_VERSIONS="3.0.17, 3.1.12, 3.2.24, 3.3.17" BUNDLED_VERSIONS="3.0.17, 3.1.12, 3.2.24, 3.3.17, 3.4.3"
ETCD_NAME="${ETCD_NAME:-etcd-$(hostname)}" ETCD_NAME="${ETCD_NAME:-etcd-$(hostname)}"
if [ -z "${DATA_DIRECTORY:-}" ]; then if [ -z "${DATA_DIRECTORY:-}" ]; then

View File

@ -261,7 +261,7 @@ const (
MinExternalEtcdVersion = "3.2.18" MinExternalEtcdVersion = "3.2.18"
// DefaultEtcdVersion indicates the default etcd version that kubeadm uses // DefaultEtcdVersion indicates the default etcd version that kubeadm uses
DefaultEtcdVersion = "3.3.17-0" DefaultEtcdVersion = "3.4.3-0"
// PauseVersion indicates the default pause image version for kubeadm // PauseVersion indicates the default pause image version for kubeadm
PauseVersion = "3.1" PauseVersion = "3.1"
@ -424,9 +424,9 @@ var (
13: "3.2.24", 13: "3.2.24",
14: "3.3.10", 14: "3.3.10",
15: "3.3.10", 15: "3.3.10",
16: "3.3.15-0", 16: "3.3.17-0",
17: "3.3.17-0", 17: "3.4.3-0",
18: "3.3.17-0", 18: "3.4.3-0",
} }
// KubeadmCertsClusterRoleName sets the name for the ClusterRole that allows // KubeadmCertsClusterRoleName sets the name for the ClusterRole that allows

View File

@ -108,7 +108,7 @@ func TestGetEtcdImage(t *testing.T) {
Local: &kubeadmapi.LocalEtcd{}, Local: &kubeadmapi.LocalEtcd{},
}, },
}, },
expected: "real.repo/etcd:3.3.15-0", expected: "real.repo/etcd:3.3.17-0",
}, },
{ {
cfg: &kubeadmapi.ClusterConfiguration{ cfg: &kubeadmapi.ClusterConfiguration{
@ -136,7 +136,7 @@ func TestGetEtcdImage(t *testing.T) {
}, },
}, },
}, },
expected: "override/etcd:3.3.15-0", expected: "override/etcd:3.3.17-0",
}, },
{ {
expected: GetGenericImage(gcrPrefix, "etcd", constants.DefaultEtcdVersion), expected: GetGenericImage(gcrPrefix, "etcd", constants.DefaultEtcdVersion),

View File

@ -16,7 +16,7 @@
# A set of helpers for starting/running etcd for tests # A set of helpers for starting/running etcd for tests
ETCD_VERSION=${ETCD_VERSION:-3.3.17} ETCD_VERSION=${ETCD_VERSION:-3.4.3}
ETCD_HOST=${ETCD_HOST:-127.0.0.1} ETCD_HOST=${ETCD_HOST:-127.0.0.1}
ETCD_PORT=${ETCD_PORT:-2379} ETCD_PORT=${ETCD_PORT:-2379}
export KUBE_INTEGRATION_ETCD_URL="http://${ETCD_HOST}:${ETCD_PORT}" export KUBE_INTEGRATION_ETCD_URL="http://${ETCD_HOST}:${ETCD_PORT}"

View File

@ -25,4 +25,4 @@ spec:
imagePullPolicy: Never imagePullPolicy: Never
args: [ "--etcd-servers=http://localhost:2379" ] args: [ "--etcd-servers=http://localhost:2379" ]
- name: etcd - name: etcd
image: quay.io/coreos/etcd:v3.3.17 image: quay.io/coreos/etcd:v3.4.3

View File

@ -32,7 +32,7 @@ import (
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
) )
const etcdImage = "3.3.17-0" const etcdImage = "3.4.3-0"
// EtcdUpgrade upgrades etcd on GCE. // EtcdUpgrade upgrades etcd on GCE.
func EtcdUpgrade(targetStorage, targetVersion string) error { func EtcdUpgrade(targetStorage, targetVersion string) error {

View File

@ -218,7 +218,7 @@ func initImageConfigs() map[int]Config {
configs[CudaVectorAdd2] = Config{e2eRegistry, "cuda-vector-add", "2.0"} configs[CudaVectorAdd2] = Config{e2eRegistry, "cuda-vector-add", "2.0"}
configs[Dnsutils] = Config{e2eRegistry, "dnsutils", "1.1"} configs[Dnsutils] = Config{e2eRegistry, "dnsutils", "1.1"}
configs[EchoServer] = Config{e2eRegistry, "echoserver", "2.2"} configs[EchoServer] = Config{e2eRegistry, "echoserver", "2.2"}
configs[Etcd] = Config{gcRegistry, "etcd", "3.3.17"} configs[Etcd] = Config{gcRegistry, "etcd", "3.4.3"}
configs[GBFrontend] = Config{sampleRegistry, "gb-frontend", "v6"} configs[GBFrontend] = Config{sampleRegistry, "gb-frontend", "v6"}
configs[GlusterDynamicProvisioner] = Config{dockerGluster, "glusterdynamic-provisioner", "v1.0"} configs[GlusterDynamicProvisioner] = Config{dockerGluster, "glusterdynamic-provisioner", "v1.0"}
configs[Httpd] = Config{dockerLibraryRegistry, "httpd", "2.4.38-alpine"} configs[Httpd] = Config{dockerLibraryRegistry, "httpd", "2.4.38-alpine"}