jerryshao opened a new pull request, #13950: URL: https://github.com/apache/gravitino/pull/13950
### What changes were proposed in this pull request? > [!NOTE] > Stacked on #13948 and kept as a draft until it merges. The changes of this PR alone: https://github.com/jerryshao/gravitino/compare/d3168fb66...13618-k8s-executor-docs Documents the `k8s` job executor, and gives each built-in job executor a page of its own with the same layout: - `docs/k8s-job-executor.md` (new): requirements, how a job template maps to a SparkApplication, built-in jobs, rejected runs, the job status, RBAC, the Spark image, the cluster connection, all the `gravitino.jobExecutor.k8s.*` configurations, queueing with YuniKorn, environment variables and Secrets, job output and times, multiple servers, limitations, and a walkthrough that runs a built-in Iceberg job on a local cluster. - `docs/local-job-executor.md` (new): the local job executor content moved out of `docs/manage-jobs-in-gravitino.md`, unchanged in meaning. - `docs/manage-jobs-in-gravitino.md`: keeps the job API, adds a "Job Executors" section linking to both pages, and drops a stale note and two Future Work items that are done. - `docs/development/custom-job-executor.md`, `docs/gravitino-server-config.md`, `docs/index.md`, and the optimizer docs: point to both job executors. ### Why are the changes needed? The `k8s` job executor has no documentation, and the local job executor's details were mixed into the job API page. Part of #13618. The `gravitino-spark` Dockerfile and the K3s integration test of #13618 follow in another PR; until then, the docs show a minimal Dockerfile to build the image. ### Does this PR introduce _any_ user-facing change? Documentation only. ### How was this patch tested? - The docs audit scripts and the link check (`.claude/skills/gravitino-docs-refine/scripts/`) report no issues in the changed pages. - On a local Kubernetes cluster (OrbStack, Kubernetes 1.35, spark-kubernetes-operator 0.9.0), with a Gravitino server from the distribution package of this branch: - The walkthrough was run from the code blocks of the page: building the image from the documented Dockerfile, creating the table, running `builtin-iceberg-rewrite-data-files`, and reading its output. - The documented Role was checked by removing each verb in turn. Also verified: the token connection; the startup checks for a missing `namespace` and for an `http://` `masterUrl` with a token file; the rejected runs; environment variables from a Secret in the driver and executor pods; driver eviction; that a cancelled job loses its output; and YuniKorn 1.10.0 with `maxapplications` and `resources.max`. - Behaviors stated from the code only, not run on a cluster: the in-cluster connection, the request retries and timeouts, and the mapping of unknown operator states. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
