grpcurl icon indicating copy to clipboard operation
grpcurl copied to clipboard

Deploy multiple versions of docker image, -scratch, -alpine, etc.

Open JamesXNelson opened this issue 3 years ago • 2 comments

Right now, it's hard to add the grpcurl docker image to a kubernetes cluster to be able to debug other services. If, instead of building just one image that uses from scratch (related issue: https://github.com/fullstorydev/grpcurl/issues/235 ), there was some kind of -scratch / -alpine variant (with default still being scratch), then it would be far easier to attach and debug using grpcurl.

Contributions welcome? ^-^

JamesXNelson avatar Jul 30 '21 11:07 JamesXNelson

@JamesXNelson, why does the scratch base image make this hard to use in Kubernetes? In fact, at FullStory, we do exactly this and even use grpcurl in cron jobs to trigger RPCs from a cron schedule. Are you trying to get a shell inside of the grpcurl container?

jhump avatar Sep 16 '21 13:09 jhump

Yes, this is for a debug container where I can get a shell and run commands to find out what's busted.

For now, I just add the binary to my own image where I want to run grpcurl to debug the network stack in a given pod:

FROM fullstorydev/grpcurl:latest as grpcurl
# Different base for the rest of the image
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.4

COPY --from=grpcurl /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=grpcurl /bin/grpcurl /bin/grpcurl

then I can install other stuff for inspecting network / talking to servers. In the end, it was worth the time to build my own image because I can preconfigure other tools besides grpcurl.

JamesXNelson avatar Oct 06 '21 08:10 JamesXNelson