Skip to content

trinhdaiphuc/grpc-xds-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GRPC xds example

Kubernetes environment:

Configurations

You can configure grpc client and grpc xds client by change the command line arguments in deployment file

  • --target (-t): uri of the target grpc server. It must begin with xds:/// prefix for xds client. Example: xds:///localhost:50051
  • --concurrency (-c): Number of concurrent requests to run the client service. Example: 100
  • --duration (-d): A duration to send requests to the server. Duration is a possibly signed sequence of decimal numbers. Valid time units are ns, us (or µs), ms, s, m, h.). Ex: 300ms, -1.5h or 2h45m.

Build

  • Build docker image
make docker-build
  • Build docker image for mac m1
make docker-build-m1
  • Push image to registry
make docker-push

Installation

Applications

  • Create namespace
kubectl apply -f ./deploy/namespace.yml
  • Deploy grpc server
kubectl apply -f ./deploy/server.yml 
  • Deploy xds server
kubectl apply -f ./deploy/xds.yml
  • Deploy grpc client for testing grpc client load balancing
kubectl apply -f ./deploy/client.yml 
  • Deploy xds client for testing grpc client load balancing through xds protocol
kubectl apply -f ./deploy/xds-client.yml

Grafana dashboard

Open grafana dashboard and import this file to load the dashboard from