Skip to content
This repository has been archived by the owner on Oct 16, 2020. It is now read-only.

Recent kubernetes can't talk to ectd2 by default #1963

Closed
jpap opened this issue May 11, 2017 · 3 comments
Closed

Recent kubernetes can't talk to ectd2 by default #1963

jpap opened this issue May 11, 2017 · 3 comments
Labels

Comments

@jpap
Copy link

jpap commented May 11, 2017

Issue Report

Bug

In recent Kubernetes, e.g. v1.6.2_coreos.0, the api server will try and talk to etcd using version 3 of the protocol. By default, CoreOS ships with version 2 of etcd. As a result, the api server will fail to start.

It took some time to find the issue, where the simple solution is to add the --storage-backend=etcd2 option to /etc/kubernetes/manifests/kube-apiserver.yaml.

The CoreOS documentation should be updated to suit, until CoreOS starts shipping etcd3 by default.

I encountered this error after upgrading the Kubernetes image in my configuration and it failed to restart.

Container Linux Version

$ cat /etc/os-release
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1353.7.0
VERSION_ID=1353.7.0
BUILD_ID=2017-04-26-2154
PRETTY_NAME="Container Linux by CoreOS 1353.7.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"

Environment

Bare metal server.

Expected Behavior

K8s api server should start based on the CoreOS documented configuration.

Actual Behavior

Api server fails to start because it needs to be configured with the etcd2 backend.

@pop
Copy link

pop commented May 11, 2017

@jpap, Container Linux does ship with etcd3 via the etcd-member systemd service. This runs etcd3 out of a rkt container. We're working on improving the docs around this. The Getting started with etcd on Container Linux doc might be worth checking out in the meantime.

We're not planning on shipping an etcd3 binary any time soon and will eventually remove the etcd2 binary from the OS. This means that down the road the easiest way to [manually] run etcd will be via the etcd-member service.

Thank's for the heads up, this will help us improve the documentation around the Container Linux way to run etcd.

@jpap
Copy link
Author

jpap commented May 11, 2017

Thanks for the link to the new etcd docs.

Separately I'd recommend an immediate update to the CoreOS kubernetes setup documentation to address the storage-backend option as outlined above. It might also be pertinent to amend the "Step 1" part of the documentation to introduce the etc-member systemd service, link to the etcd docs you've highlighted, and mention the built-in etcd2 phaseout in addition to the v{2,3} considerations with the api-server.

That is, updates to:

@bgilbert
Copy link
Contributor

We no longer ship etcd2 in Container Linux and our Kubernetes docs have been rewritten. I'll close.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants