The Web-Shell Service

On This Page

The platform includes a web-based command-line shell ("web shell") service for running application services and performing basic file-system operations from a web browser. For example, you can use the Trino CLI to run SQL queries on your data; use the TSDB CLI to work with TSDBs; use spark-submit to run Spark jobs; run local and Hadoop file-system commands; or use kubectl CLI to run commands against the platform's application clusters.

Note

Configuring the Web-Shell service

Pod Priority

Pods (services, or jobs created by those services) can have priorities, which indicate the relative importance of one pod to the other pods on the node. The priority is used for scheduling: a lower priority pod can be evicted to allow scheduling of a higher priority pod. Pod priority is relevant for all pods created by the service.
Eviction uses these values to determine what to evict with conjunction to the pods priority. See more details in Interactions between Pod priority and quality of service.

Pod priority is specified through Priority classes, which map to a priority value. The priority values are: High, Medium, Low. The default is Medium.

Configure the default User functions default priority for a service, which is applied to the service itself or to all subsequently created user-jobs in the service's Common Parameters tab, User jobs defaults section, Priority class drop-down list.

Environment Variables

You can add Environment variables to a web shell service in the Custom Parameters tab of the service. Variables defined in the service override the global environment variables.

Node selection

You can assign jobs and functions to a specific node or a node group, to manage your resources, and to differentiate between processes and their respective nodes. A typical example is a workflow that you want to only run on dedicated servers.

When specified, the service or the pods of a function can only run on nodes whose labels match the node selector entries configured for the service. You can also specify labels that were assigned to app nodes by an iguazio IT Admin user. See Setting Labels on App Nodes.

Configure the key-value node selector pairs in the Custom Parameters tab of the service.

If node selection for the service is not specified, the selection criteria defaults to the Kubernetes default behavior, and jobs run on a random node.
Node selection is relevant for all cloud services.

See more about Kubernetes nodeSelector.

Associate the web-shell service with a Spark service

You can associate the web-shell service with a Spark service and select a Kubernetes service account that determines the permissions for using the kubectl CLI from the web shell. Following is a list of the kubectl operations that can be performed with each service account:

  • None — no permission to use kubectl.
  • Log Reader — list pods and view logs.
  • Application Admin — list pods; view logs; and create or delete secrets and ConfigMaps.
  • Service Admin — list pods; view logs and resource metrics; create or delete secrets and ConfigMaps; create, delete, list, or get jobs and cron jobs; and view, edit, list, or delete Persistent Volume Claims (PVCs).

In the Custom Parameters tab, select the service from the Spark drop-down list, or press Create new.. to open the Create a new service page.

See Also