- Kubernetes version v1.24.0 (Use Kind with private registry to create a local Kubernetes cluster and local registry for push and pull image faster)
- Monitoring operator: Kube prometheus stack
- Go version: go1.18.3
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.5hor2h45m.
- Build docker image
make docker-build- Build docker image for mac m1
make docker-build-m1- Push image to registry
make docker-push- 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.ymlOpen grafana dashboard and import this file to load the dashboard from