pipeline icon indicating copy to clipboard operation
pipeline copied to clipboard

Install Tekton Pipelines

Open Zzt1993 opened this issue 1 year ago • 6 comments

How do I install on an Aarh (ARM) architecture server

Zzt1993 avatar Aug 09 '24 10:08 Zzt1993

Tekton Pipelines is built for a number of platforms, including linux/arm and linux/arm64, so you should be able to install it the same way as on any other platform by following the installation instructions: https://tekton.dev/docs/pipelines/install/

Are you having a particular problem installing it?

Can you share more details about the environment, the steps you're following, etc.?

AlanGreene avatar Aug 09 '24 11:08 AlanGreene

My underlying architecture is ARM K8s is version 1.23.13 I encountered the following error while installing version 0.44.4, which I believe is due to the lack of support for ARM

[root@master-1 tekton]# kubectl get pods -n tekton-pipelines NAME READY STATUS RESTARTS AGE tekton-pipelines-controller-6994f56cc4-bfn9v 0/1 CrashLoopBackOff 1 (11s ago) 20s tekton-pipelines-webhook-848dd5d89d-cmcjt 0/1 CrashLoopBackOff 1 (11s ago) 19s [root@master-1 tekton]# kubectl logs -f tekton-pipelines-controller-6994f56cc4-bfn9v -n tekton-pipelines exec /ko-app/controller: exec format error [root@master-1 tekton]# kubectl get pods -n tekton-pipelines-resolvers NAME READY STATUS RESTARTS AGE tekton-pipelines-remote-resolvers-56d49f5fdb-4r5w7 0/1 Error 3 (38s ago) 60s [root@master-1 tekton]# kubectl logs -f tekton-pipelines-remote-resolvers-56d49f5fdb-4r5w7 -n tekton-pipelines-resolvers exec /ko-app/resolvers: exec format error

Zzt1993 avatar Aug 13 '24 02:08 Zzt1993

I tried deploying the latest version again, but the error still persists

Zzt1993 avatar Aug 13 '24 02:08 Zzt1993

In case you're not already aware, v0.44 has been end of life (i.e. no longer supported) since January: https://github.com/tektoncd/pipeline/blob/main/releases.md#v044-lts

Also the latest release (currently v0.62) requires k8s 1.28 or later: https://github.com/tektoncd/pipeline/tree/main?tab=readme-ov-file#required-kubernetes-version

I took a look at the controller image for the latest release and confirmed it was published for the following platforms:

  • linux/amd64
  • linux/arm/v6
  • linux/arm/v7
  • linux/arm64
  • linux/ppc64le
  • linux/s390x
See details

v0.62.1: gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller@sha256:8f689628b722ca02c29dd1be59698a92e0948e9a656a4b680b35f76fa051342e

{
   "schemaVersion": 2,
   "mediaType": "application/vnd.oci.image.index.v1+json",
   "manifests": [
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1281,
         "digest": "sha256:b62930c4d77bc41493aabcb9813a561aedff74ef4d8efcab76b4dd197ab18ac7",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1281,
         "digest": "sha256:076245e44bbd0515b1b260c207a8708d6a322553bd434957af87fa670ee4d720",
         "platform": {
            "architecture": "arm",
            "os": "linux",
            "variant": "v6"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1281,
         "digest": "sha256:22f826fc5c52db7a6da3c761f13a490575701e472ca1d7d9cc8096dfa3ed730b",
         "platform": {
            "architecture": "arm",
            "os": "linux",
            "variant": "v7"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1281,
         "digest": "sha256:80d9b6e202fff583be686efd2546a94e7ae29c7e2f7a1e4b881ef636d58a3cfc",
         "platform": {
            "architecture": "arm64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1281,
         "digest": "sha256:58c569ac844f4ee35fe1d293fed3596a79afb45505e425107b307642d25ba130",
         "platform": {
            "architecture": "ppc64le",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1281,
         "digest": "sha256:09170429ef1570c23d9dd61f79b1eb2c04f83957aa438a2fc73a20546bd8fe77",
         "platform": {
            "architecture": "s390x",
            "os": "linux"
         }
      }
   ],
   "annotations": {
      "org.opencontainers.image.authors": "Chainguard Team https://www.chainguard.dev/",
      "org.opencontainers.image.base.digest": "sha256:67a1b00e0134e2b3a614c7198a26f7deed9d11b7acad4d52c79c0cfd47a2eae7",
      "org.opencontainers.image.base.name": "cgr.dev/chainguard/static@sha256:67a1b00e0134e2b3a614c7198a26f7deed9d11b7acad4d52c79c0cfd47a2eae7",
      "org.opencontainers.image.source": "https://github.com/chainguard-images/images/tree/main/images/static",
      "org.opencontainers.image.url": "https://edu.chainguard.dev/chainguard/chainguard-images/reference/static/"
   }
}

I also confirmed v0.44.4 has published images for the same list of platforms.

@tektoncd/core-maintainers Can you transfer this issue to tektoncd/pipeline please?

@Zzt1993 hopefully the Pipelines maintainers will be able to guide you further in debugging this.

AlanGreene avatar Aug 13 '24 09:08 AlanGreene

You can stand up a version of Tekton using your local clone's code to the currently configured K8s context (i.e., kubectl config current-context):

ko apply -R -f config/

If you are just want to try out and have fun, check https://github.com/tektoncd/pipeline/blob/main/DEVELOPMENT.md#managing-tekton-objects-using-ko for detail.

This way image will built from source after configuring ko, go...

xinnjie avatar Dec 24 '24 15:12 xinnjie

I tried deploying the latest version again, but the error still persists

But wondring what arm architecture you have. The latest versions with linux/arm/v6, linux/arm/v7, and linux/arm64 should support a wide range of ARM devices.

xinnjie avatar Dec 24 '24 15:12 xinnjie