Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update skydns's etcd to version 2.0.3 #4812

Merged
merged 1 commit into from
Feb 26, 2015
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 5 additions & 4 deletions cluster/addons/dns/skydns-rc.yaml.in
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ desiredState:
dnsPolicy: "Default" # Don't use cluster DNS.
containers:
- name: etcd
image: quay.io/coreos/etcd:latest
image: quay.io/coreos/etcd:v2.0.3
command: [
"/etcd",
"-bind-addr=127.0.0.1",
"-peer-bind-addr=127.0.0.1",
# entrypoint = "/etcd",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this work? The command seems wrong to me.

Also can you stick to the existing format for yaml files in other examples. Example:

command:
          - "/bin/sh"
          - "-c"
          - "echo ok

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since I'm not that knowledgeable around Docker I can't answer with certainty, but here is how I understand it:

  • both etcd images (latest and 2.0.3) have ENTRYPOINT defined as /etcd and empty cmd (https://quay.io/repository/coreos/etcd?image=201a4476d171)
  • such configuration causes docker run etcd_image to just execute ENTRYPOINT and cmd (https://docs.docker.com/reference/builder/#entrypoint)
  • I'm not sure why, but running $ etcd /etcd will start etcd without any error; moreover $ etcd /etcd -listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001 will not really run etcd with the command line flag as expect
  • I've tested manually configuration in my PR and it works
  • I believe that previous configuration wasn't really correct; I think it only worked just because the provided flags were equal to the defaults (otherwise the provided flags would not have any effect).

Regarding your request to stick with "bin/sh". I don't think it will really work. As I understand one of the reasons for ENTRYPOINT equal to /etcd is for users to use that entrypoint and just configure the application from command line. Entrypoint can be override by --entrypoint docker flag, however it won't work in case of etcd image since it doesn't contain /bin/sh.

"-listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001",
"-initial-cluster-token=skydns-etcd",
"-advertise-client-urls=http://127.0.0.1:4001",
]
- name: kube2sky
image: kubernetes/kube2sky:1.0
Expand Down