Getting started with Grpc-web, docker

55 views
Skip to first unread message

Rob Cecil

unread,
Mar 5, 2019, 10:42:08 AM3/5/19
to grpc.io
I tried to run the steps for the example here: https://grpc.io/docs/quickstart/web.html

And eventually it fails.

wander@peniche:~/grpc-web$ sudo docker-compose pull
[sudo] password for wander:
Pulling common          ... done
Pulling node-server     ... done
Pulling envoy           ... done
Pulling commonjs-client ... done
wander@peniche
:~/grpc-web$ sudo docker-compose up -d node-server envoy commonjs-client
Creating network "grpc-web_default" with the default driver
Creating grpc-web_common_1 ... done
Creating grpc-web_commonjs-client_1 ... done
Creating grpc-web_node-server_1     ... done
Creating grpc-web_envoy_1           ... error


ERROR
: for grpc-web_envoy_1  Cannot start service envoy: driver failed programming external connectivity on endpoint grpc-web_envoy_1 (951746f302c1eec69ecfbbc1970d8c8e7c2de8ee39d8f9f0c8f6b475a1415ce5): Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use


ERROR
: for envoy  Cannot start service envoy: driver failed programming external connectivity on endpoint grpc-web_envoy_1 (951746f302c1eec69ecfbbc1970d8c8e7c2de8ee39d8f9f0c8f6b475a1415ce5): Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use
ERROR
: Encountered errors while bringing up the project.
wander@peniche
:~/grpc-web$

I am using Ubuntu, Cosmic 18.10 and I installed Docker using these instructions:



When I quickly search for a process on my system binding to port 8080, I found these: 

wander@peniche:~$ ps -ef | grep kube
root      
913     1  1 01:55 ?        00:10:31 /snap/microk8s/412/kubelet --kubeconfig=/snap/microk8s/412/configs/kubelet.config --cert-dir=/var/snap/microk8s/412 --network-plugin=kubenet --root-dir=/var/snap/microk8s/common/var/lib/kubelet --docker-root=/var/snap/microk8s/common/var/lib/docker --fail-swap-on=false --pod-cidr=10.1.1.0/24 --non-masquerade-cidr=10.152.183.0/24 --cni-bin-dir=/snap/microk8s/412/opt/cni/bin/ --docker unix:///var/snap/microk8s/412/docker.sock --docker-endpoint unix:///var/snap/microk8s/412/docker.sock --feature-gates=DevicePlugins=true --eviction-hard=memory.available<100Mi,nodefs.available<1Gi,imagefs.available<1Gi --node-labels=microk8s.io/cluster=true
root      
940     1  1 01:55 ?        00:10:24 /snap/microk8s/412/kube-apiserver --insecure-bind-address=0.0.0.0 --cert-dir=/var/snap/microk8s/412 --etcd-servers=unix://etcd.socket:2379 --service-cluster-ip-range=10.152.183.0/24 --authorization-mode=AlwaysAllow --basic-auth-file=/snap/microk8s/412/basic_auth.csv --token-auth-file=/snap/microk8s/412/known_token.csv --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota --service-account-key-file=/var/snap/microk8s/412/certs/serviceaccount.key --client-ca-file=/var/snap/microk8s/412/certs/ca.crt --tls-cert-file=/var/snap/microk8s/412/certs/server.crt --tls-private-key-file=/var/snap/microk8s/412/certs/server.key --requestheader-client-ca-file=/var/snap/microk8s/412/certs/ca.crt
root      
951     1  0 01:55 ?        00:04:01 /snap/microk8s/412/kube-scheduler --master=http://127.0.0.1:8080
root      
1101     1  0 01:55 ?        00:01:15 /snap/microk8s/412/kube-proxy --master=http://127.0.0.1:8080 --cluster-cidr=10.152.183.0/24 --kubeconfig=/snap/microk8s/412/kubeproxy.config --proxy-mode=userspace
root      
1116     1  1 01:55 ?        00:12:54 /snap/microk8s/412/kube-controller-manager --master=http://127.0.0.1:8080 --service-account-private-key-file=/var/snap/microk8s/412/certs/serviceaccount.key --root-ca-file=/var/snap/microk8s/412/certs/ca.crt


I don't remember specifically installing Kubernetes, but perhaps it came with Docker?

In any regards, how do I fix this port conflict? I am new to grpc-web, docker.

Thanks

Stanley Cheung

unread,
Mar 5, 2019, 2:03:51 PM3/5/19
to Rob Cecil, grpc.io
You can modify this line https://github.com/grpc/grpc-web/blob/master/net/grpc/gateway/examples/echo/envoy.yaml#L10 to have your Envoy instance to listen on a different port.

Those kubernetes jobs likely aren't coming from installing gRPC-Web or Docker.

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/f043c9e1-a6d0-48a0-ad44-4f78a3e287ac%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rob Cecil

unread,
Mar 11, 2019, 4:20:15 PM3/11/19
to grpc.io
Not sure my reply got to you Stanley - but thanks for your help.

My IT guy configured my Linux image and thought it was a good idea to include Kubernetes in the Ubuntu image.

I've been successful at running all the examples.

Thanks
Reply all
Reply to author
Forward
0 new messages