Skip to content

the connection beween k8s cluster reconnect every about 10 hours #3090

@huntkalio

Description

@huntkalio

Is there an existing issue for this?

  • I have searched the existing issues

Version

1.0.1

What happened?

1.liqo gateway wireguard pod Reconcile every about 10 hours even nothing change.

func (r *PublicKeysReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {

2.In gateway client (wireguard client) reconfigure won't close udp tunnel.
if err := configureDevice(r.Wgcl, r.Options, wgtypes.Key(publicKey.Spec.PublicKey)); err != nil {

3.But in gateway server (wireguard server ) reconfigure will close udp tunnel. Thus will influence cross k8s network.

Relevant log output

{"log":"I0724 06:33:19.461214       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-24T06:33:19.461365329Z"}
{"log":"I0724 06:33:19.461498       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-24T06:33:19.46154174Z"}
{"log":"I0724 06:33:19.461647       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-24T06:33:19.461681933Z"}
{"log":"I0724 15:41:16.602122       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-24T15:41:16.602251831Z"}
{"log":"I0724 15:41:16.602366       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-24T15:41:16.602408024Z"}
{"log":"I0724 15:41:16.602516       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-24T15:41:16.602551974Z"}
{"log":"I0725 00:49:12.228948       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-25T00:49:12.229077737Z"}
{"log":"I0725 00:49:12.229252       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-25T00:49:12.229358574Z"}
{"log":"I0725 00:49:12.229422       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-25T00:49:12.22946276Z"}
{"log":"I0725 09:57:10.835834       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-25T09:57:10.835934191Z"}
{"log":"I0725 09:57:10.836065       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-25T09:57:10.836111885Z"}
{"log":"I0725 09:57:10.836226       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-25T09:57:10.836264762Z"}
{"log":"I0725 19:05:08.045215       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-25T19:05:08.045286201Z"}
{"log":"I0725 19:05:08.045428       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-25T19:05:08.045474995Z"}
{"log":"I0725 19:05:08.045578       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-25T19:05:08.045622221Z"}
{"log":"I0726 04:13:05.253892       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-26T04:13:05.253973822Z"}
{"log":"I0726 04:13:05.254121       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-26T04:13:05.254163738Z"}
{"log":"I0726 04:13:05.254262       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-26T04:13:05.254297779Z"}
{"log":"I0726 13:21:03.791799       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-26T13:21:03.791901803Z"}
{"log":"I0726 13:21:03.792035       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-26T13:21:03.792086379Z"}
{"log":"I0726 13:21:03.792186       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-26T13:21:03.792222505Z"}
{"log":"I0726 22:28:59.336634       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-26T22:28:59.336738371Z"}
{"log":"I0726 22:28:59.336869       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-26T22:28:59.336910735Z"}
{"log":"I0726 22:28:59.337016       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-26T22:28:59.337058021Z"}
{"log":"I0727 07:36:55.875670       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-27T07:36:55.875768331Z"}
{"log":"I0727 07:36:55.875894       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-27T07:36:55.87594333Z"}
{"log":"I0727 07:36:55.876052       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-27T07:36:55.876088532Z"}
{"log":"I0727 16:44:51.585132       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-27T16:44:51.585207713Z"}
{"log":"I0727 16:44:51.585367       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-27T16:44:51.585417798Z"}
{"log":"I0727 16:44:51.585523       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-27T16:44:51.585559133Z"}
{"log":"I0728 01:52:47.760785       1 device.go:52] Configuring device liqo-tunnel\n","stream":"stderr","time":"2025-07-28T01:52:47.760876976Z"}
{"log":"I0728 01:52:47.761026       1 k8s.go:94] Creating connection \"gw-old-v5\"\n","stream":"stderr","time":"2025-07-28T01:52:47.761075087Z"}
{"log":"I0728 01:52:47.761188       1 k8s.go:119] Connection \"gw-old-v5\" created\n","stream":"stderr","time":"2025-07-28T01:52:47.761224267Z"}

How can we reproduce the issue?

  1. use flow test-short.sh script to test network between k8s cluster.
#!/bin/bash
#  test-short.sh
#  ./test-short.sh target

TARGET_URL=${1}
LOG_FILE="short_conn.csv"
LOG_FILE_ERROR="short_conn_error.csv"

echo "timestamp,http_code,response_time,error" > $LOG_FILE

while true; do
    TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
    
    OUTPUT=$(curl -o /dev/null -s -w "%{http_code},%{time_total}" \
              --connect-timeout 3 -m 3 "$TARGET_URL" 2>&1)
    
    if [ $? -eq 0 ]; then
        echo "$TIMESTAMP,$OUTPUT," >> $LOG_FILE
    else
        ERROR=$(echo $OUTPUT | cut -d ' ' -f 1-3 | tr ',' ' ')
        echo "$TIMESTAMP,,,$ERROR" >> $LOG_FILE_ERROR
    fi
    
    sleep 1
done

Provider or distribution

Rancher

CNI version

flannel v1.4.1-rancher1

Kernel Version

6.1.0-32

Kubernetes Version

1.30

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugReport a bug encountered while operating Liqo

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions