two services with grpc-rest api gateway
1.5K
Rpc servcies in golang using grpc with protobuff
Include grpc-rest api gateway for rest to rpc calls
create a my sql user with privileges
$ go run cmd/server/main.go -grpc-port=9090 -db-host=127.0.0.1:3306 -db-user=`db-user` -db-password=`db-pass` -db-schema=`db-name`
$ go run cmd/client-grpc/main.go -server=127.0.0.1:9090
$ docker build -t rpc .
$ ifconfig | grep "inet " | grep -v 127.0.0.1
Note:- update host-ip with ip of docker host
$ docker run --env-file env_file --add-host=mysql_server:$(host_ip) -d -p 9090:9090 --name rpc-server rpc:latest
$ go run cmd/client-grpc/main.go -server=$(host_ip):9090
Automated builds with docker using docker hub
Version 1.0.0
$ kubectl set image deployment/rpc-minikube rpc=`docker-username`/`docker-repo`:`repo-tag`
$ docker run --net=host --publish 90:90 image_name
$ kubectl apply -f service.yaml
$ kubectl apply -f deployment.yaml
$ kubectl create secret docker-registry regcred --docker-username=`username` --docker-password=`password` --docker-email=`email`
Note:- The service will be exposed like below:
kubectl expose deployment rpc-deployment --type=NodePort --port=
grpc-server-port-exposed-in-docker--name=rpc-service
grpc-server-port will be port on which grpc server is running
get exposed service url using:-
minikube service
exposed-service-name--url
$ go run main.go -server=`service-url:NodePort`
or check the logs of running pods to verify if service is running
grpc client
$ go run cmd/client-grpc/main.go -server=`service-url:NodePort`
example:-
$ go run cmd/client-grpc/main.go -server=192.168.5.182:31442
Its done !
debugging minikube service:-
$ kubectl get svc
Note:
[x] get the clusterIP of svc on which mysql is running and try to access the same using that url.
$ mysql -h `service-ip`:`port` -u `mysql-user` -p
[x] Checking mysql service inside pods:-
$ mysql -u `user-name` -p `password`
$ mysql> show processlist;
Above command will show if the running pods are connected to mysql local or not.
Content type
Image
Digest
Size
20.2 MB
Last updated
about 6 years ago
docker pull himanshusdec8/rpc