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

Mutli-arch support #1531

Merged
merged 39 commits into from
Jan 26, 2021
Merged

Conversation

tejal29
Copy link
Member

@tejal29 tejal29 commented Dec 22, 2020

Add multi-arch support for all kaniko images.

Prior to this PR, amazing @mattmoor added multi-arch to the executor image via bazel so that tekton users can use kaniko multi-arch images.
The arch specific images did not contain credential binary for gcr, ecr and aws. After 1:1 conversation with Matt, the reason why they were excluded is, tekton already sets up auth prior to kaniko pod is created.

In this PR,

  • use docker buildx in cloudbuild.yaml to create multi-arch images for executor:debug as well as warmer.
  • publish new, executor:slim & executor:$TAG-slim` images which only contains kaniko binary and config files.
  • remove bazel targets and use docker buildx to create image for executor like others

To do

  • run the cloud build trigger & verify the images.
  • ping @mattmoor to test/verify executor:slim images - optional
  • ping kaniko slack channel to test debug image - optional

@google-cla google-cla bot added the cla: yes CLA signed by all commit authors label Dec 22, 2020
@tejal29 tejal29 force-pushed the fix_cloudbuild_release branch 2 times, most recently from 8a645d9 to b5a096b Compare December 22, 2020 08:59
@tejal29
Copy link
Member Author

tejal29 commented Dec 22, 2020

/cc @briandealwis for an extra pair of eyes.

@mattmoor
Copy link
Collaborator

cc @imjasonh

I hadn't seen buildx on cloud build before. neat!

Copy link
Collaborator

@priyawadhwa priyawadhwa left a comment

Choose a reason for hiding this comment

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

LGTM, just one question

deploy/cloudbuild-release.yaml Outdated Show resolved Hide resolved
Copy link
Member

@briandealwis briandealwis left a comment

Choose a reason for hiding this comment

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

LGTM

@tejal29
Copy link
Member Author

tejal29 commented Dec 22, 2020

Testing Notes: Executor Image

➜  kaniko git:(fix_cloudbuild_release) ✗ container-diff diff gcr.io/kaniko-project/executor gcr.io/tejal-test/executor:multiarch-test-1 --type=file

-----File-----

These entries have been added to gcr.io/kaniko-project/executor:
FILE         SIZE
/dev         0
/proc        0
/sys         0

These entries have been deleted from gcr.io/kaniko-project/executor:
FILE                                     SIZE
/kaniko/docker-credential-acr-env        8.7M

These entries have been changed between gcr.io/kaniko-project/executor and gcr.io/tejal-test/executor:multiarch-test-1:
FILE                                       SIZE1        SIZE2
/kaniko/executor                           47.2M        47.6M
/kaniko/docker-credential-acr              8.1M         9.9M
/kaniko/docker-credential-ecr-login        8M           9M
/kaniko/docker-credential-gcr              6.2M         8.9M

➜  kaniko git:(fix_cloudbuild_release) ✗ dive gcr.io/tejal-test/executor:multiarch-test-1
Image Source: docker://gcr.io/tejal-test/executor:multiarch-test-1
Fetching image... (this can take a while for large images)
Analyzing image...
Building cache...

The manifest generated is of type manifest.list.v2+json
image

@tejal29
Copy link
Member Author

tejal29 commented Dec 22, 2020

Testing Notes: executor:slim image

image

@tejal29
Copy link
Member Author

tejal29 commented Dec 22, 2020

Testing Notes: Debug image

➜  kaniko git:(fix_cloudbuild_release) ✗ container-diff diff gcr.io/kaniko-project/executor:debug gcr.io/tejal-test/executor:multiarch-test-1-debug --type=file

-----File-----

These entries have been added to gcr.io/kaniko-project/executor:debug:
FILE         SIZE
/dev         0
/proc        0
/sys         0

These entries have been deleted from gcr.io/kaniko-project/executor:debug: None

These entries have been changed between gcr.io/kaniko-project/executor:debug and gcr.io/tejal-test/executor:multiarch-test-1-debug:
FILE                                       SIZE1        SIZE2
/kaniko/executor                           47.2M        47.6M
/kaniko/warmer                             31.5M        31.7M
/kaniko/docker-credential-acr-env          8.7M         13.2M
/kaniko/docker-credential-acr              8.1M         9.9M
/kaniko/docker-credential-ecr-login        8M           9M
/kaniko/docker-credential-gcr              6.2M         8.9M

➜  kaniko git:(fix_cloudbuild_release) ✗

@tejal29
Copy link
Member Author

tejal29 commented Dec 22, 2020

Testing Note: Warmer image

container-diff diff gcr.io/kaniko-project/warmer gcr.io/tejal-test/warmer:multiarch-test-1 --type=file 

-----File-----

These entries have been added to gcr.io/kaniko-project/warmer:
FILE                                     SIZE
/dev                                     0
/kaniko/docker-credential-acr-env        13.2M
/proc                                    0
/sys                                     0

These entries have been deleted from gcr.io/kaniko-project/warmer: None

These entries have been changed between gcr.io/kaniko-project/warmer and gcr.io/tejal-test/warmer:multiarch-test-1:
FILE                                       SIZE1        SIZE2
/kaniko/warmer                             31.5M        31.7M
/kaniko/docker-credential-acr              8.1M         9.9M
/kaniko/docker-credential-ecr-login        8M           9M
/kaniko/docker-credential-gcr              6.1M         8.9M


@tejal29
Copy link
Member Author

tejal29 commented Dec 22, 2020

Images for test

gcr.io/tejal-test/executor:multiarch-test-1
gcr.io/tejal-test/warmer:multiarch-test-1-debug
gcr.io/tejal-test/executor:multiarch-test-1-debug
gcr.io/tejal-test/executor:multiarch-test-1-slim

@tejal29
Copy link
Member Author

tejal29 commented Dec 23, 2020

Fixed slim images not containing the SSL certs /cc @mattmoor

gcr.io/tejal-test/executor:multiarch-test-2-slim

image

@tejal29 tejal29 force-pushed the fix_cloudbuild_release branch 3 times, most recently from 3083c6a to 188d9a8 Compare December 23, 2020 05:22
@google-cla google-cla bot added cla: no CLA not signed by all commit authors and removed cla: yes CLA signed by all commit authors labels Dec 23, 2020
@google-cla
Copy link

google-cla bot commented Dec 23, 2020

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

5 similar comments
@google-cla
Copy link

google-cla bot commented Dec 23, 2020

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Dec 23, 2020

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Dec 23, 2020

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Dec 23, 2020

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Dec 23, 2020

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Dec 23, 2020

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@google-cla
Copy link

google-cla bot commented Jan 25, 2021

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@tejal29 tejal29 merged commit ffd35db into GoogleContainerTools:master Jan 26, 2021
@tejal29 tejal29 deleted the fix_cloudbuild_release branch April 26, 2021 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: no CLA not signed by all commit authors
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants