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

TCP/UDP Loadbalancer doesn't work in 2.19.0 and 2.19.1 #3762

Open
hzproe opened this issue Feb 24, 2025 · 2 comments
Open

TCP/UDP Loadbalancer doesn't work in 2.19.0 and 2.19.1 #3762

hzproe opened this issue Feb 24, 2025 · 2 comments

Comments

@hzproe
Copy link

hzproe commented Feb 24, 2025

Setup Details

CIS Version : 2.19.0
Build: f5networks/k8s-bigip-ctlr:2.19.0
BIGIP Version: Big IP x.x.x
AS3 Version: 3.x
Agent Mode: AS3/CCCL
Orchestration: K8S/OSCP
Orchestration Version:
Pool Mode: Cluster
Additional Setup details: <Platform/CNI Plugins/ cluster nodes/ etc>

Description

We have a configuration where we want to support TCP and UDP on the same Port (LoadBalancer).
But as soon as the BigIP Controller is restarted, the VIP is removed from one of the LoadBalancer Services in Kubernetes.
This happens from version 2.19.0 onwards.

Current workaround is to fallback to 2.18.1 but this is not sustainable for the environment, as I have to keep our controllers up to date for operational and security reasons.

Steps To Reproduce

  1. Create a LoadBalancer with port 53 and protocol TCP

apiVersion: v1
kind: Service
metadata:
annotations:
cis.f5.com/health: '{"interval": 5, "timeout": 10}'
cis.f5.com/ip:
labels:
app.kubernetes.io/name: powerdns
name: powerdns-tcp
namespace: pdns
spec:
allocateLoadBalancerNodePorts: true
clusterIP: 10.100.223.128
clusterIPs:

  • 10.100.223.128
    externalTrafficPolicy: Cluster
    internalTrafficPolicy: Cluster
    ipFamilies:
  • IPv4
    ipFamilyPolicy: SingleStack
    ports:
  • name: dns-tcp
    nodePort: 31527
    port: 53
    protocol: TCP
    targetPort: 53
    selector:
    app.kubernetes.io/name: powerdns
    sessionAffinity: None
    type: LoadBalancer
  1. Create a LoadBalancer with port 53 and protocol UDP

apiVersion: v1
kind: Service
metadata:
annotations:
cis.f5.com/health: '{"interval": 5, "timeout": 10}'
cis.f5.com/ip:
labels:
app.kubernetes.io/name: powerdns
name: powerdns-tcp
namespace: pdns
spec:
allocateLoadBalancerNodePorts: true
clusterIP: 10.100.223.128
clusterIPs:

  • 10.100.223.128
    externalTrafficPolicy: Cluster
    internalTrafficPolicy: Cluster
    ipFamilies:
  • IPv4
    ipFamilyPolicy: SingleStack
    ports:
  • name: dns-tcp
    nodePort: 31527
    port: 53
    protocol: UDP
    targetPort: 53
    selector:
    app.kubernetes.io/name: powerdns
    sessionAffinity: None
    type: LoadBalancer

Expected Result

VIPs is up for TCP and UDP protocol

Actual Result

One of the LoadBalancers will go down with the message

Normal ExternalIP 61s k8s-bigip-ctlr F5 CIS unassigned Service LB Ingress status IP for service: powerdns-tcp in namespace:pdns

Diagnostic Information

<Configuration files, error messages, logs>
Note: Sanitize the data. For example, be mindful of IPs, ports, application names and URLs
Note: The following F5 article outlines the information required when opening an issue.
https://support.f5.com/csp/article/K60974137

Observations (if any)

@hzproe hzproe added bug untriaged no JIRA created labels Feb 24, 2025
@trinaths
Copy link
Contributor

Created [CONTCNTR-5240] for internal tracking.

@lavanya-f5
Copy link
Contributor

@hzproe dev build: lavanyasirigudi/k8s-bigip-ctlr:fix_lb_sameip_different_protocol. Please share your feedback with the build

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

No branches or pull requests

3 participants