kaijaytu commented on code in PR #569:
URL: https://github.com/apache/yunikorn-site/pull/569#discussion_r3852930858


##########
docs/developer_guide/env_setup.md:
##########
@@ -255,3 +255,108 @@ Or follow these simplified steps:
 
 More documentation can be found
 
[here](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/).
+
+## Debug scheduler in a remote cluster
+
+This section explains how to deploy a debug-enabled scheduler image to a 
remote cluster and attach a debugger from your local machine using 
[Delve](https://github.com/go-delve/delve).
+
+### Prerequisites
+
+- A remote Kubernetes cluster accessible via `kubectl` (see 
[above](#access-remote-kubernetes-cluster))
+- A container registry you can push to (Docker Hub, private registry, etc.)
+- [Delve](https://github.com/go-delve/delve) installed locally:
+  ```shell script
+  go install github.com/go-delve/delve/cmd/dlv@latest
+  ```
+
+### Build a debug image
+
+Compile the scheduler with optimizations and inlining disabled so that the 
debugger can map breakpoints correctly:
+
+```shell script
+cd yunikorn-k8shim
+CGO_ENABLED=0 go build -gcflags="all=-N -l" -o _output/shim ./pkg/cmd/shim
+```
+
+Create a Dockerfile for the debug image. This installs Delve and uses it as 
the entrypoint:
+
+```dockerfile
+FROM golang:1.22 AS dlv-builder
+RUN go install github.com/go-delve/delve/cmd/dlv@latest
+
+FROM ubuntu:22.04
+COPY --from=dlv-builder /go/bin/dlv /usr/local/bin/dlv
+COPY _output/shim /scheduler
+EXPOSE 2345
+ENTRYPOINT ["dlv", "exec", "/scheduler", "--headless", "--listen=:2345", 
"--api-version=2", "--accept-multiclient"]
+```
+
+Build and tag the image:
+
+```shell script
+docker build -t <your-registry>/yunikorn:scheduler-debug -f Dockerfile.debug .
+```
+
+### Push image to registry
+
+```shell script
+docker push <your-registry>/yunikorn:scheduler-debug
+```
+
+Alternatively, update the `REGISTRY` variable in the `Makefile` (see [Build 
Docker images](build.md#build-docker-images)) and adapt the build target.

Review Comment:
   Filed follow-up as YUNIKORN-3407:
   https://issues.apache.org/jira/browse/YUNIKORN-3407
   Will pick it up next.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to