Skip to content

Allow enterprise gateway to launch k8s kernels on remote clusters #1235

@Shrinjay

Description

@Shrinjay

Problem

  • Currently enterprise gateway launches kernels on the cluster where it is currently running.
  • This poses limitations in cases where we want the kernel to have access to resources on a remote cluster without running the enterprise gateway on that cluster specifically.
  • While the k8s client supports connecting to and launching/managing resources on a remote cluster, this feature just isn't implemented in the current client.

Proposed Solution

  • The k8s client provides us a simple example of configuring for remote cluster access
  • To enable this in our client, we want to be able to pass in parameters for remote kernel access to a client and have it reuse that configuration in every instance.

Therefore the code changes are as follows

  • Wrap the k8s client in a python class that configures using the appropriate environment variables for remote or local cluster access
  • Export this client atomically so only one instance is used in the codebase
  • Replace current usages of the k8s client in the k8s proxy, custom resource proxy and launchers with our wrapped client

This also has an added benefit of replacing the use of static clients with an atomic export, so configurations are consistent.

Willing to start working on this if there's no opposition!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions