diff --git a/build/build-image/Dockerfile b/build/build-image/Dockerfile index b295b6bb471..a3e0f8c58a0 100644 --- a/build/build-image/Dockerfile +++ b/build/build-image/Dockerfile @@ -35,8 +35,8 @@ RUN rm -rf /var/lib/apt/lists/ RUN apt-get -o Acquire::Check-Valid-Until=false update && apt-get install -y rsync # Download and symlink etcd. We need this for our integration tests. -ENV ETCD_VERSION v2.0.12 -RUN mkdir -p /usr/local/src/etcd &&\ +RUN export ETCD_VERSION=v2.2.1; \ + mkdir -p /usr/local/src/etcd &&\ cd /usr/local/src/etcd &&\ curl -fsSLO https://github.com/coreos/etcd/releases/download/$ETCD_VERSION/etcd-$ETCD_VERSION-linux-amd64.tar.gz &&\ tar xzf etcd-$ETCD_VERSION-linux-amd64.tar.gz &&\ diff --git a/cluster/centos/config-build.sh b/cluster/centos/config-build.sh index 879a7e0cad3..0ec715ddc9f 100755 --- a/cluster/centos/config-build.sh +++ b/cluster/centos/config-build.sh @@ -23,7 +23,7 @@ RELEASES_DIR=${RELEASES_DIR:-/tmp/downloads} FLANNEL_VERSION=${FLANNEL_VERSION:-"0.5.3"} # Define etcd version to use. -ETCD_VERSION=${ETCD_VERSION:-"2.0.12"} +ETCD_VERSION=${ETCD_VERSION:-"2.2.1"} # Define k8s version to use. K8S_VERSION=${K8S_VERSION:-"1.0.4"} diff --git a/cluster/images/etcd/.gitignore b/cluster/images/etcd/.gitignore new file mode 100644 index 00000000000..707ba939718 --- /dev/null +++ b/cluster/images/etcd/.gitignore @@ -0,0 +1,4 @@ +etcd +etcdctl +etcd-*-linux-amd64.tar.gz +etcd-*-linux-amd64/ diff --git a/cluster/mesos/docker/docker-compose.yml b/cluster/mesos/docker/docker-compose.yml index ea5fffead93..0172eb5f207 100644 --- a/cluster/mesos/docker/docker-compose.yml +++ b/cluster/mesos/docker/docker-compose.yml @@ -5,7 +5,7 @@ ambassador: command: "-name docker_apiserver_1" etcd: hostname: etcd - image: quay.io/coreos/etcd:v2.0.12 + image: quay.io/coreos/etcd:v2.2.1 ports: [ "4001:4001" ] command: > --listen-client-urls 'http://etcd:4001' diff --git a/cluster/mesos/docker/test/bin/install-etcd.sh b/cluster/mesos/docker/test/bin/install-etcd.sh index 6efa99b8370..857b52688f0 100755 --- a/cluster/mesos/docker/test/bin/install-etcd.sh +++ b/cluster/mesos/docker/test/bin/install-etcd.sh @@ -20,7 +20,7 @@ set -o errexit set -o nounset set -o pipefail -ETCD_VERSION=${ETCD_VERSION:-v2.0.12} +ETCD_VERSION=${ETCD_VERSION:-v2.2.1} full_name=etcd-${ETCD_VERSION}-linux-amd64 archive_url=https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/${full_name}.tar.gz diff --git a/cluster/saltbase/salt/etcd/etcd.manifest b/cluster/saltbase/salt/etcd/etcd.manifest index 55520c994e6..33c04dab039 100644 --- a/cluster/saltbase/salt/etcd/etcd.manifest +++ b/cluster/saltbase/salt/etcd/etcd.manifest @@ -10,7 +10,7 @@ "containers":[ { "name": "etcd-container", - "image": "gcr.io/google_containers/etcd:2.0.12", + "image": "gcr.io/google_containers/etcd:2.2.1", "resources": { "limits": { "cpu": {{ cpulimit }} diff --git a/cluster/ubuntu/build.sh b/cluster/ubuntu/build.sh index fca77bc9651..6d4d169c320 100755 --- a/cluster/ubuntu/build.sh +++ b/cluster/ubuntu/build.sh @@ -43,7 +43,7 @@ cp flannel-${FLANNEL_VERSION}/flanneld binaries/master cp flannel-${FLANNEL_VERSION}/flanneld binaries/minion # ectd -ETCD_VERSION=${ETCD_VERSION:-"2.0.12"} +ETCD_VERSION=${ETCD_VERSION:-"2.2.1"} ETCD="etcd-v${ETCD_VERSION}-linux-amd64" echo "Prepare etcd ${ETCD_VERSION} release ..." if [ ! -f etcd.tar.gz ] ; then diff --git a/docs/admin/etcd.md b/docs/admin/etcd.md index 44a1824c548..4a8c22ece81 100644 --- a/docs/admin/etcd.md +++ b/docs/admin/etcd.md @@ -33,7 +33,7 @@ Documentation for other releases can be found at # etcd -[etcd](https://coreos.com/etcd/docs/2.0.12/) is a highly-available key value +[etcd](https://coreos.com/etcd/docs/2.2.1/) is a highly-available key value store which Kubernetes uses for persistent storage of all of its REST API objects. @@ -49,7 +49,7 @@ Data Reliability: for reasonable safety, either etcd needs to be run as a etcd) or etcd's data directory should be located on durable storage (e.g., GCE's persistent disk). In either case, if high availability is required--as it might be in a production cluster--the data directory ought to be [backed up -periodically](https://coreos.com/etcd/docs/2.0.12/admin_guide.html#disaster-recovery), +periodically](https://coreos.com/etcd/docs/2.2.1/admin_guide.html#disaster-recovery), to reduce downtime in case of corruption. ## Default configuration diff --git a/docs/getting-started-guides/docker-multinode/master.md b/docs/getting-started-guides/docker-multinode/master.md index adaac56d8aa..be4b186e1cb 100644 --- a/docs/getting-started-guides/docker-multinode/master.md +++ b/docs/getting-started-guides/docker-multinode/master.md @@ -68,13 +68,13 @@ across reboots and failures. Run: ```sh -sudo docker -H unix:///var/run/docker-bootstrap.sock run --net=host -d gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data +sudo docker -H unix:///var/run/docker-bootstrap.sock run --net=host -d gcr.io/google_containers/etcd:2.2.1 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data ``` Next, you need to set a CIDR range for flannel. This CIDR should be chosen to be non-overlapping with any existing network you are using: ```sh -sudo docker -H unix:///var/run/docker-bootstrap.sock run --net=host gcr.io/google_containers/etcd:2.0.12 etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }' +sudo docker -H unix:///var/run/docker-bootstrap.sock run --net=host gcr.io/google_containers/etcd:2.2.1 etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }' ``` diff --git a/docs/getting-started-guides/docker-multinode/master.sh b/docs/getting-started-guides/docker-multinode/master.sh index b3e5b5da6ce..d23a17b4b2d 100755 --- a/docs/getting-started-guides/docker-multinode/master.sh +++ b/docs/getting-started-guides/docker-multinode/master.sh @@ -98,11 +98,11 @@ DOCKER_CONF="" start_k8s(){ # Start etcd - docker -H unix:///var/run/docker-bootstrap.sock run --restart=always --net=host -d gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data + docker -H unix:///var/run/docker-bootstrap.sock run --restart=always --net=host -d gcr.io/google_containers/etcd:2.2.1 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data sleep 5 # Set flannel net config - docker -H unix:///var/run/docker-bootstrap.sock run --net=host gcr.io/google_containers/etcd:2.0.12 etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16", "Backend": {"Type": "vxlan"}}' + docker -H unix:///var/run/docker-bootstrap.sock run --net=host gcr.io/google_containers/etcd:2.2.1 etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16", "Backend": {"Type": "vxlan"}}' # iface may change to a private network interface, eth0 is for default flannelCID=$(docker -H unix:///var/run/docker-bootstrap.sock run --restart=always -d --net=host --privileged -v /dev/net:/dev/net quay.io/coreos/flannel:0.5.3 /opt/bin/flanneld -iface="eth0") diff --git a/docs/getting-started-guides/docker.md b/docs/getting-started-guides/docker.md index 6a3cbee54af..379e522395f 100644 --- a/docs/getting-started-guides/docker.md +++ b/docs/getting-started-guides/docker.md @@ -86,7 +86,7 @@ parameters as follows: ### Step One: Run etcd ```sh -docker run --net=host -d gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data +docker run --net=host -d gcr.io/google_containers/etcd:2.2.1 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data ``` ### Step Two: Run the master diff --git a/docs/getting-started-guides/mesos.md b/docs/getting-started-guides/mesos.md index 15539984b47..24f8ce732d9 100644 --- a/docs/getting-started-guides/mesos.md +++ b/docs/getting-started-guides/mesos.md @@ -107,7 +107,7 @@ Start etcd and verify that it is running: ```bash sudo docker run -d --hostname $(uname -n) --name etcd \ - -p 4001:4001 -p 7001:7001 quay.io/coreos/etcd:v2.0.12 \ + -p 4001:4001 -p 7001:7001 quay.io/coreos/etcd:v2.2.1 \ --listen-client-urls http://0.0.0.0:4001 \ --advertise-client-urls http://${KUBERNETES_MASTER_IP}:4001 ``` @@ -115,7 +115,7 @@ sudo docker run -d --hostname $(uname -n) --name etcd \ ```console $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -fd7bac9e2301 quay.io/coreos/etcd:v2.0.12 "/etcd" 5s ago Up 3s 2379/tcp, 2380/... etcd +fd7bac9e2301 quay.io/coreos/etcd:v2.2.1 "/etcd" 5s ago Up 3s 2379/tcp, 2380/... etcd ``` It's also a good idea to ensure your etcd instance is reachable by testing it diff --git a/docs/getting-started-guides/scratch.md b/docs/getting-started-guides/scratch.md index fa916d4a754..930bb18ee58 100644 --- a/docs/getting-started-guides/scratch.md +++ b/docs/getting-started-guides/scratch.md @@ -237,8 +237,8 @@ You have several choices for Kubernetes images: command like `docker images` For etcd, you can: -- Use images hosted on Google Container Registry (GCR), such as `gcr.io/google_containers/etcd:2.0.12` -- Use images hosted on [Docker Hub](https://hub.docker.com/search/?q=etcd) or [Quay.io](https://quay.io/repository/coreos/etcd), such as `quay.io/coreos/etcd:v2.2.0` +- Use images hosted on Google Container Registry (GCR), such as `gcr.io/google_containers/etcd:2.2.1` +- Use images hosted on [Docker Hub](https://hub.docker.com/search/?q=etcd) or [Quay.io](https://quay.io/repository/coreos/etcd), such as `quay.io/coreos/etcd:v2.2.1` - Use etcd binary included in your OS distro. - Build your own image - You can do: `cd kubernetes/cluster/images/etcd; make` diff --git a/docs/getting-started-guides/ubuntu.md b/docs/getting-started-guides/ubuntu.md index a971fd9bcdb..7ad4d66ecbc 100644 --- a/docs/getting-started-guides/ubuntu.md +++ b/docs/getting-started-guides/ubuntu.md @@ -60,7 +60,7 @@ work, which has been merge into this document. Internet to download the necessary files, while worker nodes do not. 3. These guide is tested OK on Ubuntu 14.04 LTS 64bit server, but it can not work with Ubuntu 15 which uses systemd instead of upstart. -4. Dependencies of this guide: etcd-2.0.12, flannel-0.5.3, k8s-1.0.6, may work with higher versions. +4. Dependencies of this guide: etcd-2.2.1, flannel-0.5.3, k8s-1.0.6, may work with higher versions. 5. All the remote servers can be ssh logged in without a password by using key authentication. @@ -77,7 +77,7 @@ $ git clone https://github.com/kubernetes/kubernetes.git #### Configure and start the Kubernetes cluster The startup process will first download all the required binaries automatically. -By default etcd version is 2.0.12, flannel version is 0.5.3 and k8s version is 1.0.6. +By default etcd version is 2.2.1, flannel version is 0.5.3 and k8s version is 1.0.6. You can customize your etcd version, flannel version, k8s version by changing corresponding variables `ETCD_VERSION` , `FLANNEL_VERSION` and `KUBE_VERSION` like following. diff --git a/hack/install-etcd.sh b/hack/install-etcd.sh index cd01f20e134..b07dcd2e5e4 100755 --- a/hack/install-etcd.sh +++ b/hack/install-etcd.sh @@ -20,7 +20,7 @@ set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. -ETCD_VERSION=${ETCD_VERSION:-v2.0.12} +ETCD_VERSION=${ETCD_VERSION:-v2.2.1} cd "${KUBE_ROOT}/third_party" curl -fsSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz \ diff --git a/test/kubemark/start-kubemark-master.sh b/test/kubemark/start-kubemark-master.sh index 0b2ee3c8a2a..671834bc56b 100644 --- a/test/kubemark/start-kubemark-master.sh +++ b/test/kubemark/start-kubemark-master.sh @@ -19,14 +19,14 @@ EVENT_STORE_IP=$1 EVENT_STORE_URL="http://${EVENT_STORE_IP}:4002" if [ "${EVENT_STORE_IP}" == "127.0.0.1" ]; then - sudo docker run --net=host -d gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd \ + sudo docker run --net=host -d gcr.io/google_containers/etcd:2.2.1 /usr/local/bin/etcd \ --listen-peer-urls http://127.0.0.1:2381 \ --addr=127.0.0.1:4002 \ --bind-addr=0.0.0.0:4002 \ --data-dir=/var/etcd/data fi -sudo docker run --net=host -d gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd \ +sudo docker run --net=host -d gcr.io/google_containers/etcd:2.2.1 /usr/local/bin/etcd \ --listen-peer-urls http://127.0.0.1:2380 \ --addr=127.0.0.1:4001 \ --bind-addr=0.0.0.0:4001 \