Specify GPU resource limits in the Kubernetes executor

Overview

Users can specify GPU resources when using the runner on any cloud provider-hosted Kubernetes service that supports running containers on GPU-enabled nodes.

Proposal

  1. The proposed implementation plan is dependent on completion of the Spike to implement Pod Spec primitives. In the current spike MR, we are exploring the possibility of passing a PodSpec in either JSON or YAML inside the GitLab Runner config.toml. This approach enables users to modify the final PodObject sent to the Kubernetes master for scheduling.

  2. A second option is to add support for Kubernetes extended resources. A similar pattern was proposed in the enable GPU limit requests for Kubernetes executor mr.

Links to related issues and merge requests / references

Edited by Darren Eastman