ОК: -)
Да, вы должны следовать текущей документации Stackdriver, например, go-cloud-debug-agent
К сожалению, теперь в моем сообщении возникают различные проблемы, включая (в настоящее время не работает) gcr.io/cloud-builders/kubectl
для регионов.
Я думаю, что ваша проблема касается использования golang:alpine
.Alpine использует musl, а не glibc, который вы найдете в большинстве других дистрибутивов Linux, и поэтому вам действительно необходимо скомпилировать Alpine, чтобы гарантировать, что ваши двоичные файлы ссылаются на правильный libc.
Я могу заставить ваше решение работать в первую очередь , переключив ваш Dockerfile на использование агента отладки в облаке, находясь на Alpine, и на компиляцию вашего источника на Alpine:
FROM golang:alpine
RUN apk add git
RUN go get -u cloud.google.com/go/cmd/go-cloud-debug-agent
ADD main.go src
RUN CGO_ENABLED=0 go build -gcflags=all='-N -l' src/main.go
ADD source-context.json /
CMD ["bin/go-cloud-debug-agent","-sourcecontext=/source-context.json", "-appmodule=stackdriver-demo","-appversion=1.0","--","main"]
Я думаю, что это должно помочь вам избежать ошибок, которые вы задокументировали, и вы должныиметь возможность развернуть ваш контейнер в Kubernetes.
Я сделал мою версию вашего изображения общедоступной (и сохраню ее в течение нескольких дней для вас):
gcr.io/dazwilkin-190402-55473323/roberson34@sha256:17cb45f1320e2fe04e0681310506f4c229896429192b0d1c2c8dc20ed54adb0d
Вы можетеВы хотите сослаться на него (с помощью этого дайджеста) в вашем deployment.yaml
NB Чтобы отчеты об ошибках были "интересными", ваш код должен генерировать ошибки, и, на вашем примере, этобудет сложным (обычно это хорошая вещь).Вы можете добавить еще один обработчик ошибок, который всегда приводит к ошибкам, чтобы вы могли протестировать службу.