Install in an AWS EKS Cluster
Before starting this guide you need an account in AWS and configure CLI access
Create an AWS EKS cluster
If you do not have already an EKS cluster for installing Nuvolaris, you need to create one. There are many ways to create an EKS cluster. In this guide we recommend using the eksctl
tool.
Start following this guide to install it.
Once you have it installed, you need to launch an instance with at least one worker node with at least 4GB of memory.
Also the cluster needs to have the EBS block storage plugin enabled.
You can adapt this eksctl
configuration file to create a suitable cluster for Nuvolaris:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: nuvolaris-cluster region: eu-central-1 iam: withOIDC: true nodeGroups: - name: ng-1 instanceType: m5.large desiredCapacity: 1 volumeSize: 80 ssh: publicKeyPath: id_rsa.pub iam: withAddonPolicies: ebs: true addons: - name: aws-ebs-csi-driver
Note it is using here (and you should adapt to your needs):
-
the region
eu-central-1
, you can pick one closer to you -
instances of type
m5.large
, you can pick a different type -
the
desideredCapacity
is of only 1 worker node, you can add more -
the
volumeSize
is of 80 GB, pick your size
Copy and edit the configuration file as eks-cluster.yaml
.
Then you launch the actual cluster creation with:
eksctl create cluster -f eks-cluster.yml
It will take a while. Once the cluster is created you can retrieve the configuration to access it and check if the access works with:
eksctl utils write-kubeconfig --cluster=nuvolaris-cluster kubectl get nodes
You should see something like this:
NAME STATUS ROLES AGE VERSION ip-192-168-42-140.eu-central-1.compute.internal Ready <none> 34d v1.22.6-eks-7d68063
Retrieve your Kubernetes context
If you installed Kubernetes following the instructions of your cloud provider, it will be accessible with the kubectl
tool.
You can generally have more contexts to access multiple Kubernetes at the same time. Each Kubernetes is a different context. You can see the available contexts with the command kubectl config get-contexts
.
Pick the name of the <kubernetes-context>
corresponding to the cluster you want to install Nuvolaris.
Installing Nuvolaris with nuv
Now you are ready to install Nuvolaris.
Copy the <url-address>
of the latest version of the installer from this page.
Then download and unpack it (replace <url-address>
with the actual URL address):
curl -sL <url-address> | tar xzvf - install nuv /usr/local/bin/nuv nuv -v
If the download went ok, you should see the version number of the installer.
nuv setup --context=<kubernetes-context> --apihost=auto
The installation can take a few minutes to complete, mostly because a number of large Docker images must be downloaded. If you are curious, you can check what is happening on the Kubernetes cluster running (in another terminal) the command watch kubectl get po,svc
.
Accessing the serverless environment remotely
Now that your serverless environemnt is ready you can access it from anywhere, using the configured apihost
and auth
key.
Type nuv wsk property get
. It will show something like this:
whisk API host <apihost> whisk auth <auth> whisk namespace nuvolaris whisk API version v1 whisk CLI version v0.2.0-trinity.22061015 whisk API build 2021-12-29T12:28:02+0000 whisk API build number 67b3e50
Take note of the values <apihost>
and <auth>
as you wil need it to access your serverless environment remotely.
Now you can download the nuv
tool elsewhere, and connect to your serverless environment with:
nuv wskprops --apihost=<apihost> --auth=<auth>
Once the installation is completed, proceed reading Apache OpenWhisk documentation, remembering to use nuv wsk
when you see wsk
.
If something goes wrong, please check the troubleshooting page.