Git Product home page Git Product logo

envoy-xds-example-consul's People

Contributors

dineshba avatar tak2siva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

envoy-xds-example-consul's Issues

Receiving this error on every start

xds-server_1 | panic: Unexpected response code: 500
xds-server_1 |
xds-server_1 | goroutine 1 [running]:
xds-server_1 | Envoy-Pilot/cmd/server/storage.(*ConsulWrapper).checkAndSetUniqId(0xc42006ff48, 0x0, 0x0, 0x0, 0x0)
xds-server_1 | /go/src/Envoy-Pilot/cmd/server/storage/consul.go:75 +0x3bc
xds-server_1 | Envoy-Pilot/cmd/server/storage.(*ConsulWrapper).GetUniqId(0xc42006ff48, 0xc4200a4140)
xds-server_1 | /go/src/Envoy-Pilot/cmd/server/storage/consul.go:54 +0x8a
xds-server_1 | main.consulHealthCheck()
xds-server_1 | /go/src/Envoy-Pilot/cmd/server/main.go:41 +0x39
xds-server_1 | main.init.0()
xds-server_1 | /go/src/Envoy-Pilot/cmd/server/main.go:34 +0x4e

README

Hello! Thanks for sharing the code, really useful for my current project, I've been looking for this solution of updating envoy configs dynamically everywhere. Thanks!

It's just I have a few questions regarding the implementation. Is this what you currently you or used on production for your projects? Are there any drawbacks ?
And also I don't really understand "who" should update those configs if lets say I scale my service in docker swarm for two replicas, how to update configs ?

xDS-Example-Consul (v2 to v3, CDS LDS EDS use)

In the Envoy-xDS-Example-Consul, the docker compose file relies on EnvoyPilot Server(after taking a quick glance on the EnvoyPilot code it seems to work with go-control-plane v2).

Any suggestion on how to migrate from v2 to v3 In order to make use of v3 envoy filters?

How the CDS, LDS, EDS configurations on Consul are fetched to EnvoyPilot, and then to envoy proxy?

Thanks,

transport: loopyWriter.run returning. connection error: desc = "transport is closing"

I got an issue with gRPC service. I'm using grpc-web on my client side Angular application.

I constantly receiving CORS error:

has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

and also sometimes I do receive the following message on the grpc server:

transport: loopyWriter.run returning. connection error: desc = "transport is closing"

and the logging shows that grpc request received but no response sent back to the client app

Here are my configs:

Consul LDS:

[{
	"name": "listener_0",
	"address": {
		"socket_address": {
			"address": "0.0.0.0",
			"port_value": 8080
		}
	},
	"filter_chains": [{
		"filters": [{
			"name": "envoy.http_connection_manager",
			"config": {
				"codec_type": "auto",
				"stat_prefix": "ingress_http",
				"route_config": {
					"name": "local_route",
					"virtual_hosts": [{
						"name": "local_service",
						"domains": [
							"*"
						],
						"routes": [{
							"match": {
								"prefix": "/App.Grpc.MyApp1"
							},
							"route": {
								"cluster": "main_service",
								"max_grpc_timeout": "0s"
							}
						}],
            "cors": {
              "allow_origin": [
                "*"
              ],
              "allow_methods": "GET, PUT, DELETE, POST, OPTIONS",
              "allow_headers": "keep-alive, user-agent, cache-control, content-type, content-transfer-encoding, Authorization, x-ip, x-accept-content-transfer-encoding, x-accept-response-streaming, x-user-agent, x-grpc-web, grpc-timeout",
              "max_age": "1728000",
              "expose_headers": "grpc-status, grpc-message",
              "enable": true
            }
					}]
				},
				"http_filters": [{
						"name": "envoy.cors"
					},
					{
						"name": "envoy.grpc_web"
					},
					{
						"name": "envoy.router"
					}
				]
			}
		}]
	}]
}]

Consul CDS:

[{
	"name": "MyApp1",
	"connect_timeout": "0.25s",
	"type": "logical_dns",
	"lb_policy": "round_robin",
	"http2_protocol_options": {},
	"hosts": [{
		"socket_address": {
			"address": "host.docker.internal", # also tried docker service name my_app
			"port_value": 50053
		}
	}]
}]

When I'm running envoy and go service without Pilot, everything works fine with exactly same configs, trying to figure out how to update envoy dynamically. Any help would be appreciated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.