Skip to content

XKCD addon is missing arm64 #665

Closed
@kingdonb

Description

@kingdonb

Report

The http-add-on has arm64 support, but the example arschles/xkcd does not publish a multi-arch image.

Expected Behavior

The example should run with amd64 or arm64 workers

Actual Behavior

So, in a multi-arch cluster, if your pod lands on an arm64 node when it scales up you'll sit waiting for a while and then see:

error on backend (context marked done while waiting for deployment xkcd to reach > 0 replicas (context deadline exceeded))

The pod, having landed on an arm64 node (on the cluster I've prepared for OSSNA/GitOpsCon!) has the predictable error:

$ k logs -f xkcd-bb4b89d74-qhrnr
exec /usr/local/bin/docker-entrypoint.sh: exec format error

Steps to Reproduce the Problem

I spun up an eks cluster with eksctl create cluster --config=file=cluster.config and the repro is in kingdon-ci/fleet-infra with the cluster name multiarch-ossna23.

If you omit the amd64 node group then it would fail every time. I included my cluster definition below. (For me it only fails a random percent of the time, because only 50% of nodes are arm64, it depends if xkcd gets scheduled to an arm64 node or not.)

Logs from KEDA HTTP operator

Not relevant, but here are the chart versions anyway:

http-addon           	keda-test                  	1       	2023-05-04 19:51:41.98488364 +0000 UTC 	deployed	keda-add-ons-http-0.4.1      	0.4.0
ingress-public       	ingress-nginx              	2       	2023-05-04 19:47:20.179020377 +0000 UTC	deployed	ingress-nginx-4.6.0          	1.7.0
keda                 	keda-test                  	1       	2023-05-04 19:50:57.338495283 +0000 UTC	deployed	keda-2.10.2                  	2.10.1

What version of the KEDA HTTP Add-on are you running?

chart 0.4.1

Kubernetes Version

1.25

Platform

Amazon Web Services

Anything else?

The content of the cluster is here:

$ cat ~/w/eks-cluster/cluster.config
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: multiarch-ossna23
  region: ca-central-1

managedNodeGroups:
  - name: ng-3
    instanceType: m5.large
    desiredCapacity: 1
    iam:
      withAddonPolicies:
        autoScaler: true
    # tags:
    #   k8s.io/cluster-autoscaler/enabled: true
    #   k8s.io/cluster-autoscaler/multiarch-ossna23: owned
  - name: ng-4
    instanceType: m6g.large
    desiredCapacity: 1
    iam:
      withAddonPolicies:
        autoScaler: true
    # tags:
    #   k8s.io/cluster-autoscaler/enabled: true
    #   k8s.io/cluster-autoscaler/multiarch-ossna23: owned

# nodeGroups:
#   - name: ng-1
#     instanceType: m5.large
#     desiredCapacity: 1
#     iam:
#       withAddonPolicies:
#         autoScaler: true
#   - name: ng-2
#     instanceType: m6g.large
#     desiredCapacity: 1
#     iam:
#       withAddonPolicies:
#         autoScaler: true

gitops:
  flux:
    gitProvider: github             # required. options are github or gitlab
    flags:                          # required. arbitrary map[string]string for all flux args.
    # these args are not controlled by eksctl. see https://fluxcd.io/docs/get-started/ for all available flags
      owner: "kingdon-ci"
      repository: "fleet-infra"
      private: "false"
      branch: "main"
      namespace: "flux-system"
      path: "clusters/multiarch-ossna"
      # team: "team1,team2"

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions