Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add a utility for connecting devcluster to remote k8s clusters #9739

Merged
merged 27 commits into from
Aug 1, 2024

Conversation

hamidzr
Copy link
Member

@hamidzr hamidzr commented Jul 26, 2024

Ticket

https://hpe-aiatscale.atlassian.net/browse/RM-239

Description

This document describes the remote dev tooling for connecting devcluster to a kubernetes
cluster running in the cloud.

Overview of how this works:

  • set up reverse proxy
    • port collision
    • err handling
    • clean up
  • ensure there is a Gateway running the target cluster
    • launch if necessary
    • grab its configuration
  • updated the given devcluster config based on the collected and launched services
  • run devcluster

Test Plan

Checklist

  • Changes have been manually QA'd
  • New features have been approved by the corresponding PM
  • User-facing API changes have the "User-facing API Change" label
  • Release notes have been added as a separate file under docs/release-notes/
    See Release Note for details.
  • Licenses have been included for new code which was copied and/or modified from any external code

@cla-bot cla-bot bot added the cla-signed label Jul 26, 2024
Copy link

netlify bot commented Jul 26, 2024

Deploy Preview for determined-ui ready!

Name Link
🔨 Latest commit 8370606
🔍 Latest deploy log https://app.netlify.com/sites/determined-ui/deploys/66ab9d36ec88c700088fb72a
😎 Deploy Preview https://deploy-preview-9739--determined-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

codecov bot commented Jul 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 54.04%. Comparing base (15226b7) to head (8370606).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9739      +/-   ##
==========================================
- Coverage   54.05%   54.04%   -0.01%     
==========================================
  Files        1260     1260              
  Lines      155545   155545              
  Branches     3503     3502       -1     
==========================================
- Hits        84074    84068       -6     
- Misses      71325    71331       +6     
  Partials      146      146              
Flag Coverage Δ
backend 44.90% <ø> (-0.02%) ⬇️
harness 72.62% <ø> (ø)
web 53.22% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 5 files with indirect coverage changes

@hamidzr hamidzr marked this pull request as ready for review July 29, 2024 21:33
Copy link
Contributor

@NicholasBlaskey NicholasBlaskey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

tested and it worked for me inlcuding the gateway proxying stuff

tools/k8s/remote_connect.md Show resolved Hide resolved
@@ -0,0 +1,366 @@
#!/usr/bin/env python
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another thing that would be awesome is if we didn't need to configure it as much and it just "worked"

maybe could store the ssh key in google cloud so we could just download it without needing to set up the ssh key path.

maybe we could default the kubeconfig and other things to current context

i'm happy with this as if if you think this could be done as a follow up

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea. we chatted offline. I added defaults to all the config options but the ssh key and the proxy host.
thanks for the review

@hamidzr hamidzr self-assigned this Aug 1, 2024
@hamidzr hamidzr merged commit 49c3fa0 into main Aug 1, 2024
82 of 95 checks passed
@hamidzr hamidzr deleted the k8s-remote branch August 1, 2024 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants