Ashish
Ashish

Reputation: 11

Multiple xDS servers - Failing gRPC xDS Fallback

new to gRPC xDS world. I have setup gRPC xDS server with client and server working fine. I am trying to introduce multiple gRPC xDS server for high availability. As per A71 xDS fallback introducing multiple xDS server detail in client bootstrap should have enabled client to look pick a good xDS server, which is not happening. Anyone tried multiple gRPC xDS server and tested client fallback.

Here is client bootstrap file:

    {
  "xds_servers": [
    {
      "server_uri": "xds.domain.com:8001",
      "channel_creds": [
        {
          "type": "insecure"
        }
      ],
      "server_features": ["xds_v3"]
    },
    {
      "server_uri": "xds.domain.com:8003",
      "channel_creds": [
        {
          "type": "insecure"
        }
      ],
      "server_features": ["xds_v3"]
    }
  ],
  "node": {
    "id": "test123",
    "metadata": {
      "md": "123456789012"
    }
  }
}

Steps:

  1. Started xDS server using port 8003 - good
  2. exported client bootstarp file - good
  3. Starting client - error (client startup is not looking at 2nd xDS server detail) Error:
    2025/01/29 09:19:14 could not greet: rpc error: code = Unavailable desc = xds: error received from xDS stream: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp 127.0.0.1:8001: connect: connection refused"
exit status 1

I have not touched "GRPC_EXPERIMENTAL_XDS_FALLBACK", as the comment says, failover is enabled by default.

Software: 
go 1.23.0
grpc v1.67.1

Upvotes: 0

Views: 14

Answers (0)

Related Questions