Version:
k3s version v1.0.1 (e94a3c60)
K3S installed and run using default options. Raspberry pi 4 using Ubuntu 19.10 64bit
Describe the bug
Unable to deploy ingress-nginx (pods are in CrashLoopBackOff status)
To Reproduce
Follow the official install guide from:
https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md
I applied the mandatory.yaml file as well as a combination of mandatory.yaml + service-nodeport.yaml
Expected behavior
ingress-nginx should be deployed successfully
Actual behavior
When following the above guide the pods never get to running state. They are in CrashLoopBackOff status.
Additional context
PS C:\Users\sotos\KubernetesDeployments> kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system helm-install-traefik-lqnz7 0/1 Completed 0 2d5h
kube-system helm-install-traefik-n6872 0/1 Completed 0 26h
kube-system helm-install-traefik-hnnvn 0/1 Completed 0 170m
kubernetes-dashboard kubernetes-dashboard-5996555fd8-tvnpw 1/1 Running 7 30h
kube-system metrics-server-6d684c7b5-7slz7 1/1 Running 4 2d5h
kube-system local-path-provisioner-58fb86bdfd-mbbsh 1/1 Running 5 2d5h
metallb-system speaker-vpsn9 1/1 Running 0 18m
metallb-system speaker-748vm 1/1 Running 0 18m
kube-system traefik-65bccdc4bd-jp2xr 1/1 Running 3 169m
kube-system coredns-d798c9dd-7t49g 1/1 Running 4 2d5h
metallb-system controller-65895b47d4-s699m 1/1 Running 0 18m
kubernetes-dashboard dashboard-metrics-scraper-76585494d8-wgqvh 0/1 CrashLoopBackOff 358 30h
ingress-nginx nginx-ingress-controller-9dfc54f55-hvhx9 0/1 CrashLoopBackOff 2 36s
PS C:\Users\sotos\KubernetesDeployments>
PS C:\Users\sotos\KubernetesDeployments> kubectl describe pod -n ingress-nginx nginx-ingress-controller-9dfc54f55-hvhx9
Name: nginx-ingress-controller-9dfc54f55-hvhx9
Namespace: ingress-nginx
Priority: 0
PriorityClassName:
Node: k8s-node01/192.168.1.172
Start Time: Mon, 06 Jan 2020 02:32:03 +0200
Labels: app.kubernetes.io/name=ingress-nginx
app.kubernetes.io/part-of=ingress-nginx
pod-template-hash=9dfc54f55
Annotations: kubernetes.io/limit-ranger: LimitRanger plugin set: cpu, memory request for container nginx-ingress-controller
prometheus.io/port: 10254
prometheus.io/scrape: true
Status: Running
IP: 10.42.1.26
Controlled By: ReplicaSet/nginx-ingress-controller-9dfc54f55
Containers:
nginx-ingress-controller:
Container ID: containerd://597b29382222a487b44fa9914afb4132fecb2eea43e0ed40923fd506bf7d0fea
Image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.2
Image ID: sha256:f6ce2fa0df5246ec835e72123a1a718cabb36f1ba77ce3dc2dfb06da202575ff
Ports: 80/TCP, 443/TCP
Host Ports: 0/TCP, 0/TCP
Args:
/nginx-ingress-controller
--configmap=$(POD_NAMESPACE)/nginx-configuration
--tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
--udp-services-configmap=$(POD_NAMESPACE)/udp-services
--publish-service=$(POD_NAMESPACE)/ingress-nginx
--annotations-prefix=nginx.ingress.kubernetes.io
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 1
Started: Mon, 06 Jan 2020 02:35:12 +0200
Finished: Mon, 06 Jan 2020 02:35:12 +0200
Ready: False
Restart Count: 5
Requests:
cpu: 100m
memory: 90Mi
Liveness: http-get http://:10254/healthz delay=10s timeout=10s period=10s #success=1 #failure=3
Readiness: http-get http://:10254/healthz delay=0s timeout=10s period=10s #success=1 #failure=3
Environment:
POD_NAME: nginx-ingress-controller-9dfc54f55-hvhx9 (v1:metadata.name)
POD_NAMESPACE: ingress-nginx (v1:metadata.namespace)
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from nginx-ingress-serviceaccount-token-cl4h7 (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
nginx-ingress-serviceaccount-token-cl4h7:
Type: Secret (a volume populated by a Secret)
SecretName: nginx-ingress-serviceaccount-token-cl4h7
Optional: false
QoS Class: Burstable
Node-Selectors: kubernetes.io/os=linux
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled
Warning Unhealthy 5m4s kubelet, k8s-node01 Readiness probe failed: Get http://10.42.1.26:10254/healthz: dial tcp 10.42.1.26:10254: connect: connection refused
Normal Started 4m8s (x4 over 5m5s) kubelet, k8s-node01 Started container nginx-ingress-controller
Normal Pulled 3m26s (x5 over 5m6s) kubelet, k8s-node01 Container image "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.2" already present on machine
Normal Created 3m25s (x5 over 5m5s) kubelet, k8s-node01 Created container nginx-ingress-controller
Warning BackOff 5s (x28 over 5m2s) kubelet, k8s-node01 Back-off restarting failed container
PS C:\Users\sotos\KubernetesDeployments>
@sotiris84 the default image mentioned in the docs only supports amd64. You need to change the image running something like
kubectl set image deployment/nginx-ingress-controller \
-n ingress-nginx \
nginx-ingress-controller=quay.io/kubernetes-ingress-controller/nginx-ingress-controller-arm64:0.26.2
or download the yaml file and change the value before using kubectl apply
You are absolutely right, that was the issue. It needed the arm64. Thank you!
Most helpful comment
@sotiris84 the default image mentioned in the docs only supports amd64. You need to change the image running something like
or download the yaml file and change the value before using kubectl apply