From a2e08255835600e7995304ca50cb79305663ae47 Mon Sep 17 00:00:00 2001 From: yuteng Date: Sun, 16 Jun 2024 02:13:11 +0000 Subject: [PATCH 1/3] [YUNIKORN-2676] Get started yunikorn with load-balancer --- docs/developer_guide/env_setup.md | 8 ++++++++ docs/get_started/get_started.md | 19 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/developer_guide/env_setup.md b/docs/developer_guide/env_setup.md index 4fd59a61e0f..6146fff576f 100644 --- a/docs/developer_guide/env_setup.md +++ b/docs/developer_guide/env_setup.md @@ -177,6 +177,14 @@ Kind version 0.15 is required for Kubernetes 1.25 or later. Later versions of Kind add Kubernetes 1.26, 1.27 and 1.28. Check the Kind release notes for the specific Kubernetes releases supported. +### Load Balancer +Cloud provider KIND is a standalone binary which connect to the KIND cluster and provision new Load Balancer containers. +```shell script +go install sigs.k8s.io/cloud-provider-kind@latest +export PATH=$PATH:$(go env GOPATH)/bin +cloud-provider-kind +``` + ### Using Kind To test a new version of Kubernetes, you can pull a corresponding image from diff --git a/docs/get_started/get_started.md b/docs/get_started/get_started.md index 2accf66ef45..826866935c4 100644 --- a/docs/get_started/get_started.md +++ b/docs/get_started/get_started.md @@ -25,8 +25,13 @@ under the License. Before reading this guide, we assume you either have a Kubernetes cluster, or a local Kubernetes dev environment, e.g MiniKube. It is also assumed that `kubectl` is on your path and properly configured. +:::note + +If you don't have a Kubernetes cluster. Follow this [guide](developer_guide/env_setup.md) on how to setup a local Kubernetes cluster using docker-desktop. +::: + ## Install The easiest way to get started is to use our Helm Charts to deploy YuniKorn on an existing Kubernetes cluster. @@ -74,10 +79,22 @@ kubectl port-forward svc/yunikorn-service 9889:9889 -n yunikorn `9889` is the default port for web UI. Once this is done, web UI will be available at: `http://localhost:9889`. +:::info + +If a load Balacner, [Metallb](https://metallb.universe.tf/), [Cloud Provider KIND](https://kind.sigs.k8s.io/docs/user/loadbalancer/) and so on, is available to expose yunikorn in following ways. +1. Setting yunikorn service with `LoadBalancer` type via `kubectl patch yunikorn-service -n yunikorn {"spec": {"type": "LoadBalancer"}}` +2. adopting [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) + +::: + ![UI Screenshots](./../assets/yk-ui-screenshots.gif) YuniKorn UI provides a centralised view for cluster resource capacity, utilization, and all application info. +:::info + Besides, YuniKorn also exposes its scheduling metrics via Prometheus. -If you want to monitor the yunikorn core services by using Prometheus and Grafana, you can find our step-by-step tutorial [here](../user_guide/prometheus.md). \ No newline at end of file +If you want to monitor the yunikorn core services by using Prometheus and Grafana, you can find our step-by-step tutorial [here](../user_guide/prometheus.md). + +::: \ No newline at end of file From 411f632d312dd8472fd88657c26c1c8ebb82be29 Mon Sep 17 00:00:00 2001 From: yuteng Date: Sun, 16 Jun 2024 03:54:58 +0000 Subject: [PATCH 2/3] [YUNIKORN-2676] Get started yunikorn with load-balancer --- docs/get_started/get_started.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/get_started/get_started.md b/docs/get_started/get_started.md index 826866935c4..f2b9f7d88f0 100644 --- a/docs/get_started/get_started.md +++ b/docs/get_started/get_started.md @@ -25,9 +25,8 @@ under the License. Before reading this guide, we assume you either have a Kubernetes cluster, or a local Kubernetes dev environment, e.g MiniKube. It is also assumed that `kubectl` is on your path and properly configured. -:::note +:::info -If you don't have a Kubernetes cluster. Follow this [guide](developer_guide/env_setup.md) on how to setup a local Kubernetes cluster using docker-desktop. ::: @@ -81,9 +80,9 @@ Once this is done, web UI will be available at: `http://localhost:9889`. :::info -If a load Balacner, [Metallb](https://metallb.universe.tf/), [Cloud Provider KIND](https://kind.sigs.k8s.io/docs/user/loadbalancer/) and so on, is available to expose yunikorn in following ways. -1. Setting yunikorn service with `LoadBalancer` type via `kubectl patch yunikorn-service -n yunikorn {"spec": {"type": "LoadBalancer"}}` -2. adopting [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) +If a load Balacner, [Metallb](https://metallb.universe.tf/), [Cloud Provider KIND](https://kind.sigs.k8s.io/docs/user/loadbalancer/) and so on, is available, foloowing ways expose yunikorn. +1. `LoadBalancer` service type via `kubectl patch yunikorn-service -n yunikorn {"spec": {"type": "LoadBalancer"}}` +2. [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) ::: @@ -91,10 +90,10 @@ If a load Balacner, [Metallb](https://metallb.universe.tf/), [Cloud Provider KIN YuniKorn UI provides a centralised view for cluster resource capacity, utilization, and all application info. -:::info - Besides, YuniKorn also exposes its scheduling metrics via Prometheus. +:::info + If you want to monitor the yunikorn core services by using Prometheus and Grafana, you can find our step-by-step tutorial [here](../user_guide/prometheus.md). ::: \ No newline at end of file From 8788c41dc51273754aac6ab9ef03caae8b1c0248 Mon Sep 17 00:00:00 2001 From: yuteng Date: Sun, 16 Jun 2024 04:09:13 +0000 Subject: [PATCH 3/3] [YUNIKORN-2676] Get started yunikorn with load-balancer --- docs/get_started/get_started.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/get_started/get_started.md b/docs/get_started/get_started.md index f2b9f7d88f0..dd6b3ea619b 100644 --- a/docs/get_started/get_started.md +++ b/docs/get_started/get_started.md @@ -80,9 +80,7 @@ Once this is done, web UI will be available at: `http://localhost:9889`. :::info -If a load Balacner, [Metallb](https://metallb.universe.tf/), [Cloud Provider KIND](https://kind.sigs.k8s.io/docs/user/loadbalancer/) and so on, is available, foloowing ways expose yunikorn. -1. `LoadBalancer` service type via `kubectl patch yunikorn-service -n yunikorn {"spec": {"type": "LoadBalancer"}}` -2. [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) +If a load Balacner, [Metallb](https://metallb.universe.tf/), [Cloud Provider KIND](https://kind.sigs.k8s.io/docs/user/loadbalancer/) and so on, is available, setting `LoadBalancer` service type or [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) are able to expose yunikorn service. :::