Using SCALE Apps
4 minute read.Last Modified 2021-03-05 14:50 EST
Both pre-built official containers and custom application containers can be deployed using the Apps page in the Scale web interface.
The UI will ask to use a storage pool for Applications.
It is recommended to keep the container use case in mind when choosing a pool. Select a pool that has enough space for all the application containers you intend to use. This creates an ix-applications dataset on the chosen pool and use this location to store all container-related data.
Additional options for configuring general network interfaces and IP addresses for application containers are in Apps > Settings > Advanced Settings.
Official containers are pre-configured to only require a name during deployment.
When the container is deployed and active, a button to open the application web interface becomes available.
Editing a deployed official container allows adjusting the container settings. Saving any changes redeploys the container.
To deploy a custom application container in the Scale web interface, go to Apps and click Launch Docker Image.
There a numerous options for custom containers that are broken down into smaller sections. These options are derived from the Kubernetes container options.
Define any commands and arguments to use for the image. These can override any existing commands stored in the image.
You can also define additional environment variables for the container. Some Docker images can require additional environment variables. Be sure to check the documentation for the image you’re trying to deploy and add any required variables here.
To use the system IP address for the container, set Host Networking. The container will not be given a separate IP address and the container port number will be appended to the end of the system IP address. See the Docker documentation for more details.
If needed, additional network interfaces can be created for the container. Each new interface can be given static IP addresses and routes.
By default, the DNS settings from the host system are used for the container. You can change the DNS policy and define separate nameservers and search domains. See the Docker DNS services documentation for more details.
Additional Persistent Volumes (PVs) can be created for storage within the container. These consume space from the pool that was chosen for Application management. You will need to name each new dataset and define a path where that dataset appears inside the container.
To view created container datasets, go to Storage and expand the pool used for applications.
Saving an official or custom container adds a new entry to Installed Applications. The container enters a deploy status as it fetches the image from the remote repository and configures it. When deployment is complete, the container moves to an active status and can be used.
To access the shell in an active container, first identify the namespace and pod for the container. In the Scale UI, go to System Settings > Shell to begin entering commands:
- View container namespaces:
k3s kubectl get namespaces.
- View pods by namespace:
k3s kubectl get -n <NAMESPACE> pods.
- Access container shell:
k3s kubectl exec -n <NAMESPACE> --stdin --tty <POD> -- /bin/bash.
- View details about all containers:
k3s kubectl get pods,svc,daemonsets,deployments,statefulset,sc,pvc,ns,job --all-namespaces -o wide.
- Get container status:
k3s kubectl describe -n <CONTAINER NAMESPACE> <POD-ID>.