Welcome to the Linux Foundation Forum!

curl pod

pooriamehregan
pooriamehregan Posts: 3
edited January 2023 in LFS250 Class Forum

In part 05. WORKING WITH KUBERNETES > Demo: pods, where I'm trying to connect to the container using curl and pod IP, I get this error: curl: (7) Failed to connect to 172.17.0.4 port 80 after 3064 ms: No route to host. Does anybody know why this happens? Is it something I'm doing wrong?

I really appreciate any help you can provide.

Answers

  • Hi pooriamehregan and welcome to the forum! :smile:
    Can you give a little bit more insight about your setup? Are you using minikube or kubeadm?

    If you got the right IP from the kubectl describe command then there is probably something wrong with your networking setup.

    If you're unsure about the correct setup you can always try something like https://labs.play-with-k8s.com/

  • Thanks for the warm welcome, and respons!

    I'm using minikube, maybe that's why? The curl command executed fine (with the expected output) when I executed it inside the pod, using minikube dashboard pod's terminal. As you pointed out, it looks like a networking problem, because curl can't seem to find its way to the container when executed from outside the pod.

    I tried many things, the next thing on my list was to go back and try kubeadm instead of minikube, whith the correct network setup as you demonstrated in chapter 4.

  • pooriamehregan
    pooriamehregan Posts: 3
    edited January 2023

    I'm sorry... I've been stuck in this part of the course for a few days now. It would help a lot if you could add an additional video where you demonstrate other steps like setting up networking/ports/calcio and stuff like that. After installing kubeadm with this command kubectl exec sudo kubeadm init --pod-network-cidr=192.168.0.0/16 I have two pods (CoreDNS) that still are not running because calico isn't installed yet, but others are running. After I install calico, I get a connection refused error. First I was following the course and instruction on my local machine, and then on Ubuntu in a VM (KVM).

    Steps that I take:
    Installing containerd
    - tar Cxzvf /usr/local containerd-1.6.2-linux-amd64.tar.gz
    - install -m 755 runc.amd64 /usr/local/sbin/runc
    Installing runc
    - install -m 755 runc.amd64 /usr/local/sbin/runc
    Installing CNI plugins
    - mkdir -p /opt/cni/bin
    - tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.1.1.tgz
    Generating toml
    - containerd config default > /etc/containerd/config.toml
    installing kubeadm
    - sudo apt-get update
    - sudo apt-get install -y apt-transport-https ca-certificates curl
    - sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
    - echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
    - sudo apt-get update
    - sudo apt-get install -y kubelet kubeadm kubectl
    - sudo apt-mark hold kubelet kubeadm kubectl
    Creating cluster
    - kubectl exec sudo kubeadm init --pod-network-cidr=192.168.0.0/16
    Installing calico
    - curl https://raw.githubusercontent.com/projectcalico/calico/v3.24.5/manifests/calico.yaml -O
    - kubectl apply -f calico.yaml

    Would appreciate it a lot if you could help me out of this part :)

  • Hi

    kubectl exec sudo kubeadm init --pod-network-cidr=192.168.0.0/16 is not a valid command. It should be sudo kubeadm init only.

    Your setup SEEMS to be right, but I'm afraid I can't give you a clear solution to your problem. Have you checked the logs of the running pods?

Categories

Upcoming Training