Difficulty: Introduction
Estimated Time: 20 minutes

Nuclio on Kubernetes

Nuclio is an open source serverless platform which allows developers to focus on building and running auto-scaling applications without worrying about managing servers.

  • The fastest platform running up to 400,000 function invocations per second
  • Enables simple debugging, regression and a multi-versioned CI/CD pipeline
  • Supports a variety of open or cloud-specific event and data sources with common APIs
  • Is portable across low-power devices, laptops, on-premises and multi-cloud deployments

You will learn how:

  • to install Nuclio on Kubernetes
  • functions are deployed and removed
  • functions are named, exposed, and invoked
  • functions are listed, inspected and monitored

More about the Nuclio architecture is described in the Nuclio documentation.

Conclusion

Nuclio is a new serverless project, derived from Iguazio's elastic data life-cycle management service for high-performance events and data processing. One of the many emerging serverless solutions for Kubernetes.

Lessons Learned

With these steps you have learned:

  • how to install Nuclio on Kubernetes,
  • how functions are deployed and removed,
  • how functions are named, exposed, and invoked,
  • how functions are listed, inspected and monitored.

References


No Fluff Just Stuff

For a deeper understanding of these topics and more join me, Jonathan Johnson, for a transcendent experience on the No Fluff Just Stuff Software Symposium Tour.

Nuclio

Step 1 of 6

Your Kubernetes Cluster

As you see, your Kubernetes cluster is started. Verify it's ready for your use.

kubectl version && kubectl cluster-info && kubectl get nodes

Verify the Kubernetes cluster is empty.

kubectl get deployments,pods,services

The Helm package manager used for installing applications on Kubernetes is also available.

helm version

Kubernetes Dashboard

As an administrator, you can control the cluster with the kubectl CLI tool. You can also use the Kubernetes Dashboard. Because the dashboard can be accessed publicly, it is protected and requires the secret access token to sign in. Because you have administration access to this cluster, copy the token from this secret.

export TOKEN=$(kubectl describe secret $(kubectl get secret | awk '/^dashboard-token-/{print $1}') | awk '$1=="token:"{print $2}') && echo -e "\n--- Copy and paste this token for dashboard access --\n$TOKEN\n---"

To access the dashboard, click on the Kubernetes Dashboard tab above the command line or from this link: https://[[HOST_SUBDOMAIN]]-30000-[[KATACODA_HOST]].environments.katacoda.com/. At the sign in prompt select Token and paste in the token, you copied a moment ago.

For Kubernetes clusters exposed to the public, always lock administration access including access to the dashboard.

Terminal
Kubernetes Dashboard
Nuclio Dashboard