You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by "Dragos Dascalita Haut (Confluence)" <no...@apache.org> on 2019/04/04 01:10:06 UTC

[CONF] OpenWhisk > OpenWhisk on Kubernetes

There's **1 new edit** on this page  
---  
|  
---  
|  | [![page icon](cid:page-
icon)](https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+on+Kubernetes?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554340206832&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=view
"page icon")  
---  
[OpenWhisk on
Kubernetes](https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+on+Kubernetes?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554340206832&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=view
"OpenWhisk on Kubernetes")  
|  |  |  |  | ![](cid:avatar_f05ff1978a821834e20fe2bd448c32f7) |  | Dragos
Dascalita Haut edited this page  
---  
|  
|  | Here's what changed:  
---  
|

#  Goals

###  |
![](https://cwiki.apache.org/confluence/s/en_GB/7901/17fbf59dc6f69bee0caf86e0cbbd7fb3bd9d8b4a/_/plugins/servlet/confluence/placeholder/macro-
icon?name=gliffy) Gliffy Diagram  
---  
| name | OpenWhisk-w-ClusterManager-highlevel  
---|---  
pagePin | 3  
  
  * Try to reuse Kubernetes components in OW
  * Keep the existing developer experience and CLI

###  Current deployment

![](https://cwiki.apache.org/confluence/s/en_GB/7901/17fbf59dc6f69bee0caf86e0cbbd7fb3bd9d8b4a/_/plugins/servlet/confluence/placeholder/macro-
icon?name=gliffy) Gliffy Diagram  
---  
| name | OpenWhisk-with-ClusterManager-simplified  
---|---  
pagePin | 5  


Originally OpenWhisk was built with the assumption that each Invoker is
responsible for a single VM in the cluster. With a Cluster Manager, this
premise changes, as a single Invoker could be in charge of the entire cluster.
The Cluster Manager is responsible for each VM. From the Invoker's
perspective, the entire cluster looks like a single pool of resources.

The current OpenWhisk components, Controller and Invoker, have problems
managing the same pull of resources. For example:

  * when 2 or more Invokers manage the same resources, conflicts may arise due to the fact that Invokers don't share any model
  * the load balancing logic in the Controller becomes less important given than it doesn't matter which Invoker executes a given action, because it will still execute it on the same pool of resources
  * the max memory limit set per invoker is also not useful  

#  CNCF based Architecture

Given these new premises, and the experience of building a FaaS solution that
the OpenWhisk community has, can the OW system benefit from a Cluster Manager
to simplify its implementation, while keeping the same developer experience ?

This document looks at some possible options to achieve this with Kubernetes
and other solutions from the CNCF landscape.

##  Management, Control, and Data Plane

OpenWhisk system can be decomposed in 3 distinct areas of concern, inspired
from Network Devices and Systems designs.

  

![](https://cwiki.apache.org/confluence/s/en_GB/7901/17fbf59dc6f69bee0caf86e0cbbd7fb3bd9d8b4a/_/plugins/servlet/confluence/placeholder/macro-
icon?name=gliffy) Gliffy Diagram  
---  
| name | OpenWhisk-ManagementControlData-plane  
---|---  
pagePin | 2  
  
###  Management Plane

TBD

###  Control Plane

TBD

###  Data Plane

TBD

  

###  Previous discussions

Provide support for integration with Kubernetes. One approach could be to
deploy and run the components on a Kubernetes provider as we do for Vagrant,
Docker, Docker-Compose, and OpenStack.

...  
  
|  |  | [Go to page
history](https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?pageId=68719291&src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554340206832&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6 "Go to page
history")  
---  
---  
| [View
page](https://cwiki.apache.org/confluence/display/OPENWHISK/OpenWhisk+on+Kubernetes?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554340206832&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=view)  
---  
  
|  | [Stop watching
space](https://cwiki.apache.org/confluence/users/removespacenotification.action?spaceKey=OPENWHISK&src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554340206832&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=stop-
watching&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4c3JmOjhhYTk4MDg3NWJmMjQ2MzUwMTVjOTI2N2JjOGUwMmY2IiwicXNoIjoiNzQ3NzRiYzk2MzFhNTNkY2ZkNTZhZWJlNTYzMjgxYThkZjBkMTEzODBmYjQ1MWRlNTM5ZWNiZDNhOGQ2OWFiOSIsImlzcyI6ImNvbmZsdWVuY2Vfbm90aWZpY2F0aW9uc0FSRUgtWFVEMS1QT1FHLUNTQU8iLCJleHAiOjE1NTQ5NDUwMDYsImlhdCI6MTU1NDM0MDIwNn0.2o3wBVqfKgWi4m6594PJwqLuufZYuRg_8B8Y35mK59Y)
| •  
---|---  
[Manage
notifications](https://cwiki.apache.org/confluence/users/editmyemailsettings.action?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1554340206832&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=manage)  
---  
| ![Confluence logo big](cid:footer-desktop-logo)  
---  
This message was sent by Atlassian Confluence 6.14.2  
![](cid:footer-mobile-logo)  
---