Let's take a look at Nomad CLI:
$ nomad --help Available commands are: agent Runs a Nomad agent agent-info Display status information about the local agent alloc-status Display allocation status information and metadata client-config View or modify client configuration details deployment Interact with deployments eval-status Display evaluation status and placement failure reasons fs Inspect the contents of an allocation directory init Create an example job file inspect Inspect a submitted job job Interact with jobs keygen Generates a new encryption key keyring Manages gossip layer encryption keys logs Streams the logs of a task. node-drain Toggle drain mode on a given node node-status Display status information about nodes operator Provides cluster-level tools for Nomad operators plan Dry-run a job update to determine its effects run Run a new job or update an existing job server-force-leave Force a server into the 'left' state server-join Join server nodes together server-members Display a list of known servers and their status status Display the status output for a resource stop Stop a running job validate Checks if a given job specification is valid version Prints the Nomad version
Now you are probably not familiar with Nomad concepts, so let's run through them:
There is a
job, when job is submitted it creates a
deployment. Whenever you update the job configuration and submit it to cluster, it starts new deployment.
Deployment creates a group of
allocations - allocation is an instance of the app you are deploying. The deployment may be a group of N allocations.
evaluation is the process of allocating apps for a certain deployment.
Now, back to the interface.
- Why there is an
nomad alloc-statusand not
nomad alloc status?
nomad node-statusand not
nomad node [status,drain,..]?
nomad server-membersand not
nomad server status?
runare for jobs, why they are on the top level?
logsare for allocations
And now compare with the kubectl's:
kubectl [command] [TYPE] [NAME] [flags]