GoogleContainerTools / GoogleContainerTools/skaffold
Skaffold fails when building with Kaniko on ARM64
- Dominant language
- Go
- Stars
- 15.9k
- Forks
- 1.7k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 10
Description
Using my Intel Mac, I am trying to build the go-hello-world example with Kaniko running on an ARM64 k8s cluster. It fails, as `gcr.io/k8s-skaffold/skaffold-helpers/busybox` is not an ARM64 image. Is there someway to overcome this?
```
skaffold version
v1.20.0
```
```
Name: kaniko-ksg27
Namespace: prod-b
Priority: 0
Node: node01/192.168.1.28
Start Time: Sun, 14 Mar 2021 08:53:12 +0100
Labels: skaffold-kaniko=skaffold-kaniko
Annotations:
Status: Failed
IP: 10.36.0.2
IPs:
IP: 10.36.0.2
Init Containers:
kaniko-init-container:
Container ID: docker://9b051d02ba90b8fa2455c9a87032a7d703dde7545b26cbc0f138e6455c5e5cfb
Image: gcr.io/k8s-skaffold/skaffold-helpers/busybox
Image ID: docker-pullable://gcr.io/k8s-skaffold/skaffold-helpers/busybox@sha256:ee44b399df993016003bf5466bd3eeb221305e9d0fa831606bc7902d149c775b
Port:
Host Port:
Command:
sh
-c
while [ ! -f /tmp/complete ]; do sleep 1; done
State: Terminated
Reason: Error
Exit Code: 1
Started: Sun, 14 Mar 2021 08:53:17 +0100
Finished: Sun, 14 Mar 2021 08:53:17 +0100
Ready: False
Restart Count: 0
Environment:
Mounts:
/kaniko/buildcontext from kaniko-emptydir (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-v2jpj (ro)
Containers:
kaniko:
Container ID:
Image: gcr.io/kaniko-project/executor
Image ID:
Port:
Host Port:
Args:
--destination
eu.gcr.io/myproject/go-hello-world:latest
--dockerfile
Dockerfile
--context
dir:///kaniko/buildcontext
--build-arg
opts=CGO_ENABLED=0 GOARCH=arm64
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Environment:
GOOGLE_APPLICATION_CREDENTIALS: /secret/kaniko-secret
UPSTREAM_CLIENT_TYPE: UpstreamClient(skaffold-v1.20.0)
IMAGE_NAME: go-hello-world
IMAGE_TAG: latest
IMAGE_REPO: eu.gcr.io/myproject
Mounts:
/kaniko/buildcontext from kaniko-emptydir (rw)
/secret from kaniko-secret (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-v2jpj (ro)
Conditions:
Type Status
Initialized False
Ready False
ContainersReady False
PodScheduled True
Volumes:
kaniko-emptydir:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
kaniko-secret:
Type: Secret (a volume populated by a Secret)
SecretName: kaniko-secret
Optional: false
default-token-v2jpj:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-v2jpj
Optional: false
QoS Class: BestEffort
Node-Selectors:
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 116s default-scheduler Successfully assigned prod-b/kaniko-ksg27 to node01
Normal Pulling 114s kubelet Pulling image "gcr.io/k8s-skaffold/skaffold-helpers/busybox"
Normal Pulled 112s kubelet Successfully pulled image "gcr.io/k8s-skaffold/skaffold-helpers/busybox" in 2.107084533s
Normal Created 112s kubelet Created container kaniko-init-container
Normal Started 111s kubelet Started container kaniko-init-container
```
Contributor guide
Assessment
This issue has not been assessed yet.