The Nuclio CLI (nuctl)
Overview
nuctl
is Nuclio's command-line interface (CLI), which provides command-line access to Nuclio features.
Download and Installation
To install nuctl
, simply visit the Nuclio releases page and download the appropriate CLI binary for your environment (for example, nuctl-<version>-darwin-amd64 for a machine running macOS).
You can use the following command to download the latest nuctl
release:
curl -s https://api.github.com/repos/nuclio/nuclio/releases/latest \
| grep -i "browser_download_url.*nuctl.*$(uname)" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -O nuctl -qi - && chmod +x nuctl
Usage
After you download nuctl
, use the --help
option to see full usage instructions:
nuctl --help
The running platform
nuctl
automatically identifies the platform from which it's being run.
You can also use the --platform
CLI flag to ensure that you're running against a specific platform, as explained in this reference:
Local Docker
To force nuctl
to run locally, using a Docker daemon, add --platform local
to the CLI command.
For an example of function deployment using nuctl
against Docker, see the Nuclio Docker getting-started guide.
Kubernetes
To force nuctl
to run against a Kubernetes instance of Nuclio, add --platform kube
to the CLI command.
When running on Kubernetes, nuctl
requires a running registry on your Kubernetes cluster and access to a kubeconfig file.
For an example of function deployment using nuctl
against a Kubernetes cluster, see the Nuclio Kubernetes getting-started guide.
Invoking a function using nuctl on Kubernetes
While in most cases using nuctl
on the local Docker platform enables you to invoke your function by running the nuctl invoke
command on the host, on a Kubernetes platform this is a bit trickier and will most likely not work
by default for some configurations.
This means, for example, that the nuctl invoke
command won't work unless your function is explicitly exposed or is reachable from wherever you run nuctl invoke
.
For more information, see Exposing a function.
For your convenience, when deploying a function using nuctl
you can easily expose the function via a NodePort
by using the --http-trigger-service-type=nodePort
CLI option.