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

multi-arch image #586

Closed
duckman opened this issue Jun 26, 2021 · 14 comments · Fixed by #684
Closed

multi-arch image #586

duckman opened this issue Jun 26, 2021 · 14 comments · Fixed by #684
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.

Comments

@duckman
Copy link

duckman commented Jun 26, 2021

I was excited to see arm64 added but when I pull k8s.gcr.io/node-problem-detector/node-problem-detector:v0.8.9 I still get standard_init_linux.go:228: exec user process caused: exec format error

@nvtkaszpir
Copy link
Member

I can confirm this, on rpi4 I get amd64 linux image:

docker inspect k8s.gcr.io/node-problem-detector/node-problem-detector:v0.8.9

[
    {
        "Id": "sha256:ac45e7eae5e0ad5cf81ef5724f9a217d893c0b5946658fa7e2ce56df2cb623e1",
        "RepoTags": [
            "k8s.gcr.io/node-problem-detector/node-problem-detector:v0.8.9"
        ],
        "RepoDigests": [
            "k8s.gcr.io/node-problem-detector/node-problem-detector@sha256:c4a75e50c3ee30daa78b7149de781f66236885850b1ea7b0c1a062af5019e019"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2021-06-25T20:52:07.859708727Z",
        "Container": "a4855bd4a5acdbbcbab8348b964092bf16a651a5902fb926d9d40214cad68333",
        "ContainerConfig": {
            "Hostname": "a4855bd4a5ac",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "ENTRYPOINT [\"/node-problem-detector\" \"--config.system-log-monitor=/config/kernel-monitor.json\"]"
            ],
            "Image": "sha256:8fd5e1e7afce44135ba7320c7c51f1793c6617e6d2f7284e7401e21c2ea79db2",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/node-problem-detector",
                "--config.system-log-monitor=/config/kernel-monitor.json"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "20.10.2",
        "Author": "Random Liu <[email protected]>",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": null,
            "Image": "sha256:8fd5e1e7afce44135ba7320c7c51f1793c6617e6d2f7284e7401e21c2ea79db2",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/node-problem-detector",
                "--config.system-log-monitor=/config/kernel-monitor.json"
            ],
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 132468364,
        "VirtualSize": 132468364,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/3b0b69f38da9bc4d4726785bcf3933d7bc2afd43e7b6fa00c318b7133be902ae/diff:/var/lib/docker/overlay2/cb0192bde1b9f2b093ab98966a04a7d52450ac9e0590859a8985eb4c2c16b308/diff:/var/lib/docker/overlay2/dc94dfe665ef0b3dc00466d4fe71f14ce8b2102ce05caa357af28470375549dd/diff:/var/lib/docker/overlay2/08f36012818cdcb97dcb6853614d316c9a24fa94fe4e1a843c2dcd460d08c8eb/diff",
                "MergedDir": "/var/lib/docker/overlay2/a86674214623f5e9131cf07c565c1dfffcdc719dc74506143a9f6381868c06c4/merged",
                "UpperDir": "/var/lib/docker/overlay2/a86674214623f5e9131cf07c565c1dfffcdc719dc74506143a9f6381868c06c4/diff",
                "WorkDir": "/var/lib/docker/overlay2/a86674214623f5e9131cf07c565c1dfffcdc719dc74506143a9f6381868c06c4/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:fc4976bd934b81a21629d4eb3545d59ce82b5d101823f93a423c748708de1e92",
                "sha256:1b88aab82eba89363106316d27133fd6b790ee6ab1de697a53feb3d23dc86042",
                "sha256:7ae0537db4592cdbbe491fd4acc0c755b017e5b9611f2c6b68d603332fe665ac",
                "sha256:dc0f235b860cfe9b041b8ac28a69863a2e0d468a139a7fd94fb528b6be2895d5",
                "sha256:cb5d3f137db59029cd393c66f83a7aabc30c2d6c4d6287bf3f2caa9275f60b8f"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

@nvtkaszpir
Copy link
Member

nvtkaszpir commented Jun 26, 2021

the image itself is still ELF 64-bit LSB executable, ARM aarch64, not executable on rpi.
doing extra target with GOARM=6 GOARCH=arm CGO_ENABLED=0 will generate working binaries (but it requires ENABLE_JOURNALD=0 though)

@Random-Liu
Copy link
Member

We only built multi-arch binaries, but not docker images.

Please feel free to add multi-arch image support into the Makefile, I can help review the change. :)

@Random-Liu Random-Liu added good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. labels Jun 28, 2021
@xinydev
Copy link
Member

xinydev commented Jun 30, 2021

/assign

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 28, 2021
@azhurbilo
Copy link

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 28, 2021
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 27, 2021
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 26, 2022
@xinydev
Copy link
Member

xinydev commented Jan 27, 2022

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Jan 27, 2022
kelvie added a commit to kelvie/node-problem-detector that referenced this issue Feb 13, 2022
For linux arm64 and amd64, as per kubernetes#586.

I moved the builder image into the same dockerfile, and bumped the Go
version on it. It didn't seem like the builder dockerfile worked with
the latest code anyway (the go modules require go 1.15 and higher).

This requires a recent enough docker install with buildx, as well as
an arm64 builder.

Example image is on docker hub as:

    kelvie/node-problem-detector:v0.8.10-5-g20df809
kelvie added a commit to kelvie/node-problem-detector that referenced this issue Feb 13, 2022
For linux arm64 and amd64, as per kubernetes#586.

I moved the builder image into the same dockerfile, and bumped the Go
version on it. It didn't seem like the builder dockerfile worked with
the latest code anyway (the go modules require go 1.15 and higher).

This requires a recent enough docker install with buildx, as well as
an arm64 builder.

BASEIMAGE is changed to not specify an arch, so that the image will
build on its native arch in buildx.

Example image is on docker hub as:

    kelvie/node-problem-detector:v0.8.10-5-gb0fa610
@rotarur
Copy link

rotarur commented Apr 11, 2022

using the versions v0.8.9 and v0.8.10 on arm kubernetes cluster gives me the error exec format error, is this the right image to use?

k8s.gcr.io/node-problem-detector/node-problem-detector:v0.8.9

@nvtkaszpir
Copy link
Member

There are no multi-arch images yet (there are pull requests though), you would have to build your own, look into the pull requests.

@rotarur
Copy link

rotarur commented Apr 11, 2022

thanks

@xinydev xinydev removed their assignment Apr 11, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 10, 2022
@vaibhav2107
Copy link
Member

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.
Projects
None yet
9 participants