Skip to content

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

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

Activity

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

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