-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VPP-dataplane Setup Failure, CoreDNS and calico-kube-controllers fail to reach kubeAPI Server #685
Comments
Hi @umarfarooq-git, sorry to hear about the troubles you have been having. Could you share the calico/vpp ds logs? kubectl logs -n calico-vpp-dataplane calico-vpp-node-XYZ -c vpp |
@onong, Thank you for your response. logs of cali-vpp-node are as below vagrant@kubemaster: |
You have enp0s8 and enp0s9 configured with ip addrs in the same subnet, 192.168.56.0/24. That might be causing confusion in the routing. Bringing down enp0s9 might be a good idea among other things. Secondly, the --pod-network-cidr=192.168.0.0/16 overlaps with the subnet used by enp0s8/9. Pls use a different cidr. |
@onong After spending hours, I got it working. Thank you very much. Solution:
I have another question which isn't directly aligned with the issue, Would be greatful for your response. Does overall Calico VPP (particularly VPP's driver DPDK) works with kubevirt If we want to accelerate network traffic of VM's inside K8S cluster..! |
Could you elaborate on what you mean by "we want to accelerate network traffic of VM's inside K8S cluster."? |
I hit a similar issue in my K8s cluster that uses Azure Compute instances and CentOS 8. I have NetworkManager managing networking on the hosts. Environment:
When I deploy a Here's what I get from a
Here's what I get from a
I restarted one of my
Here's the NetworkManager logs from one of the hosts
I tried restarting the NetworkManager on the each host and then created I noticed that on both of my cluster hosts (master, worker1) I have these log entries in the NetworkManager logs
Is this a typical message when VPP is taking over the interface or this could be an indicator of some other problem? |
@onong |
@onong Can you please look into the following issue. I again stuck with while configuring Calico VPP on the same platform but this time with 2 nodes. Setup: Problem1 Problem2 Tried solution but unsuccessful:
Would greatful to have any clue about the trouble which I am facing. I am really confused about the 'Leader Election' error. I don't even have two master node. |
@umarfarooq-git The logs seem to indicate that the apiserver is not responding. Could you share the apiserver logs? |
Just so we are on the same page, in a Calico VPP cluster, the main/uplink interface is consumed by VPP using one of the supported uplink drivers (af_packet, DPDK etc) and the pods are presented with a tuntap interface. By configuring Calico VPP to use DPDK (assuming that the NIC is DPDK supported), your pods/VNFs are indirectly using DPDK. But I guess thats not what you may have in mind :) So, could you describe what's your usage scenario with the VNF and DPDK and SR-IOV in the above framework? Are you looking to setup another NIC for the VNF to be consumed by DPDK? |
@ivansharamok, host with MAC |
There is no host with MAC
I noticed today that on worker1 host, I get this
Do you know if Calico VPP was ever tested using Azure VMs? I'm starting to suspect that Azure VMs of |
@ivansharamok, we have not tested with Azure VMs afaik.
What I meant was that there might be another node (with MAC 02:CA:11:C0:FD:00) in the subnet which is assigned the IP addrs belonging to the worker/master node? Try arping -I eth0 <master/worker IP addr> |
I don't have any other nodes in the subnet. In my test environment I'm building all the resources from scratch with terraform. I have a dedicated VPC with only 2 Azure Compute instances within the VPC.
|
@onong Thank you for responding. |
Regarding Calico VPP support for VMs inside k8s cluster. My goal is exactly what you mentioned. I have a device which has more than one NIC (with DPDK support). I want to run a VNF (VM based network function) on such a device using kubevirt inside K8S cluster. and want to use Calico VPP with DPDK drivers in order to accelrate network traffic for that VNF through one of the available NIC. |
@umarfarooq-git you might want to go through the https://github.com/projectcalico/vpp-dataplane/blob/master/docs/multinet.md |
@ivansharamok, sorry for the delayed response. The warning log msg around address conflict in the NM logs is probably ok given that azure networking differs from conventional networking somewhat. Sorry for making you chase that lead :( However, if the network connectivity between the two nodes is ok then things should work fine. But like I mentioned earlier, we have not tested on azure so can't say for sure. The issue you are seeing is probably due to some quirk in azure networking. |
Environment
Client Version: v1.28.8
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.8
Issue description
CoreDNS and calico-kube-controllers not able to run. CrashLoopBackOff, Probably both of these pods are trying to connect API server at wrong IP. Logs are provided below.
To Reproduce
Steps to reproduce the behavior:
sudo swapoff -a
/etc/containerd/config.toml
kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.56.2
To Install Calico with the VPP dataplane
Followed the instruction from here. https://docs.tigera.io/calico/latest/getting-started/kubernetes/vpp/getting-started
I assign the huge pages with
echo "vfio_pci" > /etc/modules-load.d/95-vpp.conf
modprobe vfio_pci
echo "vm.nr_hugepages = 512" >> /etc/sysctl.conf
sysctl -p
systemctl restart kubelet
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.2/manifests/tigera-operator.yaml
kubectl apply -f https://raw.githubusercontent.com/projectcalico/vpp-dataplane/v3.27.0/yaml/calico/installation-default.yaml
curl -o calico-vpp.yaml https://raw.githubusercontent.com/projectcalico/vpp-dataplane/v3.27.0/yaml/generated/calico-vpp.yaml
Keep all settings unchanged except for modifying the vpp_dataplane_interface in the configuration file. The remaining configurations will stay the same as those in my cluster, with the service_prefix retaining its default value of 10.96.0.0/12.
kind: ConfigMap
apiVersion: v1
metadata:
name: calico-config
namespace: calico-vpp-dataplane
data:
service_prefix: 10.96.0.0/12
vpp_dataplane_interface: enp0s8
vpp_uplink_driver: ""
Have spent days on it 😞
Want to find out if there is some issue with the version of calico or I am doing something wrong. Bcasuse It works like charm if I simply configure calico CNI using following Link and don't setup VPP dataplane at all.
kubectl create -f https://docs.projectcalico.org/v3.15/manifests/calico.yaml
Expected behavior
I want to setup calico VPP dataplane to test the VPP different available VPP drivers like DPDK for traffic acceleration.
Additional context
Logs of Pods creating issue.
k get pods -A -o wide
calico-kube-controllers
Similar issues
#217
projectcalico/calico#6227
@lwr20 @AloysAugustin @Josh-Tigera Would be grateful for your help everyone.
The text was updated successfully, but these errors were encountered: