Quick Start
Quick Start
⚠ DISCLAIMER
The prebuilt binaries are convenience builds only. They are not official Apache releases, they are not endorsed by the Apache Software Foundation, and they are not meant to be production ready. The only official artifacts are the source releases; build from source with
go installif you need a supported, production-grade installation.Apache OpenServerless is also an effort undergoing incubation at the Apache Software Foundation. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
This is a quick start guide to the installation process, targeting experienced users in a hurry.
It provides a high-level overview of the installation process, omitting advanced of details. The missing pieces are covered in the rest of the documentation.
Of course, if this guide is not enough and things fail, you can always apply the rule: “if everything fails, read the manual”.
Prerequisites
Start ensuring the prerequsites are satisfied:
Install
ops, the OpenServerless CLI, picking version suitable for your environment. We support 64-bit versions of recent Windows, MacOS and major Linux distributions.You can download a prebuilt convenience binary for your platform here. On macOS, remove the Gatekeeper quarantine attribute before running it:
xattr -d com.apple.quarantine opsHint: if you already have Go installed, you can skip the installer entirely and just do:
go install github.com/apache/openserverless-cli/cmd/ops@0.9.0Check that ops is correctly installed: open the terminal and write:
ops -info
Now, choose where to install OpenServerless.
Your options are:
locally in your workstation;
in a Linux server in your intranet
in a Linux server available on Internet
in a Kubernetes cluster in your intranet
in cloud, where you can provision a Kubernetes cluster
Local Installation
If you have a decent workstation (with at least 16GB of memory) running a recent 64-bit operating system, you can install Docker Desktop and then install OpenServerless in it. Once you have:
installed the CLI
configured the services
installed Docker Desktop
Make sure Docker Desktop its running before the next operation. Install OpenServerless and its services in Docker with just this command:
ops setup mini
This is the recommended way to run OpenServerless locally. It requires 16GB of memory and 60GB of free disk space.
Once it is installed, you can proceed to read the tutorial to learn how to code with it.
NOTE: At least 16GB of memory is ideal, but if you know what you’re doing and can tolerate inefficiency, you can install with less using:
export PREFL_NO_MEM_CHECK=1
export PLEFL_NO_CPU_CHECK=1
Internet Server Configuration
If you have access to a server on the Internet, you will know its IP address.
❗ IMPORTANT
The server must have a public IP address, reachable from the Internet, for the whole duration of the installation. This is not optional: the setup obtains TLS certificates from Let’s Encrypt, which validates your domain by connecting back to your server from the outside. If the IP is private, behind NAT, or otherwise unreachable, that validation fails and the installation will not work.
Many cloud providers also give you a DNS name usually derived by the IP
and very hard to remember such as
ec2-12-34-56-78.us-west-2.compute.amazonaws.com.
Once you got the IP address and the DNS name, you can give to your server a bettername using a domain name provider. We cannot give here precise instructions as there are many DNS providers and each has different rules to do the setup. Check with your chosen domain name provider.
If you have this name, configure it and enable DNS with:
ops config apihost <dns-name> --tls=<email-address>
❗ IMPORTANT
Replace the
<dns-name>with the actual DNS name, without using prefixes likehttp://or suffixes like:443. Also, replace` with your actual email address.
then proceed with the server installation.
Server Installation
Once you got access to a Linux server with:
An IP address or DNS name, referred to as
<server>Passwordless access with
sshto a Linux user<user>At least 8GB of memory and 50GB of disk space available
The user
<user>has passwordlesssudorightsThe firewall that allows traffic to ports 80, 443 and 6443
Without any Docker or Kubernetes installed
Without any Web server or Web application installed
then you can install OpenServerless in it.
The server can be physical or virtual. We need Kubernetes in it but the installer takes care of installing also a flavor of Kubernetes, K3S, courtesy of K3Sup.
To install OpenServerless, first check you have access to the server with:
ssh <user>@<server> sudo hostname
You should see no errors and read the internal hostname of your server.
If you do not receive errors, you can proceed to install OpenServerless with this command:
ops setup server <server> <user>
❗ IMPORTANT
Replace in the commands
<server>with the address of your server, and<user>with the actual user to use in your server. The<server>can be the same as<dns-name>you have configured in the previous paragraph, if you did so, or simply the IP address of a server on your intranet.
Now wait until the installation completes. Once it is installed, you can proceed to read the tutorial to learn how to code with it.
Cloud Cluster Provisioning
If you have access to a cloud provider, you can set up a Kubernetes cluster in it. The Kubernetes cluster needs to satisfy certain prerequisites to be able to install OpenServerless with no issues.
We provide the support to easily configure and install a compliant Kubernetes cluster for the following clouds:
At the end of the installation you will have available and accessible a Kubernetes Cluster able to install OpenServerless, so proceed with a cluster installation.
Amazon AWS
Configure and install an Amazon EKS cluster on Amazon AWS with:
ops config eks
ops cloud eks create
then install the cluster.
Azure AKS
Configure and install an Azure AKS cluster on Microsoft Azure with:
ops config aks
ops cloud aks create
then install the cluster.
Google Cloud GKE
Configure and install a Google Cloud GKE with:
ops config gke
ops cloud gke create
then install the cluster.
Cluster Install
In short, if you have access to kubernetes cluster, you can install OpenServerless with:
ops setup cluster
For a slightly longer discussion, checking prerequisites before installing, read on.
Prerequisites to install
If you have access to a Kubernetes cluster with:
Access to the
cluster-adminroleBlock storage configured as the default storage class
The
nginx-ingressinstalledKnowledge of the IP address of your
nginx-ingresscontroller
you can install OpenServerless in it. You can read more details here.
You can get this access either by provisioning a Kubernetes cluster in cloud or getting access to it from your system administrator.
Whatever the way you get access to your Kubernetes cluster, you will end
up with a configuration file which is usually stored in a file named
.kube/config in your home directory. This file will give access to the
Kubernetes cluster to install OpenServerless.
Performing the installation
To install, first, verify you have actually access to the Kubernetes cluster, by running this command:
ops debug kube info
You should get information about your cluster, something like this:
Kubernetes control plane is running at
\https://api.nuvolaris.osh.n9s.cc:6443
Now you can finally install OpenServerless with the command:
ops setup cluster
Wait until the process is complete and if there are no errors, OpenServerless is installed and ready to go.
Once it is installed, you can proceed to read the Tutorial to learn how to code with it.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.