{"id":104415,"date":"2021-09-28T20:47:10","date_gmt":"2021-09-28T17:47:10","guid":{"rendered":"https:\/\/computingforgeeks.com\/?p=104415"},"modified":"2026-03-21T19:31:37","modified_gmt":"2026-03-21T16:31:37","slug":"deploy-openfaas-serverless-framework-on-kubernetes","status":"publish","type":"post","link":"https:\/\/computingforgeeks.com\/deploy-openfaas-serverless-framework-on-kubernetes\/","title":{"rendered":"Deploy OpenFaaS Serverless Framework on Kubernetes"},"content":{"rendered":"\n<p>Welcome to this guide on how to deploy OpenFaaS Serverless Framework on Kubernetes. But before we commence on the crux of this tool, I would like to explain a few concepts.<\/p>\n\n\n\n<p>Serverless is a cloud computing design whereby business logic is written as a function that can be executed in a stateless manner. Serverless, as the word goes, does not literally mean that we are executing code without servers, It means that we do not have to provision hardware infrastructure when writing code. This provisioning and management of servers are done by third-party services.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is FaaS\/OpenFaas?<\/h3>\n\n\n\n<p><strong>FaaS<\/strong> stands for <strong>function-as-a-Service<\/strong>. This is a serverless model that enables one to build, run and manage applications\/ serverless functions without the complex infrastructure associated with it i.e building and deploying microservices.<\/p>\n\n\n\n<p><strong>OpenFaas<\/strong> is an open-source framework for building serverless functions with Docker and Kubernetes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kubernetes in the mix?<\/h3>\n\n\n\n<p><strong>Kubernetes<\/strong> is an open-source portable and extensible platform that is used for automation deployment, scaling e.t.c<\/p>\n\n\n\n<p>The main <strong>features<\/strong> of serverless architectures are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No servers, VMs, or containers<\/li>\n\n\n\n<li>Instrumentation: the logs and metrics are collected<\/li>\n\n\n\n<li>Functions as the building blocks<\/li>\n\n\n\n<li>No storage<\/li>\n\n\n\n<li>Bring Your Own Code (BYOC): allows one to run any code<\/li>\n\n\n\n<li>No cost for idle time, it only incurs costs when servers are running<\/li>\n\n\n\n<li>Scalability with the request<\/li>\n<\/ul>\n\n\n\n<p>Serverless architectures are used in:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Webhooks<\/li>\n\n\n\n<li>Real-time chat applications<\/li>\n\n\n\n<li>Check-out and payment<\/li>\n\n\n\n<li>Data processing<\/li>\n<\/ul>\n\n\n\n<p>Now we are set to begin this guide. By the end of this guide, you should be able to deploy OpenFaaS Serverless Framework on Kubernetes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install and Set up Kubernetes Cluster <\/h2>\n\n\n\n<p>[<span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Skip if you already have Kubernetes Cluster<\/span>]<\/p>\n\n\n\n<p>In this guide, we will install and set up the Kubernetes cluster using Minikube. If you prefer other methods of deploying Kubernetes Cluster checkout our guides in the following links:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/deploy-kubernetes-cluster-debian-with-kubespray\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Kubernetes Cluster on Debian with Kubespray<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-kubernetes-on-ubuntu-using-k3s\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Kubernetes Cluster on Ubuntu using K3s<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/deploy-kubernetes-cluster-on-ubuntu-with-kubeadm\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Kubernetes Cluster on Ubuntu with kubeadm<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-kubernetes-production-cluster-using-rancher-rke\/\" target=\"_blank\" rel=\"noreferrer noopener\">How To Install Kubernetes Cluster with Rancher RKE<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Running a Kubernetes Cluster using Minikube<\/h3>\n\n\n\n<p> When doing Minikube Kubernetes Cluster, first install snap:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"><em>##On RHEL 8\/Centos 8\/ Rocky Linux 8\n<\/em><\/span>sudo yum install epel-release\nsudo yum install snapd\n\n<span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"><em>##On Debian\/Ubuntu\n<\/em><\/span>sudo apt install snapd\n\n<span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"><em>##On macOS\n<\/em><\/span>brew install snap<\/code><\/pre>\n\n\n\n<p>Create a symbolic link for snap as shown.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ln -s \/var\/lib\/snapd\/snap \/snap\necho 'export PATH=$PATH:\/var\/lib\/snapd\/snap\/bin' | sudo tee -a \/etc\/profile.d\/snap.sh\nsource \/etc\/profile.d\/snap.sh<\/code><\/pre>\n\n\n\n<p>Start an enable snapd service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now snapd.service snapd.socket<\/code><\/pre>\n\n\n\n<p>Install kubectl using snap<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span class=\"has-inline-color has-pale-pink-color\">sudo snap install kubectl --classic<\/span>\n2021-08-24T18:39:53+03:00 INFO Waiting for automatic snapd restart...\nkubectl 1.21.4 from Canonical<strong><span class=\"has-inline-color has-vivid-green-cyan-color\">\u2713<\/span><\/strong> installed<\/code><\/pre>\n\n\n\n<p>Install MiniKube on your system.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/storage.googleapis.com\/minikube\/releases\/latest\/minikube-linux-amd64 -O minikube<\/code><\/pre>\n\n\n\n<p>Change permissions and copy it to the path<em><strong> \/usr\/local\/bin\/<\/strong><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod 755 minikube\nsudo cp minikube \/usr\/local\/bin\/<\/code><\/pre>\n\n\n\n<p>Install minikube as shown.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod +x \/usr\/local\/bin\/minikube<\/code><\/pre>\n\n\n\n<p>Check the version of Minikube:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$<span class=\"has-inline-color has-pale-pink-color\"> minikube  version<\/span>\nminikube version: v1.23.2\ncommit: 0a0ad764652082477c00d51d2475284b5d39ceed<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Run Kubernetes using Minikube<\/h3>\n\n\n\n<p>Now run the cluster on your system. Ensure that you have a hypervisor i.e <strong>VirtualBox\/KVM <\/strong> installed on your system.<\/p>\n\n\n\n<p>Install <strong>Virtualbox<\/strong> on your system with the aid of the guides below.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/how-to-install-virtualbox-on-centos-rhel-8\/\" target=\"_blank\" rel=\"noreferrer noopener\">On CentOS \/ RHEL \/ Rocky Linux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/how-to-install-virtualbox-5-2-x-on-kali-linux-ubuntu-and-debian\/\" target=\"_blank\" rel=\"noreferrer noopener\">On Ubuntu &amp; Debian<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/how-to-install-virtualbox-on-fedora-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">On Fedora Linux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-virtualbox-on-kali-linux-linux-mint\/\" target=\"_blank\" rel=\"noreferrer noopener\">On Kali Linux \/ Linux Mint<\/a><\/li>\n<\/ul>\n\n\n\n<p>Install <strong>KVM<\/strong> hypervisor on your system with aid from the guides below<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/upgrade-from-ubuntu-focal-fossa-to-ubuntu-jammy-jellyfish\/\" target=\"_blank\" rel=\"noreferrer noopener\">On Ubuntu Linux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/how-to-install-kvm-virtualization-on-debian\/\" target=\"_blank\" rel=\"noreferrer noopener\">On Debian<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-kvm-rocky-almalinux-rhel\/\" target=\"_blank\" rel=\"noreferrer noopener\">On RHEL 8 \/ CentOS 8 Linux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/how-to-install-kvm-on-fedora\/\" target=\"_blank\" rel=\"noreferrer noopener\">On Fedora<\/a><\/li>\n<\/ul>\n\n\n\n<p>With KVM\/Virtualbox installed, run Minikube specifying the driver to use from your hypervisor as below<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>With VirtualBox driver<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Run the commands below to start Minikube instance using VirtualBox driver:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>minikube start --driver=virtualbox<\/code><\/pre>\n\n\n\n<p>2<strong>. With KVM driver<\/strong><\/p>\n\n\n\n<p>Add your user to the <strong>libvirt<\/strong> group <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo usermod -aG libvirt $USER\nnewgrp libvirt<\/code><\/pre>\n\n\n\n<p>The run the commands below to start Minikube instance using KVM driver:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>minikube start --driver=kvm2<\/code><\/pre>\n\n\n\n<p>Sample Output for Virtualbox:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...........\n\ud83d\udd25  Creating virtualbox VM (CPUs=2, Memory=2900MB, Disk=20000MB) ...\n\ud83d\udc33  Preparing Kubernetes v1.21.2 on Docker 20.10.6 ...\n    \u25aa Generating certificates and keys ...\n    \u25aa Booting up control plane ...\n    \u25aa Configuring RBAC rules ...\n\ud83d\udd0e  Verifying Kubernetes components...\n    \u25aa Using image gcr.io\/k8s-minikube\/storage-provisioner:v5\n\ud83c\udf1f  Enabled addons: default-storageclass, storage-provisioner\n\ud83c\udfc4  <strong><span class=\"has-inline-color has-luminous-vivid-amber-color\">Done! kubectl is now configured to use \"minikube\" cluster and \"default\" namespace by default<\/span><\/strong><\/code><\/pre>\n\n\n\n<p>Check the installed Kubectl version.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong><span class=\"has-inline-color has-luminous-vivid-amber-color\">$ kubectl version\n<\/span><\/strong>Client Version: version.Info{Major:\"1\", Minor:\"22\", GitVersion:\"v1.22.2\", GitCommit:\"8b5a19147530eaac9476b0ab82980b4088bbc1b2\", GitTreeState:\"clean\", BuildDate:\"2021-09-15T21:38:50Z\", GoVersion:\"go1.16.8\", Compiler:\"gc\", Platform:\"linux\/amd64\"}\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Install arkade<\/h2>\n\n\n\n<p>In this guide, we will use arkade to install OpenFaaS. Arkade is an open-source CLI that helps to easily manage apps. It is written in Go language and uses helm charts and <code>kubectl <\/code>to install applications to the Kubernetes cluster.<\/p>\n\n\n\n<p>Use the below command to install arkade on your machine.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"><em>## For MacOS \/ Linux users \n<\/em><\/mark>curl -sLS https:\/\/get.arkade.dev | sudo sh\n\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"><em>## For Windows users(using Git Bash) \n<\/em><\/mark>curl -SLsf https:\/\/get.arkade.dev | sh<\/code><\/pre>\n\n\n\n<p>Sample Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x86_64\nDownloading package https:\/\/github.com\/alexellis\/arkade\/releases\/download\/0.10.0\/arkade as \/tmp\/arkade\nDownload complete.\n\nRunning with sufficient permissions to attempt to move arkade to \/usr\/local\/bin\nNew version of arkade installed to \/usr\/local\/bin\nwhich: no ark in (\/sbin:\/bin:\/usr\/sbin:\/usr\/bin)\nCreating alias 'ark' for 'arkade'.\n            _             _\n  __ _ _ __| | ____ _  __| | ___\n \/ _` | '__| |\/ \/ _` |\/ _` |\/ _ \\\n| (_| | |  |   &lt; (_| | (_| |  __\/\n \\__,_|_|  |_|\\_\\__,_|\\__,_|\\___|\n\nOpen Source Marketplace For Developer Tools\n\nVersion: 0.10.0\nGit Commit: 8965ff8b7bdfc6f23543d509cc1e6774c37a9fe6\n\n \ud83d\udc33 Want to speed up your CI 2-3x, whilst lowering costs? https:\/\/actuated.dev<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Install OpenFaas<\/h2>\n\n\n\n<p>With arkade installed on your system, you will easily download OpenFaaS using the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>arkade install openfaas --basic-auth-password <span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\">MyStrongPassword<\/span> --set=faasIdler.dryRun=<span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\">false<\/span><\/code><\/pre>\n\n\n\n<p>In the command, you have installed OpenFaaS using the official helm chart. You have installed OpenFaaS with your own password <strong>&#8220;MyStrongPassword<\/strong>&#8221; and disabled <strong><code>faasIdler.dryRun<\/code><\/strong>. This is required for autoscaling.<\/p>\n\n\n\n<p>Sample output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>............\nfaas-cli store deploy figlet\nfaas-cli list\n\n# For Raspberry Pi\nfaas-cli store list \\\n --platform armhf\n\nfaas-cli store deploy figlet \\\n --platform armhf\n\n# Find out more at:\n# https:\/\/github.com\/openfaas\/faas\n\n<strong><span class=\"has-inline-color has-pale-cyan-blue-color\">Thanks for using arkade!<\/span><\/strong><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Install faas-cli<\/h2>\n\n\n\n<p>The <strong>faas-cli<\/strong> is required once OpenFaaS is installed on your system. It is used to deploy and test functions with OpenFaas. Install it on your system using the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">## For Linux and MacOS users\n<\/span>curl -sL https:\/\/cli.openfaas.com | sudo sh\n\n<span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">## For Windows users with (Git Bash)\n<\/span>curl -sL https:\/\/cli.openfaas.com | sh<\/code><\/pre>\n\n\n\n<p>Now we have successfully set up OpenFaaS, we can now login to it using <strong><code>fast-cli <\/code><\/strong>or the Web UI as below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>faas-cli login --username <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">admin<\/mark> --password <span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\">MyStrongPassword<\/span><\/code><\/pre>\n\n\n\n<p>The default username is admin and the password, we use the one specified earlier <strong>MyStrongPassword<\/strong><\/p>\n\n\n\n<p>Sample Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Running with sufficient permissions to attempt to move faas-cli to \/usr\/local\/bin\nNew version of faas-cli installed to \/usr\/local\/bin\nCreating alias 'faas' for 'faas-cli'.\n<strong><span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">  ___                   _____           ____\n \/ _ \\ _ __   ___ _ __ |  ___|_ _  __ _\/ ___|\n| | | | '_ \\ \/ _ \\ '_ \\| |_ \/ _` |\/ _` \\___ \\\n| |_| | |_) |  __\/ | | |  _| (_| | (_| |___) |\n \\___\/| .__\/ \\___|_| |_|_|  \\__,_|\\__,_|____\/\n      |_|<\/span><\/strong>\n\nCLI:\n commit:  869d236be5bf71cc32231a4317ccfcd950de35ef\n version: 0.16.13<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Deploy OpenFaas on Kubernetes<\/h2>\n\n\n\n<p>Now with the OpenFaaS installation successful, we will now get to the crux of this guide. Deploying the OpenFaaS framework on Kubernetes is done by issuing the below command.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get deploy --namespace openfaas<\/code><\/pre>\n\n\n\n<p>Sample Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>NAME                READY   UP-TO-DATE   AVAILABLE   AGE\nalertmanager        0\/1     1            0           71s\nbasic-auth-plugin   1\/1     1            1           71s\ngateway             0\/1     1            0           71s\nnats                0\/1     1            0           71s\nprometheus          0\/1     1            0           71s\nqueue-worker        0\/1     1            0           71s<\/code><\/pre>\n\n\n\n<p>Check the status of the core containers in OpenFaaS using the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl rollout status -n openfaas deploy\/gateway<\/code><\/pre>\n\n\n\n<p>Sample Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Waiting for deployment \"gateway\" rollout to finish: 0 of 1 updated replicas are available...\ndeployment \"gateway\" successfully rolled out<\/code><\/pre>\n\n\n\n<p>Then forward all the requests sent to <a href=\"http:\/\/localhost:8080\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost:8080<\/a> using kubectl port-forward command.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl port-forward -n openfaas svc\/gateway 8080:8080<\/code><\/pre>\n\n\n\n<p>This connection remains open as long as the process is running. If it disconnects due to some reason, re-run it. You can run it in the background using <code>&amp;<\/code> at the end.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Access the OpenFaaS Web UI<\/h2>\n\n\n\n<p>Now access the OpenFaas web interface using the URL <a href=\"http:\/\/127.0.0.1:8080\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/127.0.0.1:8080<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"459\" height=\"287\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes.png\" alt=\"\" class=\"wp-image-104462\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes.png 459w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-300x188.png 300w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/figure>\n\n\n\n<p>Login with the credentials; username: <strong>admin<\/strong> password: <strong>MyStrongPassword<\/strong>. On successful login, you will see this OpenFaas dashboard.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"297\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-1-1024x297.png\" alt=\"\" class=\"wp-image-104463\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-1-1024x297.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-1-300x87.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-1-768x223.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-1-696x202.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-1.png 1057w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We can now deploy a new function on OpenFaas by clicking on <strong>Deploy a new Function<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"951\" height=\"640\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-4.png\" alt=\"\" class=\"wp-image-104464\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-4.png 951w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-4-300x202.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-4-768x517.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-4-696x468.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-4-624x420.png 624w\" sizes=\"auto, (max-width: 951px) 100vw, 951px\" \/><\/figure>\n\n\n\n<p>There is a long list of functions to deploy. For the purposes of this guide, I will go for a <strong>Nodeinfo<\/strong> deployment.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"951\" height=\"640\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-5.png\" alt=\"\" class=\"wp-image-104465\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-5.png 951w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-5-300x202.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-5-768x517.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-5-696x468.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-5-624x420.png 624w\" sizes=\"auto, (max-width: 951px) 100vw, 951px\" \/><\/figure>\n\n\n\n<p>Select it and the option for deploy becomes active as shown.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"941\" height=\"635\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-6.png\" alt=\"\" class=\"wp-image-104466\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-6.png 941w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-6-300x202.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-6-768x518.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-6-696x470.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-6-622x420.png 622w\" sizes=\"auto, (max-width: 941px) 100vw, 941px\" \/><\/figure>\n\n\n\n<p>Click <strong>deploy<\/strong> and your new function will appear as shown.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"482\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7-1024x482.png\" alt=\"\" class=\"wp-image-104467\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7-1024x482.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7-300x141.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7-768x362.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7-696x328.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7-1068x503.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7-892x420.png 892w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-7.png 1342w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Select it and <strong>invoke<\/strong> it. The node info will then be displayed. Still, you can use the provided URL to see the node information.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"915\" height=\"554\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-8.png\" alt=\"\" class=\"wp-image-104468\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-8.png 915w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-8-300x182.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-8-768x465.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-8-696x421.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/09\/How-To-Deploy-OpenFaaS-Serverless-Framework-on-Kubernetes-8-694x420.png 694w\" sizes=\"auto, (max-width: 915px) 100vw, 915px\" \/><\/figure>\n\n\n\n<p><strong><em>Books For Learning Kubernetes Administration:<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/best-comptia-cysa-plus-certification-study-books\/\" target=\"_blank\" rel=\"noreferrer noopener\">Best Kubernetes Study books<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion.<\/h2>\n\n\n\n<p>Congratulations! We have triumphantly gone through how to Deploy OpenFaaS Serverless Framework on Kubernetes. I hope this guide was informative. In case you had issues with deploying OpenFaaS Serverless Framework on Kubernetes let us know.<\/p>\n\n\n\n<p>See more on this page:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/minikube-kubernetes-debian\/\" target=\"_blank\" rel=\"noreferrer noopener\">Run Kubernetes on Debian 11 with Minikube<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/jenkins-multiple-kubernetes-clusters\/\" target=\"_blank\" rel=\"noreferrer noopener\">How To Add Multiple Kubernetes Clusters to Jenkins<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/k0s-vs-k3s-vs-microk8s-kubernetes-distributions-comparison\/\" target=\"_blank\" rel=\"noreferrer noopener\">k0s vs k3s vs microk8s Kubernetes Distributions Comparison<\/a><\/li>\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>Welcome to this guide on how to deploy OpenFaaS Serverless Framework on Kubernetes. But before we commence on the crux of this tool, I would like to explain a few concepts. Serverless is a cloud computing design whereby business logic is written as a function that can be executed in a stateless manner. Serverless, as &#8230; <a title=\"Deploy OpenFaaS Serverless Framework on Kubernetes\" class=\"read-more\" href=\"https:\/\/computingforgeeks.com\/deploy-openfaas-serverless-framework-on-kubernetes\/\" aria-label=\"Read more about Deploy OpenFaaS Serverless Framework on Kubernetes\">Read more<\/a><\/p>\n","protected":false},"author":21,"featured_media":104464,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[316,299,317,50],"tags":[36114,36113],"class_list":["post-104415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-containers","category-how-to","category-kubernetes","category-linux-tutorials","tag-deploy-openfaas-serverless-framework-on-kubernetes","tag-openfaas-serverless-framework"],"_links":{"self":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/104415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/comments?post=104415"}],"version-history":[{"count":1,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/104415\/revisions"}],"predecessor-version":[{"id":163242,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/104415\/revisions\/163242"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media\/104464"}],"wp:attachment":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media?parent=104415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/categories?post=104415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/tags?post=104415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}