所以我想调试一个在k8s集群上运行的golang应用程序,但是当我想附加到应用程序时,我收到错误消息。
在 k8s 部署中,我添加了所需的权限:
securityContext:
capabilities:
add:
- SYS_PTRACE
privileged: true
runAsUser: 0
allowPrivilegeEscalation: true
我用所需的 gcflags “all=-N -l” 编译了我的应用程序
go build -mod vendor -gcflags "all=-N -l" --ldflags -w -s -o app
我用以下命令开始 pod:
dlv --listen=:40000 --headless=true --api-version=2 --accept-multiclient exec /app
我验证了我运行正确的容器映像,它是我推送的相同SHA哈希。我验证了哈希值在这里也匹配的正确二进制文件。
我设置:
echo 0 > /proc/sys/kernel/yama/ptrace_scope
cat /proc/sys/kernel/yama/ptrace_scope
0
下面是二进制文件的输出。readelf -S app
繁星淼淼
幕布斯7119047
随时随地看视频慕课网APP
相关分类