You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@yunikorn.apache.org by GitBox <gi...@apache.org> on 2020/03/20 00:46:01 UTC

[GitHub] [incubator-yunikorn-core] wangdatan opened a new pull request #106: YUNIKORN-41

wangdatan opened a new pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106
 
 
   PR for that. Please review!

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wangdatan commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wangdatan commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395786547
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,52 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+`yunikorn-k8shim` nicely integrated with K8s, supported features like: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, by default YuniKorn fully support automatically
+ map K8s
+ namespaces to YuniKorn queues. All Namespace related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Or, YuniKorn can be deploy together with K8s default scheduler and take over
+ subset of nodes.
 
 Review comment:
   Adding it now.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wangdatan commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wangdatan commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395787024
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,52 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+`yunikorn-k8shim` nicely integrated with K8s, supported features like: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, by default YuniKorn fully support automatically
+ map K8s
+ namespaces to YuniKorn queues. All Namespace related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Or, YuniKorn can be deploy together with K8s default scheduler and take over
+ subset of nodes.
+ 
+#### Verified K8s versions 
+
+| K8s Version   | Support?  |
+| ------------- |:-------------:|
+| 1.12.x (or earlier) | X |
+| 1.13.x | √ |
 
 Review comment:
   We're still running YuniKorn + EKS 1.13, since EKS 1.13 is still not deprecated and have many users on that, we can claim it is supported.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wangdatan commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wangdatan commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395784054
 
 

 ##########
 File path: README.md
 ##########
 @@ -1,37 +1,44 @@
-# YuniKorn - A Universal Scheduler
+# Apache YuniKorn (incubating) - A Universal Scheduler
 
 ![Green Build](https://github.com/apache/incubator-yunikorn-core/workflows/Green%20Build/badge.svg)
 
 <img src="https://raw.githubusercontent.com/apache/incubator-yunikorn-core/master/docs/images/logo/yunikorn-logo-blue.png" width="200">
 
 ----
 
-YuniKorn is a light-weighted, universal resource scheduler for container orchestrator systems.
+Apache YuniKorn (incubating) is a light-weighted, universal resource scheduler for container orchestrator systems.
 It was created to achieve fine-grained resource sharing for various workloads efficiently on a large scale, multi-tenant,
 and cloud-native environment. YuniKorn brings a unified, cross-platform scheduling experience for mixed workloads consists
-of stateless batch workloads and stateful services. Support for but not limited to, YARN and Kubernetes.
+of stateless batch workloads and stateful services. 
+
+YuniKorn now supports K8s and can be deployed as a custom K8s scheduler. YuniKorn's architecture design also allows adding different
+shim layer and adopt to different ResourceManager implementation including Apache Hadoop YARN, or any other systems. 
 
 ## Architecture
 
 Following chart illustrates the high-level architecture of YuniKorn.
 
-![Architecture](docs/images/architecture.jpg)
+![Architecture](docs/images/architecture.png)
 
 YuniKorn consists of the following components spread over multiple code repositories.
 
 - _Scheduler core_: the brain of the scheduler, which makes placement decisions (Allocate container X on node Y)
   according to pre configured policies. See more in current repo [yunikorn-core](https://github.com/apache/incubator-yunikorn-core).
+  _Scheduler core_ is written in GoLang and implemented in a way to be agnostic to scheduler implementation.
 
 Review comment:
   The reason I add this because many people confused and ask: is it copy of YARN scheduling code? I will add it to the top level. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r397777782
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,51 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+The `k8shim` provides the integration for K8s scheduling and supported features include: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, with simple config, YuniKorn is able to 
+ support automatically map K8s namespaces to YuniKorn queues. All K8s-namespace-related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Community is actively working on 
+[Co-existing with other K8s schedulers](https://issues.apache.org/jira/browse/YUNIKORN-16) to allow YuniKorn take over subset of the cluster nodes. 
 
 Review comment:
   fixed in update with commit

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395406946
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,52 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+`yunikorn-k8shim` nicely integrated with K8s, supported features like: 
 
 Review comment:
   Not a proper english sentence when I read it.
   The k8shim provides the integration for K8s scheduling and `supported features include` is better

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395407292
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,52 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+`yunikorn-k8shim` nicely integrated with K8s, supported features like: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, by default YuniKorn fully support automatically
+ map K8s
+ namespaces to YuniKorn queues. All Namespace related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Or, YuniKorn can be deploy together with K8s default scheduler and take over
+ subset of nodes.
+ 
+#### Verified K8s versions 
+
+| K8s Version   | Support?  |
+| ------------- |:-------------:|
+| 1.12.x (or earlier) | X |
+| 1.13.x | √ |
 
 Review comment:
   Are we sure I thought we had moved to 1.14 a long time ago and cannot remember the last time we have used the 1.13 libs for a build

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wangdatan commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wangdatan commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395785729
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,52 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+`yunikorn-k8shim` nicely integrated with K8s, supported features like: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, by default YuniKorn fully support automatically
+ map K8s
+ namespaces to YuniKorn queues. All Namespace related ResourceQuota, permissions will be still valid.
 
 Review comment:
   I will make it to more accurate. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r396923605
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,51 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+The `k8shim` provides the integration for K8s scheduling and supported features include: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, with simple config, YuniKorn is able to 
+ support automatically map K8s namespaces to YuniKorn queues. All K8s-namespace-related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Community is actively working on 
+[Co-existing with other K8s schedulers](https://issues.apache.org/jira/browse/YUNIKORN-16) to allow YuniKorn take over subset of the cluster nodes. 
+ 
+#### Verified K8s versions 
+
+| K8s Version   | Support?  |
+| ------------- |:-------------:|
+| 1.12.x (or earlier) | X |
+| 1.13.x | √ |
+| 1.14.x | √ |
+| 1.15.x | √ |
+| 1.16.x | To be verified |
+| 1.17.x | To be verified |
 
-You can find more information about what are already supported and future plans in the [Road Map](docs/roadmap.md).
+### Web UI
+
+YuniKorn has builtin web UIs for queue hierarchies and apps. See below: 
+
+![Queues-UI](docs/images/screenshot-queues.png)
 
 Review comment:
   The quality is the same as the already existing ones. It is either the color sync used or the encoding that is causing the issue. Might need to grab them while being displayed on a different screen.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395405047
 
 

 ##########
 File path: README.md
 ##########
 @@ -1,37 +1,44 @@
-# YuniKorn - A Universal Scheduler
+# Apache YuniKorn (incubating) - A Universal Scheduler
 
 ![Green Build](https://github.com/apache/incubator-yunikorn-core/workflows/Green%20Build/badge.svg)
 
 <img src="https://raw.githubusercontent.com/apache/incubator-yunikorn-core/master/docs/images/logo/yunikorn-logo-blue.png" width="200">
 
 ----
 
-YuniKorn is a light-weighted, universal resource scheduler for container orchestrator systems.
+Apache YuniKorn (incubating) is a light-weighted, universal resource scheduler for container orchestrator systems.
 It was created to achieve fine-grained resource sharing for various workloads efficiently on a large scale, multi-tenant,
 and cloud-native environment. YuniKorn brings a unified, cross-platform scheduling experience for mixed workloads consists
-of stateless batch workloads and stateful services. Support for but not limited to, YARN and Kubernetes.
+of stateless batch workloads and stateful services. 
+
+YuniKorn now supports K8s and can be deployed as a custom K8s scheduler. YuniKorn's architecture design also allows adding different
+shim layer and adopt to different ResourceManager implementation including Apache Hadoop YARN, or any other systems. 
 
 ## Architecture
 
 Following chart illustrates the high-level architecture of YuniKorn.
 
-![Architecture](docs/images/architecture.jpg)
+![Architecture](docs/images/architecture.png)
 
 YuniKorn consists of the following components spread over multiple code repositories.
 
 - _Scheduler core_: the brain of the scheduler, which makes placement decisions (Allocate container X on node Y)
   according to pre configured policies. See more in current repo [yunikorn-core](https://github.com/apache/incubator-yunikorn-core).
+  _Scheduler core_ is written in GoLang and implemented in a way to be agnostic to scheduler implementation.
 
 Review comment:
   weird to state that just about the core, would not add it at all

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r396923577
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,51 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+The `k8shim` provides the integration for K8s scheduling and supported features include: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, with simple config, YuniKorn is able to 
+ support automatically map K8s namespaces to YuniKorn queues. All K8s-namespace-related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Community is actively working on 
+[Co-existing with other K8s schedulers](https://issues.apache.org/jira/browse/YUNIKORN-16) to allow YuniKorn take over subset of the cluster nodes. 
 
 Review comment:
   agree, need to rephrase that to something more like this:
   An enhancement is open to improve coexistence behaviour of the YuniKorn scheduler with other Kubernetes schedulers, like the default scheduler, in the cluster: [Co-existing with other K8s schedulers](https://issues.apache.org/jira/browse/YUNIKORN-16).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r397777949
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,51 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+The `k8shim` provides the integration for K8s scheduling and supported features include: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, with simple config, YuniKorn is able to 
+ support automatically map K8s namespaces to YuniKorn queues. All K8s-namespace-related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Community is actively working on 
+[Co-existing with other K8s schedulers](https://issues.apache.org/jira/browse/YUNIKORN-16) to allow YuniKorn take over subset of the cluster nodes. 
+ 
+#### Verified K8s versions 
+
+| K8s Version   | Support?  |
+| ------------- |:-------------:|
+| 1.12.x (or earlier) | X |
+| 1.13.x | √ |
+| 1.14.x | √ |
+| 1.15.x | √ |
+| 1.16.x | To be verified |
+| 1.17.x | To be verified |
 
-You can find more information about what are already supported and future plans in the [Road Map](docs/roadmap.md).
+### Web UI
+
+YuniKorn has builtin web UIs for queue hierarchies and apps. See below: 
+
+![Queues-UI](docs/images/screenshot-queues.png)
 
 Review comment:
   follow up jira will add new screen shots

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395406532
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,52 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+`yunikorn-k8shim` nicely integrated with K8s, supported features like: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, by default YuniKorn fully support automatically
+ map K8s
+ namespaces to YuniKorn queues. All Namespace related ResourceQuota, permissions will be still valid.
 
 Review comment:
   This requires setting up the queue mappings, I would not say "automatically".
   I would use with a simple config addition.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s closed pull request #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project

Posted by GitBox <gi...@apache.org>.
wilfred-s closed pull request #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project
URL: https://github.com/apache/incubator-yunikorn-core/pull/106
 
 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on issue #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on issue #106: [YUNIKORN-41] Update YuniKorn main README.md to make user can better get focus of the project
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#issuecomment-603784332
 
 
   fixed by commit 351207c

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] yangwwei commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
yangwwei commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395963637
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,51 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+The `k8shim` provides the integration for K8s scheduling and supported features include: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, with simple config, YuniKorn is able to 
+ support automatically map K8s namespaces to YuniKorn queues. All K8s-namespace-related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Community is actively working on 
+[Co-existing with other K8s schedulers](https://issues.apache.org/jira/browse/YUNIKORN-16) to allow YuniKorn take over subset of the cluster nodes. 
 
 Review comment:
   but YUNIKORN-16 is not to take over part of the cluster nodes, the purpose is to let yunikorn gracefully work with default K8s scheduler.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] wilfred-s commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
wilfred-s commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395404550
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,52 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+`yunikorn-k8shim` nicely integrated with K8s, supported features like: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, by default YuniKorn fully support automatically
+ map K8s
+ namespaces to YuniKorn queues. All Namespace related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Or, YuniKorn can be deploy together with K8s default scheduler and take over
+ subset of nodes.
 
 Review comment:
   That is too early we still have YUNIKORN-16 open

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] yangwwei commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
yangwwei commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395963698
 
 

 ##########
 File path: README.md
 ##########
 @@ -40,9 +47,51 @@ Here are some key features of YuniKorn.
 - Customized resource types (like GPU) scheduling support.
 - Rich placement constraints support.
 - Automatically map incoming container requests to queues by policies. 
-- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management. 
+- Node partition: partition cluster to sub-clusters with dedicated quota/ACL management.
+
+### Integration with K8s:
+
+The `k8shim` provides the integration for K8s scheduling and supported features include: 
+
+- _Predicates:_ All kinds of predicates such as node-selector, pod affinity/anti-affinity, taint/tolerant, etc.
+- _Persistent volumes:_ We have verified hostpath, EBS, NFS, etc. 
+- _K8s namespace awareness:_ YuniKorn support hierarchical of queues, does it mean you need to give up K8s namespace? Answer is no, with simple config, YuniKorn is able to 
+ support automatically map K8s namespaces to YuniKorn queues. All K8s-namespace-related ResourceQuota, permissions will be still valid.
+- _Metrics:_ Prometheus, Grafana integration.
+- _Cluster AutoScaler_: YuniKorn can nicely work with Cluster AutoScaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) to drive cluster scales up and down.
+- _K8s Events_: YuniKorn also integrated with K8s events, so lots of information can be retrieved by using `kubectl describe pod`.
+
+#### Performance testing
+We love high-performance software, and we made tremendous efforts to make it to support large scale cluster and high-churning tasks. 
+Here's [Performance Test Result](docs/evaluate-perf-function-with-Kubemark.md) 
+
+#### Deployment model
+Yunikorn can be deployed as a K8s custom scheduler, and take over all POD scheduling. Community is actively working on 
+[Co-existing with other K8s schedulers](https://issues.apache.org/jira/browse/YUNIKORN-16) to allow YuniKorn take over subset of the cluster nodes. 
+ 
+#### Verified K8s versions 
+
+| K8s Version   | Support?  |
+| ------------- |:-------------:|
+| 1.12.x (or earlier) | X |
+| 1.13.x | √ |
+| 1.14.x | √ |
+| 1.15.x | √ |
+| 1.16.x | To be verified |
+| 1.17.x | To be verified |
 
-You can find more information about what are already supported and future plans in the [Road Map](docs/roadmap.md).
+### Web UI
+
+YuniKorn has builtin web UIs for queue hierarchies and apps. See below: 
+
+![Queues-UI](docs/images/screenshot-queues.png)
 
 Review comment:
   UI images are not very high quality, but I guess you can leave it here.
   I will try to grab some latest UI images and upload to here, in another PR.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org


[GitHub] [incubator-yunikorn-core] yangwwei commented on a change in pull request #106: YUNIKORN-41

Posted by GitBox <gi...@apache.org>.
yangwwei commented on a change in pull request #106: YUNIKORN-41
URL: https://github.com/apache/incubator-yunikorn-core/pull/106#discussion_r395963432
 
 

 ##########
 File path: README.md
 ##########
 @@ -1,37 +1,44 @@
-# YuniKorn - A Universal Scheduler
+# Apache YuniKorn (incubating) - A Universal Scheduler
 
 ![Green Build](https://github.com/apache/incubator-yunikorn-core/workflows/Green%20Build/badge.svg)
 
 <img src="https://raw.githubusercontent.com/apache/incubator-yunikorn-core/master/docs/images/logo/yunikorn-logo-blue.png" width="200">
 
 ----
 
-YuniKorn is a light-weighted, universal resource scheduler for container orchestrator systems.
+Apache YuniKorn (incubating) is a light-weighted, universal resource scheduler for container orchestrator systems.
 It was created to achieve fine-grained resource sharing for various workloads efficiently on a large scale, multi-tenant,
 and cloud-native environment. YuniKorn brings a unified, cross-platform scheduling experience for mixed workloads consists
-of stateless batch workloads and stateful services. Support for but not limited to, YARN and Kubernetes.
+of stateless batch workloads and stateful services. 
+
+YuniKorn now supports K8s and can be deployed as a custom K8s scheduler. YuniKorn's architecture design also allows adding different
+shim layer and adopt to different ResourceManager implementation including Apache Hadoop YARN, or any other systems. 
 
 ## Architecture
 
 Following chart illustrates the high-level architecture of YuniKorn.
 
-![Architecture](docs/images/architecture.jpg)
+![Architecture](docs/images/architecture.png)
 
-YuniKorn consists of the following components spread over multiple code repositories.
+YuniKorn consists of the following components spread over multiple code repositories, most of the following projects written in GoLang.
 
 Review comment:
   minor: are written in GoLang.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org