Error patching node with cloud ip addresses

I encounter on an error patching node in cluster, i setting up three server, they are all master,worker node.
In order to let my ap pods be able to request service, i setup a virtual ip by using keepalived, all request come from this ip to my ap pods.

  • virtualip: 192.168.1.13
  • server1:192.168.1.10
  • server2: 192.168.1.11
  • server3: 192.168.1.12

Below is the error message from the server3.

4415 node_controller.go:363] Error patching node with cloud ip addresses = [failed to patch status “{"metadata":{"$setElementOrder/finalizers":["wrangler.cattle.io/node","wrangler.cattle.io/managed-etcd-controller"]},"status":{"addresses":[{"
address":"192.168.1.12","type":"InternalIP"},{"address":"192.168.1.12","type":"InternalIP"},{"address":"servertry3","type":"Hostname"},{"$patch":"replace"}]}}” for node “servertry3”: Node “servertry3” is invalid: status.addresses[1]: Duplicate value: core.NodeAddress{Type:“InternalIP”, Address:“192.168.1.12”}]