Giter Site home page Giter Site logo

javajon / faas-netes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openfaas/faas-netes

0.0 2.0 0.0 4.21 MB

Serverless Kubernetes with OpenFaaS (Functions as a Service)

Home Page: https://github.com/openfaas/faas

License: MIT License

Makefile 2.03% Shell 1.60% Smarty 1.61% Go 94.77%

faas-netes's Introduction

faas-netes

Go Report Card Build Status License: MIT OpenFaaS

This is a plugin to enable Kubernetes as an OpenFaaS backend. The existing CLI and UI are fully compatible. It also opens up the possibility for other plugins to be built for orchestration frameworks such as Nomad, Mesos/Marathon or even a cloud-managed back-end such as Hyper.sh or Azure ACI.

OpenFaaS also runs well on managed Kubernetes services like AKS and GKE. See our list of tutorials in the documentation site for more.

Watch a video demo from TechFieldDay Extra at Dockercon

OpenFaaS is an event-driven serverless framework for containers. Any container for Windows or Linux can be leveraged as a serverless function. OpenFaaS is quick and easy to deploy (less than 60 secs) and lets you avoid writing boiler-plate code.

Stack

In this README you'll find a technical overview and instructions for deploying FaaS on a Kubernetes cluster. (Docker Swarm is also supported in the main project)

  • Serverless framework for containers
  • Native Kubernetes integrations (API and ecosystem)
  • Built-in UI
  • YAML templates & helm chart
  • Over 11k GitHub stars
  • Independent open-source project with over 90 authors/contributors

Get started

Note: a CRD-based Kubernetes controller is also available for OpenFaaS in the incubator program - faas-o6s.

How is this project different from others?

Reference guide

Configuration via Environmental variables

FaaS-netes can be configured via environment variables.

Option Usage
enable_function_readiness_probe Boolean - enable a readiness probe to test functions. Default: true
write_timeout HTTP timeout for writing a response body from your function (in seconds). Default: 8
read_timeout HTTP timeout for reading the payload from the client caller (in seconds). Default: 8
image_pull_policy Image pull policy for deployed functions (Always, IfNotPresent, Never. Default: Always

Readiness checking

The readiness checking for functions assumes you are using our function watchdog which writes a .lock file in the default "tempdir" within a container. To see this in action you can delete the .lock file in a running Pod with kubectl exec and the function will be re-scheduled.

Namespaces

By default all OpenFaaS functions and services are deployed to the openfaas and openfaas-fn namespaces. To alter the namespace use the helm chart.

Ingress

To configure ingress see the helm chart. By default NodePorts are used. These are listed in the deployment guide.

Image pull policy

By default, deployed functions will use an imagePullPolicy of Always, which ensures functions using static image tags are refreshed during an update. If this is not desired behavior, set the image_pull_policy environment variable to an alternative. IfNotPresent is particularly useful when developing locally with minikube. In this case, you can set your local environment to use minikube's docker so faas-cli build builds directly into minikube's image store. faas-cli push is unnecessary in this workflow - use faas-cli build then faas-cli deploy.

Note: When set to Never, only local (or pulled) images will work. When set to IfNotPresent, function deployments may not be updated when using static image tags.

faas-netes's People

Contributors

abhi avatar alexellis avatar bartsmykla avatar blu3gui7ar avatar elliott-beach avatar ericstoekl avatar ianphil avatar intheclouddan avatar isavcic avatar ivanayov avatar jcscottiii avatar kars7e avatar lucasroesler avatar luxas avatar milsonian avatar nicholasjackson avatar rgee0 avatar rimusz avatar stefanprodan avatar viveksyngh avatar weikinhuang avatar zouyee avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.