grpcurl
grpcurl copied to clipboard
Deploy multiple versions of docker image, -scratch, -alpine, etc.
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, 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?
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.