0

I have run knative image in the k8s cluster which is arm64 ,but knative can't start and it's logs is as follow: standard_init_linux.go:211: exec user process caused "exec format error"

I want to know whether knative support arm.

BruceWu
  • 11
  • 1
  • 1
    Could you please share how/what exactly you run? The only way to figure out for sure is to find `image` what was used and to see if it has `multi-arch` support. – moonkotte Sep 29 '21 at 11:26
  • I'm tring ko to build knative images – BruceWu Oct 08 '21 at 02:36
  • Hi @WuTianxiong, can you expand on what you mean by `build knative images` ? As in building images of knative src (eg. https://github.com/knative/serving/) or building images of an application that should run on a cluster with Knative installed as a Knative Service ? – sameer Oct 11 '21 at 18:13

1 Answers1

0

I have been able to successfully install Knative Serving on a RaspberryPi running ARM64 Ref using the published images on Knative Serving Releases

If you're wondering about a specific image, using crane

crane manifest gcr.io/knative-releases/knative.dev/serving/cmd/activator@sha256:f1e3e516a26ec07fbbbcefcce7619c74dd3b9ee943a5041a7f35c3f848964c0c

{
  "schemaVersion": 2,
  "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
  "manifests": [
    {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "size": 755,
      "digest": "sha256:f060661f6901982d1f3d79c2991aebc11cf4534237fd81987e114130696f126c",
      "platform": {
        "architecture": "amd64",
        "os": "linux"
      }
    },
    {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "size": 755,
      "digest": "sha256:6c3b9224532ae9ac9b5be792654a40e6e1db42cd14d6c0f3e61dd6bcb524b7f7",
      "platform": {
        "architecture": "arm",
        "os": "linux"
      }
    },
    {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "size": 755,
      "digest": "sha256:209184aba8e62b60c601e4c97936b1f6921de06183785611e7e864f79019b96d",
      "platform": {
        "architecture": "arm64",
        "os": "linux"
      }
    },
........
}

You can confirm whether the image has multi-arch support already. In this example the Knative activator image is already setup for ARM.

sameer
  • 91
  • 5
  • Is this same as using ko? – BruceWu Oct 12 '21 at 01:59
  • It sounds like you want to build the images yourself. Is that correct ? If so, ko does support multi platform images, but it depends on the base image. See https://github.com/google/ko#multi-platform-images – sameer Oct 15 '21 at 14:54
  • Yes, I hava builded images using ko which can run in arm64. – BruceWu Nov 18 '21 at 09:53