Welcome to the Linux Foundation Forum!

Lab 4.2. Could not get pod logs - "Error from server (NotFound)"

I'm trying to complete "Lab 4.2. Working with CPU and Memory Constraints" and faced following troubles.

I've deployed "hog" successfully:

  1. $ kubectl get pods --all-namespaces
  2. NAMESPACE NAME READY STATUS RESTARTS AGE
  3. default hog-775c7c858f-c2nmk 1/1 Running 0 10s
  4. kube-system calico-kube-controllers-69496d8b75-knwzg 1/1 Running 1 3d14h
  5. kube-system calico-node-cnj4n 1/1 Running 1 3d14h
  6. kube-system calico-node-cw5wb 1/1 Running 1 3d14h
  7. kube-system coredns-f9fd979d6-w77l2 1/1 Running 1 3d14h
  8. kube-system coredns-f9fd979d6-wzmmq 1/1 Running 1 3d14h
  9. kube-system etcd-k8smaster 1/1 Running 1 3d14h
  10. kube-system kube-apiserver-k8smaster 1/1 Running 1 3d14h
  11. kube-system kube-controller-manager-k8smaster 1/1 Running 1 3d14h
  12. kube-system kube-proxy-srth7 1/1 Running 1 3d14h
  13. kube-system kube-proxy-xwnhc 1/1 Running 1 3d14h
  14. kube-system kube-scheduler-k8smaster 1/1 Running 1 3d14h

But could not get logs for it:

  1. $ kubectl --namespace default logs hog-775c7c858f-c2nmk
  2. Error from server (NotFound): the server could not find the requested resource ( pods/log hog-775c7c858f-c2nmk)

Could anybody help?

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Comments

  • Posts: 2,443

    Hi @Gim6626,

    Can you try running kubectl logs hog-775c7c858f-c2nmk instead? To provide the default namespace name is not necessary for kubectl commands. If desired, however, you may try to add the namespace after the logs command, as such kubectl logs hog-775c7c858f-c2nmk --namespace default.

    Regards,
    -Chris

  • Posts: 27

    Hi! @chrispokorni,

    I've tried what you've asked. Same result:

    1. $ kubectl logs hog-775c7c858f-c2nmk
    2. Error from server (NotFound): the server could not find the requested resource ( pods/log hog-775c7c858f-c2nmk)
  • Posts: 2,443

    Hi @Gim6626,

    After creating the hog deployment, can you run a kubectl describe pod hog-<TAB>? Can you provide its output?

    Also, what are the specs of your nodes (CPU and MEM)? What are the specified values of the MEM requests and limits for the hog application?

    Regards,
    -Chris

  • Posts: 27

    @chrispokorni, thank you for trying to help me. I really appreciate it.

    Here is requested describe output (with requests and limits info both there):

    1. $ kubectl describe pod hog-775c7c858f-c2nmk
    2. Name: hog-775c7c858f-c2nmk
    3. Namespace: default
    4. Priority: 0
    5. Node: ubuntu-training-server-2/10.0.2.15
    6. Start Time: Tue, 06 Apr 2021 06:41:43 +0000
    7. Labels: app=hog
    8. pod-template-hash=775c7c858f
    9. Annotations: cni.projectcalico.org/podIP: 192.168.0.224/32
    10. cni.projectcalico.org/podIPs: 192.168.0.224/32
    11. Status: Running
    12. IP: 192.168.0.224
    13. IPs:
    14. IP: 192.168.0.224
    15. Controlled By: ReplicaSet/hog-775c7c858f
    16. Containers:
    17. stress:
    18. Container ID: docker://1a32f6fb31acf401856e52e01f33c104a4b0b239aae9378c8bbcd961937c6825
    19. Image: vish/stress
    20. Image ID: docker-pullable://vish/stress@sha256:b6456a3df6db5e063e1783153627947484a3db387be99e49708c70a9a15e7177
    21. Port: <none>
    22. Host Port: <none>
    23. State: Running
    24. Started: Wed, 14 Apr 2021 01:24:59 +0000
    25. Last State: Terminated
    26. Reason: Error
    27. Exit Code: 2
    28. Started: Tue, 13 Apr 2021 06:42:30 +0000
    29. Finished: Tue, 13 Apr 2021 11:02:33 +0000
    30. Ready: True
    31. Restart Count: 5
    32. Limits:
    33. memory: 4Gi
    34. Requests:
    35. memory: 2500Mi
    36. Environment: <none>
    37. Mounts:
    38. /var/run/secrets/kubernetes.io/serviceaccount from default-token-ckqmd (ro)
    39. Conditions:
    40. Type Status
    41. Initialized True
    42. Ready True
    43. ContainersReady True
    44. PodScheduled True
    45. Volumes:
    46. default-token-ckqmd:
    47. Type: Secret (a volume populated by a Secret)
    48. SecretName: default-token-ckqmd
    49. Optional: false
    50. QoS Class: Burstable
    51. Node-Selectors: <none>
    52. Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
    53. node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
    54. Events:
    55. Type Reason Age From Message
    56. ---- ------ ---- ---- -------
    57. Warning FailedMount 4m5s kubelet, ubuntu-training-server-2 MountVolume.SetUp failed for volume "default-token-ckqmd" : failed to sync secret cache: timed out waiting for the condition
    58. Normal SandboxChanged 3m31s (x2 over 4m4s) kubelet, ubuntu-training-server-2 Pod sandbox changed, it will be killed and re-created.
    59. Normal Pulling 3m30s kubelet, ubuntu-training-server-2 Pulling image "vish/stress"
    60. Normal Pulled 3m27s kubelet, ubuntu-training-server-2 Successfully pulled image "vish/stress" in 2.621269997s
    61. Normal Created 3m27s kubelet, ubuntu-training-server-2 Created container stress
    62. Normal Started 3m27s kubelet, ubuntu-training-server-2 Started container stress

    I'm operating on two VirtualBox nodes (master and worker), each with MemTotal: 4039204 kB according to /proc/meminfo

  • Posts: 27

    Noticed that limits may be too high, recreated hog with Limits/memory = 1Gi and Requests/memory=500Mi - same thing:

    1. $ kubectl get pods
    2. NAME READY STATUS RESTARTS AGE
    3. hog-6b46648d4f-wxxdf 1/1 Running 0 4m6s
    4. $ kubectl logs hog-6b46648d4f-wxxdf
    5. Error from server (NotFound): the server could not find the requested resource ( pods/log hog-6b46648d4f-wxxdf)
    6. $ kubectl describe pod hog-6b46648d4f-wxxdf | grep -B 1 memory
    7. Limits:
    8. memory: 1Gi
    9. Requests:
    10. memory: 500Mi

    Funny fact actually. Pod exists in list, it autocompletes, but "NotFound".

  • Posts: 2,443

    Hi @Gim6626,

    The failed volume mount from the warning message may be the result of the server-2's kubelet not being able to resolve a required dependency.

    With MEM at a bare minimum, how much CPU is assigned to each VM?
    Have you noticed any changes after your VM/nodes are rebooted?

    Regards,
    -Chris

  • Posts: 27

    I've got 6-core 12-thread MacBook Pro as host and for each node (master, worker) I've assigned 2 CPU.
    After reboot/new container start - nothing interesting.

    Now I'm at lab 8.1 and have created pod shell-demo, it exists at the list:

    1. $ kubectl get pods
    2. NAME READY STATUS RESTARTS AGE
    3. busybox 0/1 Error 0 2d18h
    4. curlpod 1/1 Running 6 7d
    5. hog-6b46648d4f-bwjw2 1/1 Running 3 42h
    6. shell-demo 1/1 Running 0 3m30s

    but:

    1. $ kubectl exec shell-demo -- /bin/bash -c'echo $ilike'
    2. error: unable to upgrade connection: pod does not exist

    Looks like related thing.

  • Posts: 27

    Got it after more googling. There was networking error.

    Here is how I've found that something is wrong:

    1. $ kubectl get nodes -o wide
    2. NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
    3. k8smaster Ready master 16d v1.19.1 192.168.56.104 <none> Ubuntu 18.04.5 LTS 4.15.0-141-generic docker://19.3.6
    4. ubuntu-training-server-2 Ready <none> 16d v1.19.1 10.0.2.15 <none> Ubuntu 18.04.5 LTS 4.15.0-141-generic docker://19.3.6

    First IP is OK, it is internal IP, and second is NAT IP (same for both machines).

    So I've manually set internal IPs (192.168.56.104 for master and 192.168.56.105 for worker) in /etc/kubernetes/kubelet.conf (using KUBELET_EXTRA_ARGS=--node-ip=192.168.56.104) and restarted kubelet systemctl restart kubelet.service.

  • Posts: 2,443

    Hi @Gim6626,

    When there are more than one network interfaces on a node, Kubernetes tends to misbehave. A single bridged adapter for each node should provide you with all the required networking - node-to-node, node-to-internet, and node-to-host/host-to-node connectivity.

    Regards,
    -Chris

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training