projectcalico / vpp-dataplane

VPP dataplane implementation for Calico
Apache License 2.0
145 stars 37 forks source link

WatchDog timed out waiting for config from felix. Exiting... #701

Open HandsomeWu1 opened 1 month ago

HandsomeWu1 commented 1 month ago

Environment

Issue description After deploying Calico successfully, I attempted to run Calico-VPP. However, the VPP container frequently restarts on its own. Below are some infomations: kubectl get po -A image

kubectl describe po -n calico-vpp-dataplane calico-vpp-node-9vvdv image

kubectl logs -n calico-vpp-dataplane calico-vpp-node-9vvdv -c agent image

It seems that the file for felixconfig provided by Calico Node is missing, but I am unsure how to obtain this file.

onong commented 1 month ago

Hi @HandsomeWu1,

After deploying Calico successfully, I attempted to run Calico-VPP. However, the VPP container frequently restarts on its own.

Did you deploy Calico first and then start the Calico-VPP containers manually? Could you share the steps you used to deploy?

HandsomeWu1 commented 1 month ago

Hi @HandsomeWu1,

After deploying Calico successfully, I attempted to run Calico-VPP. However, the VPP container frequently restarts on its own.

Did you deploy Calico first and then start the Calico-VPP containers manually? Could you share the steps you used to deploy?

Hi @onong , I follow this guide provided by tigera.io(https://docs.tigera.io/calico/3.26/getting-started/kubernetes/vpp/getting-started. which is the official website)to run calico first, and after all the calico pods are ready, here are my steps:

  1. kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/tigera-operator.yaml

  2. kubectl create -f https://raw.githubusercontent.com/projectcalico/vpp-dataplane/v3.26.0/yaml/calico/installation-default.yaml

  3. curl -o calico-vpp.yaml https://raw.githubusercontent.com/projectcalico/vpp-dataplane/v3.26.0/yaml/generated/calico-vpp.yaml

And I only modified this file‘s interfaceName field to "ens192". then I ran

  1. kubectl create -f calico-vpp.yaml

besides, this is my ifconfig info

image image
onong commented 1 month ago

@HandsomeWu1,

Thanks for the details. Based on the details you provided, I am guessing the following is what you did. Could you confirm?

  1. Created the K8s cluster (if so, what steps/tools you used)
  2. Deployed Calico (if so, whats steps/tools/guide you used)
  3. Deployed Calico-VPP
onong commented 1 month ago

Also, could you pls share the logs from one of the calico-node pods?

onong commented 1 month ago

@HandsomeWu1, looking more carefully at your screenshots I see you have the cali* interfaces which means that you deployed Calico followed by Calico-VPP. Well, that is incorrect. There is no need to deploy Calico before deploying Calico-VPP. After you have created a blank K8s cluster (using kubeadm, for example), directly follow the steps for deploying Calico-VPP. That should do it.

HandsomeWu1 commented 1 month ago

@HandsomeWu1, looking more carefully at your screenshots I see you have the cali* interfaces which means that you deployed Calico followed by Calico-VPP. Well, that is incorrect. There is no need to deploy Calico before deploying Calico-VPP. After you have created a blank K8s cluster (using kubeadm, for example), directly follow the steps for deploying Calico-VPP. That should do it.

Hi @onong, thank you for your response, I have tried your way, I deploy a new cluster by kind, and I only deploy tigera-operator first, then I start deploy calico-vpp-node, but this time also failed, here are some logs kubect get po -A

image

kubectl describe po -n calico-vpp-dataplane calico-vpp-node-8j7g9

image

kubectl logs -n calico-vpp-dataplane calico-vpp-node-8j7g9 -c agent

image
onong commented 1 month ago

@HandsomeWu1, I think you missed the following step?

kubectl create -f https://raw.githubusercontent.com/projectcalico/vpp-dataplane/v3.26.0/yaml/calico/installation-default.yaml

In any case, if you are trying to create a kind cluster then pls refer to this doc:

https://github.com/projectcalico/vpp-dataplane/blob/master/docs/kind.md

For example to create a four node kind cluster, do the following:

echo 'kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
  disableDefaultCNI: true
  podSubnet: "11.0.0.0/16,fd20::0/64"
  serviceSubnet: "11.96.0.0/12,fd10::0/120"
  ipFamily: dual
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker
' | kind create cluster --config=-

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/master/manifests/tigera-operator.yaml
kubectl create -f  https://raw.githubusercontent.com/projectcalico/vpp-dataplane/master/yaml/calico/installation-default.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/vpp-dataplane/master/yaml/generated/calico-vpp-kind.yaml