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/05/09 16:40: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=1557420005978&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=1557420005978&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:  
---  
|

...

  1. The request arrives from a client
  2. Authentication and Authorization 
    1. The Container Router validates the Authorization header with OpenWhisk Auth Service
    2. The response of the Auth Service is cached 
  3. Routing 
    1. Check namespace limits
    2. Forward the request to a container selected from a list of warmed actions that the Action Router keeps. 
      1. **(new)** Streaming the request to the action would be a nice; OpenWhisk doesn't have support for this, and such feature could remove the max payload limits
      2. **(new)** Websockets could also be supported, another missing feature in OpenWhisk.
  4. Container Proxy sidecar 
    1. Check action concurrency limit
    2. Buffer a few more requests, queueing them into an overflow buffer; this may be something useful when cold-start could take longer than just queuing a few more requests. Blackbox actions that need to download the docker image may benefit from this more. This idea is inspired from [KNative Serving](https://github.com/knative/serving/blob/master/pkg/queue/breaker.go#L34). 
  5. Invoke the action and return the response 
    1. **(new)** Caching the action response could be another nice to have feature, which is not implemented in OpenWhisk. Caching should be controller by the action response.
  6. Collect activation info.
  7. Sequence support. 
    1. If the action is part of a sequence, then the Router should have logic to invoke the next action in the sequence.
      1. Other ideas to explore to support sequences, should the support in the ContainerRouter is too difficult to implement
        1. ContainerProxy could "understand" sequences
        2. Or reuse Composer and implement sequence-as-an-action.  

##### Flow for cold-start

When the Action Proxy is at capacity, it should return a 429 message back to
the Container Router. A `[Retry-After](https://developer.mozilla.org/en-
US/docs/Web/HTTP/Headers/Retry-After)`  header could specify `<delay-seconds>`
or `<http-date>`  for a CircuitBreaker in the ContainerRouter to avoid routing
to that action. The time window for retry should ideally be computed from the
response times observed by the Container Proxy.

...  
  
---  
|  |  | [Go to page
history](https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?pageId=68719291&src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1557420005978&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=1557420005978&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=1557420005978&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa980875bf24635015c9267bc8e02f6&src.mail.action=stop-
watching&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4c3JmOjhhYTk4MDg3NWJmMjQ2MzUwMTVjOTI2N2JjOGUwMmY2IiwicXNoIjoiZDdmMDQ4OGY0NjZiMDk4OWZhZGFjNDAzYWQxNWRkM2QyNTNkYTc1YzlkYmZmNmIwMTdkNDM3ZmNhZDA2MmE5ZSIsImlzcyI6ImNvbmZsdWVuY2Vfbm90aWZpY2F0aW9uc0FSRUgtWFVEMS1QT1FHLUNTQU8iLCJleHAiOjE1NTgwMjQ4MDYsImlhdCI6MTU1NzQyMDAwNn0.DwgVu5rhFOFdFALil0_ySJLY7j4ppcPGdb5K3Z2XwKk)
| •  
---|---  
[Manage
notifications](https://cwiki.apache.org/confluence/users/editmyemailsettings.action?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1557420005978&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.15.2  
![](cid:footer-mobile-logo)  
---