Skip to content
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

DSR api v1alpha2.RuntimeService outdated on 1.26 with crio #1464

Closed
ffdfgdfg opened this issue Apr 17, 2023 · 0 comments · Fixed by #1470
Closed

DSR api v1alpha2.RuntimeService outdated on 1.26 with crio #1464

ffdfgdfg opened this issue Apr 17, 2023 · 0 comments · Fixed by #1470
Labels

Comments

@ffdfgdfg
Copy link

What happened?
I build a baremetal cluster, use metallb to provide loadbalancer, and deploy a redis-cluster with external access, redis pod needs to access others via loadbalancer, however, when cluster initialize, redis pod access it self via loadbalancer.

so iptables trace like
PACKET: 2 693ce7cf OUT=kube-bridge LL=0x0 ffffff8a2affffff9bffffffbf7effffffb8ffffffd648ffffff886bffffff8cffffff8c0800 SRC=10.244.2.233 DST=10.244.2.233 LEN=60 TOS=0x0 TTL=63 ID=59297DF SPORT=42404 DPORT=80 SYN
and tcpdump like
10:40:29.714577 IP (tos 0x0, ttl 64, id 58914, offset 0, flags [DF], proto TCP (6), length 60) 10.244.2.233.50746 > xxxxxxxxxxx.80: Flags [S], cksum 0x30de (incorrect -> 0x1b7a), seq 284959392, win 64240, options [mss 1460,sackOK,TS val 3218622182 ecr 0,nop,wscale 7], length 0 10:40:29.714654 IP (tos 0x0, ttl 63, id 58914, offset 0, flags [DF], proto TCP (6), length 60) 10.244.2.233.50746 > 10.244.2.233.80: Flags [S], cksum 0x1be8 (incorrect -> 0x3070), seq 284959392, win 64240, options [mss 1460,sackOK,TS val 3218622182 ecr 0,nop,wscale 7], length 0

packet lost, can't access, so I want to test DSR, but DSR can't work.

What did you expect to happen?
see this cri-o/cri-o#6554
use v1.RuntimeService api

How can we reproduce the behavior you experienced?
Steps to reproduce the behavior:

  1. configure kube-router with DSR
  2. annotate service
  3. service can't access

**Screenshots / Architecture Diagrams / Network Topologies **
If applicable, add those here to help explain your problem.

** System Information (please complete the following information):**

  • Kube-Router Version (kube-router --version): [1.5.3]
  • Kube-Router Parameters: [
    - --run-router=true
    - --run-firewall=true
    - --run-service-proxy=true
    - --bgp-graceful-restart=true
    - --kubeconfig=/var/lib/kube-router/kubeconfig
    - --service-external-ip-range=xxxxxxxx/xx
    - --runtime-endpoint=unix:///var/run/crio/crio.sock]
  • Kubernetes Version (kubectl version) : [e.g. 1.26.3]
  • Cloud Type: [e.g. AWS, GCP, Azure, on premise]
  • Kubernetes Deployment Type: [Kubeadm]
  • Kube-Router Deployment Type: [DaemonSet]
  • Cluster Size: [3 Nodes]

** Logs, other output, metrics **
Error setting up IPVS services for service external IP's and load balancer IP's: failed to setup DSR endpoint xxxxxxxx: unable to setup DSR receiver inside pod: failed to prepare endpoint 10.244.2.233 to do DSR due to: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService

Additional context
There's any ways to deal with pod access it self via loadbalancer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant