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

[YUNIKORN-1828] unify plugin.yaml with other deployment example files #678

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions deployments/scheduler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@

# Deployment examples

## Scheduler
YuniKorn can be deployed in two different modes: standard and plugin.
Detailed description are here: [Deployment Modes](https://yunikorn.apache.org/docs/next/user_guide/deployment_modes)

## Scheduler Standard mode

Deploys scheduler-core + scheduler-web

Expand All @@ -27,9 +30,14 @@ Deploys scheduler-core + scheduler-web

Deployment: [scheduler.yaml](scheduler.yaml)

## Scheduler Plugin mode

Deployment: [plugin.yaml](plugin.yaml)

## Scheduler configuration

This deployment contains a minimal queue configuration for YuniKorn.
This deployment contains a default configuration for YuniKorn.
Detailed description are here: [Service Configuration](https://yunikorn.apache.org/docs/next/user_guide/service_config)

Deployment: [yunikorn-configs.yaml](yunikorn-configs.yaml)

Expand All @@ -42,13 +50,9 @@ Deployment: [yunikorn-rbac.yaml](yunikorn-rbac.yaml)

## Load Balancer

Deploys scheduler-core + scheduler-web

* Scheduler pod runs 2 containers, 1 for scheduler-core, 1 for scheduler-web
* UI port is `9889`
* A load balancer that helps to expose web UI link directly on K8s
A load balancer that helps to expose web UI link directly on K8s

Deployment: [scheduler-load.yaml](scheduler-load.yaml)
Deployment: [service.yaml](service.yaml)

## Admission Controller

Expand Down
74 changes: 11 additions & 63 deletions deployments/scheduler/plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: yunikorn-admin

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: yunikorn-rbac
subjects:
- kind: ServiceAccount
name: yunikorn-admin
namespace: default
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io

---
apiVersion: apps/v1
kind: Deployment
metadata:
Expand All @@ -54,66 +33,35 @@ spec:
component: yunikorn-scheduler
name: yunikorn-scheduler
spec:
hostNetwork: true
serviceAccountName: yunikorn-admin
containers:
- name: yunikorn-scheduler-k8s
image: apache/yunikorn:scheduler-plugin-latest
image: apache/yunikorn:scheduler-plugin-amd64-latest
imagePullPolicy: IfNotPresent
ports:
- name: http1
containerPort: 9080
protocol: TCP
- containerPort: 9080
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
resources:
requests:
cpu: 1
cpu: 200m
memory: 1Gi
limits:
cpu: 4
memory: 2Gi
livenessProbe:
httpGet:
path: /ws/v1/scheduler/healthcheck
port: 9080
initialDelaySeconds: 20
periodSeconds: 600
failureThreshold: 1
- name: yunikorn-scheduler-web
image: apache/yunikorn:web-latest
image: apache/yunikorn:web-amd64-latest
imagePullPolicy: IfNotPresent
ports:
- name: http2
containerPort: 9889
protocol: TCP
resources:
requests:
memory: "100Mi"
cpu: "100m"
cpu: 100m
memory: 100Mi
limits:
memory: "500Mi"
cpu: "200m"

---
apiVersion: v1
kind: Service
metadata:
name: yunikorn-service
labels:
app: yunikorn-service
spec:
ports:
- port: 9080
targetPort: http1
protocol: TCP
name: yunikorn-core
- port: 9889
targetPort: http2
protocol: TCP
name: yunikorn-service
selector:
app: yunikorn
type: LoadBalancer
cpu: 200m
memory: 500Mi
ports:
- containerPort: 9889
83 changes: 0 additions & 83 deletions deployments/scheduler/scheduler-load.yaml

This file was deleted.

35 changes: 35 additions & 0 deletions deployments/scheduler/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: v1
kind: Service
metadata:
name: yunikorn-service
labels:
app: yunikorn
spec:
ports:
- port: 9080
targetPort: http1
protocol: TCP
name: yunikorn-core
- port: 9889
targetPort: http2
protocol: TCP
name: yunikorn-service
selector:
app: yunikorn
type: LoadBalancer