-
Notifications
You must be signed in to change notification settings - Fork 41.5k
Base the kube2sky container on busybox #8322
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
Conversation
How about a bump on the version number for the TAG in the Makefile? |
We have no real release procedure here. Do we bump the tag whenever we On Fri, May 15, 2015 at 9:13 AM, Satnam Singh [email protected]
|
I think for now the procedure should be:
This will have to continue till we make changes similar to the master components, where we just generate tar files for images as part of build and use those during kube-up and kube-push. Re-using the same number removes the ability to rollback.. |
One reason to bump the tag is that if you make a mistake you can always easily revert to the previous image. |
I don't think its worth making a release for every PR. It will result in creating large complex PRs. How about building and pushing a kube2sky release as part of the building a kubernetes release? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about using progrium/busybox instead? We use that for cadvisor and heapster and it is very helpful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 we found that busybox does not have most of the dynamically linked libraries Go uses.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
progrium is slated for deprecation. I just want to make the simplest
change I can make right now.
On Fri, May 15, 2015 at 10:19 AM, Vish Kannan [email protected]
wrote:
In cluster/addons/dns/kube2sky/Dockerfile
#8322 (comment)
:@@ -1,4 +1,4 @@
-FROM scratchHow about using progrium/busybox https://github.com/progrium/busybox
instead? We use that for cadvisor and heapster and it is very helpful.—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30427329
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you need dynamic libs? That's sooo 2012.
On Fri, May 15, 2015 at 10:24 AM, Victor Marmol [email protected]
wrote:
In cluster/addons/dns/kube2sky/Dockerfile
#8322 (comment)
:@@ -1,4 +1,4 @@
-FROM scratch+1 we found that busybox does not have most of the dynamically linked
libraries Go uses.—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30427706
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can't actually statically link some dynamic libs dependencies :) we stopped being able to statically link cAdvisor for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eh? Explain?
On Fri, May 15, 2015 at 3:33 PM, Victor Marmol [email protected]
wrote:
In cluster/addons/dns/kube2sky/Dockerfile
#8322 (comment)
:@@ -1,4 +1,4 @@
-FROM scratchYou can't actually statically link some dynamic libs dependencies :) we
stopped being able to statically link cAdvisor for example.—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451448
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well this case may not be generalized enough :) but we use cgo and with the
latest Go you can't statically link with cgo unless you specify the
compiler and do a few more things. Doing those seemed like a huge pain so
we opted not to. We needed a busybox anyways so we could docker exec
and
inspect the environment.
On Fri, May 15, 2015 at 3:37 PM, Tim Hockin [email protected]
wrote:
In cluster/addons/dns/kube2sky/Dockerfile
#8322 (comment)
:@@ -1,4 +1,4 @@
-FROM scratchEh? Explain?
… <#14d59b9677004f37_>
On Fri, May 15, 2015 at 3:33 PM, Victor Marmol [email protected]
wrote: In cluster/addons/dns/kube2sky/Dockerfile <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322#discussion_r30451448>
: > @@ -1,4 +1,4 @@ > -FROM scratch You can't actually statically link some
dynamic libs dependencies :) we stopped being able to statically link
cAdvisor for example. — Reply to this email directly or view it on GitHub <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451448>
.—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451593
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We link kube binaries statically with CGO_ENABLED=0 go install -installsuffix cgo
and it seems to work. What's a huge pain?
On Fri, May 15, 2015 at 3:45 PM, Victor Marmol [email protected]
wrote:
In cluster/addons/dns/kube2sky/Dockerfile
#8322 (comment)
:@@ -1,4 +1,4 @@
-FROM scratchWell this case may not be generalized enough :) but we use cgo and with
the latest Go you can't statically link with cgo unless you specify the
compiler and do a few more things. Doing those seemed like a huge pain so
we opted not to. We needed a busybox anyways so we coulddocker exec
and
inspect the environment.
… <#14d59c0d4d139617_>
On Fri, May 15, 2015 at 3:37 PM, Tim Hockin [email protected]
wrote: In cluster/addons/dns/kube2sky/Dockerfile <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322#discussion_r30451593>
: > @@ -1,4 +1,4 @@ > -FROM scratch Eh? Explain? … <#14d59b9677004f37_> On
Fri, May 15, 2015 at 3:33 PM, Victor Marmol [email protected]
wrote: In cluster/addons/dns/kube2sky/Dockerfile <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322#discussion_r30451448>
: > @@ -1,4 +1,4 @@ > -FROM scratch You can't actually statically link some
dynamic libs dependencies :) we stopped being able to statically link
cAdvisor for example. — Reply to this email directly or view it on GitHub <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451448>
. — Reply to this email directly or view it on GitHub <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451593>
.—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451955
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be clear - the fact that some random container happens to have
appropriate libs for you and you DEPEND ON THAT is pretty terrifying.
On Fri, May 15, 2015 at 3:53 PM, Tim Hockin [email protected] wrote:
We link kube binaries statically with
CGO_ENABLED=0 go install -installsuffix cgo
and it seems to work. What's a huge pain?On Fri, May 15, 2015 at 3:45 PM, Victor Marmol [email protected]
wrote:In cluster/addons/dns/kube2sky/Dockerfile
#8322 (comment)
:@@ -1,4 +1,4 @@
-FROM scratchWell this case may not be generalized enough :) but we use cgo and with
the latest Go you can't statically link with cgo unless you specify the
compiler and do a few more things. Doing those seemed like a huge pain so
we opted not to. We needed a busybox anyways so we coulddocker exec
and
inspect the environment.
… <#14d59c7fb41cb1c1_14d59c0d4d139617_>
On Fri, May 15, 2015 at 3:37 PM, Tim Hockin [email protected]
wrote: In cluster/addons/dns/kube2sky/Dockerfile <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322#discussion_r30451593>
: > @@ -1,4 +1,4 @@ > -FROM scratch Eh? Explain? … <#14d59b9677004f37_> On
Fri, May 15, 2015 at 3:33 PM, Victor Marmol [email protected]
wrote: In cluster/addons/dns/kube2sky/Dockerfile <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322#discussion_r30451448>
: > @@ -1,4 +1,4 @@ > -FROM scratch You can't actually statically link some
dynamic libs dependencies :) we stopped being able to statically link
cAdvisor for example. — Reply to this email directly or view it on GitHub <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451448>
. — Reply to this email directly or view it on GitHub <
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451593>
.—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/8322/files#r30451955
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are many terrifying aspects of how we make and deploy and use containers. At some point we should sit down and rationalize it and put in procedures and checks etc.
Base the kube2sky container on busybox
I'll merge this for now and we can follow up with another PR if the base image should be changed. |
@satnam6502 @vishh @ArtfulCoder