Cluster information:
Kubernetes version: v1.17.2+k3s1
Cloud being used: bare-metal
Installation method: k3s install script
Host OS: Arch Liux ARM
CNI and version: Flannel (default for k3s… I don’t know how to check its version?)
CRI and version: Containerd (same as above)
Hi all, very new to Kubernetes, trying to set up a cluster on some Raspberry Pis using k3s. I have been following parts of this guide, and I have the main parts set up:
~
❯ kubectl get pods -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
metallb-speaker-knd9z 1/1 Running 5 12d 192.168.0.20 alarm-master <none> <none>
cert-manager-549fd9dcb4-j49fp 1/1 Running 3 21h 10.42.0.63 alarm-master <none> <none>
coredns-d798c9dd-42mvn 1/1 Running 4 12d 10.42.0.65 alarm-master <none> <none>
local-path-provisioner-58fb86bdfd-fkbdn 1/1 Running 118 22h 10.42.2.149 alarm-other <none> <none>
metallb-speaker-p8qgw 1/1 Running 5 37d 192.168.0.43 alarm-other <none> <none>
cert-manager-webhook-6d57dbf4f-2h5cv 1/1 Running 1 21h 10.42.2.147 alarm-other <none> <none>
nginx-ingress-controller-74c5f87877-5qcfr 1/1 Running 1 21h 10.42.2.148 alarm-other <none> <none>
metallb-speaker-xbz2b 1/1 Running 5 37d 192.168.0.69 alarm-j <none> <none>
metrics-server-6d684c7b5-zvgbh 1/1 Running 5 31d 10.42.1.88 alarm-j <none> <none>
cert-manager-cainjector-79f4496665-nbx9c 1/1 Running 113 21h 10.42.1.87 alarm-j <none> <none>
metallb-controller-75bf779d4f-j7tn5 1/1 Running 5 37d 10.42.1.86 alarm-j <none> <none>
~
❯ kubectl get pods -n nextcloud -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
db-77b9dbd5c7-ll6qh 1/1 Running 2 23h 10.42.0.62 alarm-master <none> <none>
nextcloud-5cfc497cb-bzh4t 1/1 Running 2 20h 10.42.0.64 alarm-master <none> <none>
~
❯ kubectl get svc -n kube-system -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP,9153/TCP 37d k8s-app=kube-dns
metrics-server ClusterIP 10.43.37.132 <none> 443/TCP 37d k8s-app=metrics-server
nginx-ingress-controller LoadBalancer 10.43.150.78 192.168.0.240 80:32088/TCP,443:32221/TCP 21h app=nginx-ingress,component=controller,release=nginx-ingress
cert-manager-webhook ClusterIP 10.43.45.100 <none> 443/TCP 21h app.kubernetes.io/component=webhook,app.kubernetes.io/instance=cert-manager,app.kubernetes.io/name=webhook
cert-manager ClusterIP 10.43.90.39 <none> 9402/TCP 21h app.kubernetes.io/component=controller,app.kubernetes.io/instance=cert-manager,app.kubernetes.io/name=cert-manager
~
❯ kubectl get svc -n nextcloud -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
db ClusterIP 10.43.255.219 <none> 3306/TCP 23h app=db
nextcloud ClusterIP 10.43.253.99 <none> 8080/TCP 20h app=nextcloud
The issue I’m having is that even though nginx-ingress-controller
says its external IP is 192.168.0.240
, I cannot access this IP from outside the cluster e.g. my PC.
Running curl 192.168.0.240
on my PC gives me:
curl: (7) Failed to connect to 192.168.0.240 port 80: No route to host
I don’t know how to debug this; all I know is that it (probably?) isn’t iptables related since I don’t have iptables running.
Any ideas of how I should fix this? Thanks!