-
Notifications
You must be signed in to change notification settings - Fork 277
feat(multicluster): Multicluster working demo #3915
feat(multicluster): Multicluster working demo #3915
Conversation
4045f36
to
6afd2b5
Compare
Codecov Report
@@ Coverage Diff @@
## main #3915 +/- ##
==========================================
+ Coverage 67.42% 67.53% +0.11%
==========================================
Files 203 202 -1
Lines 11485 11491 +6
==========================================
+ Hits 7744 7761 +17
+ Misses 3690 3680 -10
+ Partials 51 50 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
0f48539
to
2eb85e0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good start. I had a few concerns regarding certificates and admin port exposure. Other comments are regarding correctness.
pkg/envoy/cds/cluster.go
Outdated
} | ||
|
||
// getGatewayUpstreamServiceCluster returns an Envoy Cluster corresponding to the given upstream service for the multicluster gateway | ||
func getGatewayUpstreamServiceCluster(upstreamSvc service.MeshService, cfg configurator.Configurator, ports []corev1.ServicePort) (*xds_cluster.Cluster, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we not reuse getUpstreamServiceCluster
and use ClusterOption
to override for multicluster? It would avoid code duplication.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked into this, reusing getUpstreamServiceCluster
will not be very effective and will add another condition. The name of the remote clusters for the gateway will be the entire server name of the service which makes it different from getUpstreamServiceCluster
. Further the cluster discovery mechanism here will be strict DNS and we add the endpoints making it very different from the condition that exists in getUpstreamServiceCluster
. Adding another method in my opinion is cleaner for this scenario.
725e6f9
to
2e21c11
Compare
This commit contains the following changes : 1. Changes across all vericals of XDS to ensure that the osm-gateway and client are configured correctly to support multicluter traffic 2. Updates to the multicluster demo script 3. Remove redundant code Part of openservicemesh#3444 and openservicemesh#3440 Signed-off-by: Sneha Chhabria <snchh@microsoft.com>
2e21c11
to
d2975b8
Compare
marshalledUpstreamTLSContext, err := ptypes.MarshalAny( | ||
envoy.GetUpstreamTLSContext(downstreamIdentity, upstreamSvc)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
marshalledUpstreamTLSContext, err := ptypes.MarshalAny( | |
envoy.GetUpstreamTLSContext(downstreamIdentity, upstreamSvc)) | |
marshalledUpstreamTLSContext, err := ptypes.MarshalAny(envoy.GetUpstreamTLSContext(downstreamIdentity, upstreamSvc)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎆👏🏻
Description:
This commit contains the following changes :
client apps are configured correctly to support multicluster traffic
Part of #3444 and #3440
Output :
Tailing the bookbuyer logs on the alpha cluster will give 200 OK responses to bookstore-v1 on both alpha and beta cluster as shown below
Signed-off-by: Sneha Chhabria snchh@microsoft.com
Affected area:
Please answer the following questions with yes/no.
Does this change contain code from or inspired by another project?
no
Is this a breaking change?
no