Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

thockin
Copy link
Member

@thockin thockin commented May 15, 2015

@satnam6502 satnam6502 added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 15, 2015
@satnam6502
Copy link
Contributor

How about a bump on the version number for the TAG in the Makefile?

@thockin
Copy link
Member Author

thockin commented May 15, 2015

We have no real release procedure here. Do we bump the tag whenever we
make a change? or do we bump it when we make a release? I assume the
latter, and we're not making a release just for this, right?

On Fri, May 15, 2015 at 9:13 AM, Satnam Singh [email protected]
wrote:

How about a bump on the version number for the TAG in the Makeifle?


Reply to this email directly or view it on GitHub
#8322 (comment)
.

@ArtfulCoder
Copy link
Contributor

I think for now the procedure should be:

  1. make code change.
  2. bump tag in Makefile and yaml spec
  3. Manually verify
  4. checkin
  5. push container with new tag

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..

@satnam6502
Copy link
Contributor

One reason to bump the tag is that if you make a mistake you can always easily revert to the previous image.

@vishh
Copy link
Contributor

vishh commented May 15, 2015

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?

Copy link
Contributor

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.

Copy link
Contributor

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.

Copy link
Member Author

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 scratch

How 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
.

Copy link
Member Author

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
.

Copy link
Contributor

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.

Copy link
Member Author

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 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
.

Copy link
Contributor

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 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
.

Copy link
Member Author

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 scratch

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.
… <#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
.

Copy link
Member Author

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 scratch

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.
… <#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
.

Copy link
Contributor

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.

satnam6502 added a commit that referenced this pull request May 15, 2015
Base the kube2sky container on busybox
@satnam6502 satnam6502 merged commit afedb2d into kubernetes:master May 15, 2015
@satnam6502
Copy link
Contributor

I'll merge this for now and we can follow up with another PR if the base image should be changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm "Looks good to me", indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants