-
Notifications
You must be signed in to change notification settings - Fork 214
Open
Description
We have a TCP connection mapped with a CRD which seems to cause a constant reload of HAProxy:
2026/01/01 13:10:04 WARNING k8s/crs-deprecated-v1.go:210 Global CR defined in API ingress.v1.haproxy.org/v1 is DEPRECATED, please upgrade
2026/01/01 13:10:04 WARNING k8s/crs-deprecated-v1.go:115 Defaults CR defined in API ingress.v1.haproxy.org/v1 is DEPRECATED, please upgrade
2026/01/01 13:10:04 WARNING k8s/crs-deprecated-v1.go:162 Backend CR defined in API ingress.v1.haproxy.org/v1 is DEPRECATED, please upgrade
2026/01/01 13:10:08 INFO handler/tcp-cr.go:278 [transactionID=aff4fd69-71fb-4325-9741-a25bf8ffea3f] reload required : TCP frontend 'tcpcr_mysql_f-mysql-prod' updated map[FrontendBase:[{[] [] [] <nil> false <nil> 0xc000bad738 <nil> <nil> <nil> <nil> false <nil> false <nil> <nil> <nil> <nil> <nil> false <nil> <nil> map[] tcp <nil> tcpcr_mysql_f-mysql-prod <nil> <nil> <nil> <nil> true } {[] [] [] <nil> false <nil> 0xc000bad738 <nil> <nil> <nil> <nil> mysql_svc_mysql-prod-cluster_mysql false <nil> false <nil> <nil> <nil> <nil> <nil> false <nil> <nil> map[] tcp <nil> tcpcr_mysql_f-mysql-prod <nil> <nil> <nil> <nil> true }]]
2026/01/01 13:10:08 INFO service/service.go:283 [transactionID=aff4fd69-71fb-4325-9741-a25bf8ffea3f] reload required : default backend changed in frontend 'tcpcr_mysql_f-mysql-prod': from '' to 'mysql_svc_mysql-prod-cluster_mysql'
[NOTICE] (69) : Reloading HAProxy
The service works fine, however, all long running connections have issues when hard-stopped due to the constant reloads.
The TCP service CRD:
apiVersion: ingress.v1.haproxy.org/v1
kind: TCP
metadata:
name: mysql-prod-cluster-ingress
namespace: mysql
annotations:
ingress.class: haproxy
spec:
- name: mysql-prod-cluster-ingress
frontend:
name: f-mysql-prod
tcplog: true
binds:
- name: mysql-prod
port: 3306
v4v6: true
address: "::"
client_timeout: 1800000
service:
name: mysql-prod-cluster
port: 3306As you can see, not default backend is defined here, as it should be calculated by HAProxy itself.
For reference, the backend CRD:
apiVersion: "ingress.v1.haproxy.org/v1"
kind: Backend
metadata:
name: mysql-prod-cluster-backend
namespace: mysql
spec:
config:
name: mysql-prod-cluster-backend
balance:
algorithm: "leastconn"
server_timeout: 1800000
adv_check: "mysql-check"
default_server:
check: "enabled"
downinter: 10000
inter: 3000
on-marked-down: "shutdown-sessions"
rise: 3I will try to fix it temporarily by specifying a default backend with the calulated name mysql_svc_mysql-prod-cluster_mysql.
Metadata
Metadata
Assignees
Labels
No labels