- 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.5h
or2h45m
.
- 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.yml
Open grafana dashboard and import this file to load the dashboard from