mvisonneau / helm-charts

Personal Helm charts repository
Apache License 2.0
65 stars 58 forks source link

[ERROR] Deployment Failure: ARM7 Devices Not Supported #30

Closed funkeyfreak closed 2 years ago

funkeyfreak commented 2 years ago

Great chart! I have ran into a bit of an issue.

When deploying on my RaspberryPi, the deployed pod fails with

Failed to pull image "docker.io/mvisonneau/tailscale:v1.16.0": rpc error: code = NotFound desc = failed to pull and unpack image "docker.io/mvisonneau/tailscale:v1.16.0": failed to unpack image on snapshotter overlayfs: no match for platform in manifest sha256:926fd9c5ed7f62d0f17d494171fd7d409b4deca0e00aeadb7b40f93603657a2e: not found

Below is the results of kubectl describe on the tailscale-subnet-router-tailscale-relay-0 pod.

Name:         tailscale-subnet-router-tailscale-relay-0
Namespace:    default
Priority:     0
Node:         worker2/192.168.11.8
Start Time:   Tue, 28 Dec 2021 02:46:27 -0800
Labels:       app.kubernetes.io/component=tailscale
              app.kubernetes.io/instance=tailscale-subnet-router
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=tailscale-relay-0.1.0
              app.kubernetes.io/part-of=tailscale-relay
              app.kubernetes.io/version=v1.16.0
              controller-revision-hash=tailscale-subnet-router-tailscale-relay-54895dddb
              helm.sh/chart=tailscale-relay-0.1.0
              statefulset.kubernetes.io/pod-name=tailscale-subnet-router-tailscale-relay-0
Annotations:  checksum/configMap: <redacted>
              checksum/secret: <redacted>
Status:       Pending
IP:           10.42.1.121
IPs:
  IP:           10.42.1.121
Controlled By:  StatefulSet/tailscale-subnet-router-tailscale-relay
Containers:
  tailscale-relay:
    Container ID:   
    Image:          docker.io/mvisonneau/tailscale:v1.16.0
    Image ID:       
    Port:           8080/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ImagePullBackOff
    Ready:          False
    Restart Count:  0
    Environment Variables from:
      tailscale-subnet-router-tailscale-relay-config  ConfigMap  Optional: false
      tailscale-subnet-router-tailscale-relay-config  Secret     Optional: false
    Environment:
      TAILSCALED_STATE:  kube:tailscale-relay-state
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from tailscale-relay-token-569tw (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  tailscale-relay-token-569tw:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  tailscale-relay-token-569tw
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                    From               Message
  ----     ------     ----                   ----               -------
  Normal   Scheduled  6m35s                  default-scheduler  Successfully assigned default/tailscale-subnet-router-tailscale-relay-0 to worker2
  Normal   Pulling    5m13s (x4 over 6m34s)  kubelet            Pulling image "docker.io/mvisonneau/tailscale:v1.16.0"
  Warning  Failed     5m12s (x4 over 6m33s)  kubelet            Failed to pull image "docker.io/mvisonneau/tailscale:v1.16.0": rpc error: code = NotFound desc = failed to pull and unpack image "docker.io/mvisonneau/tailscale:v1.16.0": failed to unpack image on snapshotter overlayfs: no match for platform in manifest sha256:926fd9c5ed7f62d0f17d494171fd7d409b4deca0e00aeadb7b40f93603657a2e: not found
  Warning  Failed     5m12s (x4 over 6m33s)  kubelet            Error: ErrImagePull
  Warning  Failed     4m44s (x6 over 6m33s)  kubelet            Error: ImagePullBackOff
  Normal   BackOff    91s (x20 over 6m33s)   kubelet            Back-off pulling image "docker.io/mvisonneau/tailscale:v1.16.0"

I believe that this may be related to this error, can we add an ARM64 host to the underlying docker file?

Suggested Solution: Provide an image built with alpine:3.9 as this was the last version of alpine which supported the armf/arm6 architecture.

funkeyfreak commented 2 years ago

I've created a PR which should resolve this issue.

mvisonneau commented 2 years ago

thanks for raising this issue and providing the fix @funkeyfreak 🙇 the change should be available as part of latest version of the chart (0.1.1). Feel free to reopen if it still doesn't work!