Welcome to the Linux Foundation Forum!

Lab 2.3 --Cannot create pod

When I try to create the pod in 2.3, I get that it cannot pull nginx. I have these VMs set up on VM workstation, and here is the output of my pod:

eric@ubuntu:~/Desktop/LFD259/SOLUTIONS/s_02$ kubectl describe pod basicpod
Name: basicpod
Namespace: default
Priority: 0
Node: ubuntu/192.168.130.129
Start Time: Mon, 20 Dec 2021 14:57:15 -0800
Labels:
Annotations: cni.projectcalico.org/containerID: 67578442aaea8333bbb797060a9ab0fd31c1ebbf6f78984f12059c56859a51d3
cni.projectcalico.org/podIP: 192.168.243.193/32
cni.projectcalico.org/podIPs: 192.168.243.193/32
Status: Pending
IP: 192.168.243.193
IPs:
IP: 192.168.243.193
Containers:
webcont:
Container ID:
Image: nginx
Image ID:
Port:
Host Port:
State: Waiting
Reason: ImagePullBackOff
Ready: False
Restart Count: 0
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-csz6g (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
kube-api-access-csz6g:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
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 4m33s default-scheduler Successfully assigned default/basicpod to ubuntu
Warning Failed 3m15s (x6 over 4m31s) kubelet Error: ImagePullBackOff
Normal Pulling 3m (x4 over 4m32s) kubelet Pulling image "nginx"
Warning Failed 3m (x4 over 4m31s) kubelet Failed to pull image "nginx": rpc error: code = Unknown desc = reading manifest latest in quay.io/nginx: StatusCode: 404, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final/...
Warning Failed 3m (x4 over 4m31s) kubelet Error: ErrImagePull
Normal BackOff 2m45s (x7 over 4m31s) kubelet Back-off pulling image "nginx"
eric@ubuntu:~/Desktop/LFD259/SOLUTIONS/s_02$ kubectl logs basicpod
Error from server (BadRequest): container "webcont" in pod "basicpod" is waiting to start: trying and failing to pull image

I suspect it may have something to do with the 192.168 but I don't see how that can be fixed on VMWare. Please assist.

Answers

  • Hi @swifty819,

    Overlapping IP addresses are causing major issues within a cluster. If the hypervisor assigns VM IP addresses that overlap with the Calico default Pod subnet, I would recommend re-configuring the hypervisor to use a different subnet, maybe 10.200.0.0/16, while Calico will still use the default 192.168.0.0/16 network.

    I would also ensure that the hypervisor allows all ingress traffic from all sources, all protocols, to all ports.

    Regards,
    -Chris

  • Do you know how I can configure that? I managed to get further along by rebuilding everything but now I'm stuck on a different point:
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    basicservice NodePort 10.109.133.135 80:31607/TCP 35s
    kubernetes ClusterIP 10.96.0.1 443/TCP 22h
    eric@ubuntu:~$ curl ifconfig.io
    72.66.52.166
    eric@ubuntu:~$ curl http://72.66.52.166:31607
    curl: (7) Failed to connect to 72.66.52.166 port 31607: Connection refused

    I tried running that on another VM too

  • Hi @swifty819,

    A connection refused means that there may be a firewall blocking access to that port. The firewall could be on your host machine. This could be fixed with a firewall rule, and possibly with port forwarding configured on your hypervisor.

    An easier method would be to simply curl the private IP of the VM, the IP that is accessible from your host system.

    Regards,
    -Chris

Categories

Upcoming Training