Skip to content

feat(ws): Define k8s workload manifest for frontend component #404 #487

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

Open
wants to merge 1 commit into
base: notebooks-v2
Choose a base branch
from

Conversation

Noa-limoy
Copy link

closes: #404

In this PR I have deployed the frontend component to Kubernetes using Kustomize.

  • The frontend deployment is applied under config/manifests/kustomize/base directory
  • An Istio VirtualService is defined under options/istio directory, (exposing the /workspaces path)
  • Deployment enters READY state and is available.

@github-project-automation github-project-automation bot moved this to Needs Triage in Kubeflow Notebooks Jul 17, 2025
@google-oss-prow google-oss-prow bot added the area/frontend area - related to frontend components label Jul 17, 2025
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign ederign for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot added the area/v2 area - version - kubeflow notebooks v2 label Jul 17, 2025
Copy link
Contributor

@andyatmiami andyatmiami left a comment

Choose a reason for hiding this comment

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

i'll ask for a couple quick edits that jump out now - but please be aware I'll do a much more comprehensive review on Monday where I will try to deploy these changes along with base Kubeflow manifests and backend component to exercise end-to-end functionality.

For now, 2 easy "structure" changes I will ask for:

  • workspaces/frontend/manifests/kustomize should be the "base" directory (no /config folder)
  • options/istio should be the root folder in which you place the istio-specific resources

livenessProbe:
httpGet:
path: /
port: 8080
Copy link
Contributor

Choose a reason for hiding this comment

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

use the named port value of http-frontend here

readinessProbe:
httpGet:
path: /
port: 8080
Copy link
Contributor

Choose a reason for hiding this comment

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

http:
- match:
- uri:
prefix: /notebooks
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we'll want to call this /workspaces to be more future-proofed

but most importantly - it should be 'aligned' with what backend is setting..

i.e.

  • frontend: /workspaces
  • backend: /workspaces/api

@Noa-limoy Noa-limoy force-pushed the frontend_k8s_deploy/404 branch 2 times, most recently from 7edcef8 to 7c11794 Compare July 24, 2025 12:39
Copy link

@harshad16 harshad16 left a comment

Choose a reason for hiding this comment

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

Found some minor discrepancy

selector:
matchLabels:
app.kubernetes.io/name: kubeflow-notebooks
app.kubernetes.io/component: frontend

Choose a reason for hiding this comment

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

This doesnt match

app.kubernetes.io/component: workspace-frontend

we should make them align

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: kubeflow-system

Choose a reason for hiding this comment

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

all part in virtual service , look for service in workspace-controller-system, however , we are explicitly deploying bits in kubeflow-system

Copy link

@harshad16: changing LGTM is restricted to collaborators

In response to this:

Found some minor discrepancy

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@Noa-limoy Noa-limoy force-pushed the frontend_k8s_deploy/404 branch from 7c11794 to a2a8b17 Compare August 5, 2025 12:29
@andyatmiami
Copy link
Contributor

/lgtm

verified these changes with help of a script I have been working on to deploy Central Dashboard in kind ... can confirm frontend component is successfully deployed and served up within Central Dashboard.

user requests to backend are also successfully processed.

@google-oss-prow google-oss-prow bot added the lgtm label Aug 6, 2025
@andyatmiami
Copy link
Contributor

/ok-to-test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/frontend area - related to frontend components area/v2 area - version - kubeflow notebooks v2 lgtm ok-to-test size/L
Projects
Status: Needs Triage
Development

Successfully merging this pull request may close these issues.

3 participants