Docker Image for IBM Spectrum Symphony Community Edition
1M+
IBM Spectrum Symphony is an enterprise-class grid manager for compute- and data-intensive workload on a scalable, shared grid. It provides an efficient computing environment for dozens of distributed parallel applications to deliver faster results and better resource utilization.
This Docker image is a free customer-managed edition of IBM Spectrum Symphony, known as IBM Spectrum Symphony Community Edition. With this Community Edition, you can quickly configure and deploy IBM Spectrum Symphony as a Docker container application for a cluster of up to 64 cores.
7.3.2.07.3.1.0Images are designed to work with IBM Spectrum Symphony OpenShift Operator
The IBM Spectrum Symphony cluster is now installed in simplified workload execution mode, wherein system processes run only as the built-in cluster administrator user ('egoadmin'). For details on simplified mode, see Workload execution modes.
For the 'egoadmin' user, the default password ('Admin') that was previously hard-coded is now disabled. With this update, the 'egoadmin' password is randomly generated and unknown. The GENERATE_PASSWORD environment variable also becomes obsolete.
For SSH access to the client host, you must now provide a public key by setting the new SSH_PUBLIC_KEY parameter during installation.
A subdirectory for each cluster can now be created on the shared volume mount by setting the new SHARED_TOP_SUBDIR parameter during installation. This update enables a single volume to be re-used in a single pod.
Key system services now run as the built-in cluster administrator, rather than as root. With this update, access to the client host requires cluster administrator credentials (user name 'egoadmin', default password 'Admin'). Optionally, you can enable a random password to be generated for the 'egoadmin' user on each host during cluster startup and printed to the container logs by specifying the GENERATE_PASSWORD environment variable during installation.
An Apache Derby demonstration database is enabled by default to store reporting data. Reports enable you to analyze and improve the performance of your cluster and perform capacity planning. While a commercial database is required for reports in a production cluster, the derbydb database provides a ready-to-use option for testing purposes.
Component logs can be saved to a mounted shared directory when you specify the LOGS_TO_SHARED environment variable during installation. This update enables logs to be shared by containers across multiple worker nodes.
Customize your installation of IBM Spectrum Symphony Community Edition with the following environment variables:
| Environment variable | Description | Syntax | Supported version |
|---|---|---|---|
| LICENSE | (Required) Indicates acceptance of the IBM Spectrum Symphony terms and conditions. | LICENSE=accept | 7.2.0.2 or higher |
| HOST_ROLE | (Required for compute and client containers) Indicates hosts in the cluster as a compute or client host. By default, containers are deployed as management hosts. | HOST_ROLE=COMPUTE HOST_ROLE=CLIENT | 7.2.0.2 or higher |
| CLUSTER_NAME | (Optional) Specifies the name of the IBM Spectrum Symphony cluster. The default cluster name is 'symphony'. | CLUSTER_NAME=string | 7.2.0.2 or higher |
| GENERATE_SSL_CERT | (Optional for management containers) Specifies whether SSL certificates must be regenerated with the current host name/domain. | GENERATE_SSL_CERT=Y | 7.2.0.2 or higher |
| START_SSHD | (Optional for management and compute containers) Specifies whether the SSH daemon must be started in a management or compute container, enabling access to the management and compute host from the client host. | START_SSHD=Y | 7.2.0.2 or higher |
| GENERATE_PASSWORD | (Optional) Specifies whether a password must be generated for the built-in 'egoadmin' user during cluster startup. | GENERATE_PASSWORD=Y | 7.2.1 - not supported in 7.2.1.1 |
| LOGS_ON_SHARED | (Optional) Specifies whether component log files must be saved to a shared volume mount. When enabled, resource manager logs (EGO) are saved at /shared/logs/kernel/logs/, workload logs (SOAM) are saved at /shared/logs/soam/logs/, cluster management console (WEBGUI) logs are saved at /shared/logs/gui/logs/, and reporting logs (PERF) are saved at /shared/logs/perf/logs/. | LOGS_ON_SHARED=Y | 7.2.1 or higher |
| SSH_PUBLIC_KEY | (Required for client containers) Specifies the public key to access the client host over SSH. | SSH_PUBLIC_KEY="string" | 7.2.1.1 |
| SHARED_TOP_SUBDIR | (Optional) Specifies the name of the subdirectory to be created inside the shared volume mount (/shared). | SHARED_TOP_SUBDIR=string | 7.2.1.1 |
The IBM Spectrum Symphony application that is deployed is composed of several microservices, through which you access the IBM Spectrum Symphony cluster and submit workload. You can use the -p option to change the default port exposed for the following key services:
IBM Spectrum Symphony Docker container processes run as internal user 'egoadmin' with ID 1000. Ensure that the required permissions for user ID 1000 are set for the mounted volume.
Follow these steps to build your cluster with IBM Spectrum Symphony Community Edition (note that the following commands use examples for demonstration purposes; modify them as required):
NOTE: To run IBM Spectrum Symphony in a Docker container, you must define the environment variable LICENSE=accept to accept licensing terms and conditions.
Create a separate Docker network for the cluster:
docker network create symnet
Ensure that the userland-proxy parameter is disabled (docker daemon --userland-proxy=false). For more information, see Docker networking documentation.
For high availability purposes, create a shared directory to store cluster configuration files:
mkdir -p /data/cluster1
If you are creating multiple clusters, ensure that each cluster has its own shared directory.
Start one (or more) management hosts and expose the desired service ports:
docker run --privileged --rm -d --network symnet -v /data/cluster1:/shared -p 8443 -p 8543 -p 8050 -e LICENSE=accept ibmcom/spectrum-symphony
Start one (or more) compute hosts:
docker run --privileged --rm -d --network symnet -v /data/cluster1:/shared -e LICENSE=accept -e HOST_ROLE=COMPUTE ibmcom/spectrum-symphony
Optionally, start a client host with SSH access:
docker run --privileged --rm -d --network symnet -v /data/cluster1:/shared -p 2222 -e LICENSE=accept -e HOST_ROLE=CLIENT -e SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)" ibmcom/spectrum-symphony
After the application is deployed, you can access the IBM Spectrum Symphony cluster as follows (for information on accessing a 7.2.0.2 cluster, see the online IBM Knowledge Center):
From the management container, access the cluster management console on a supported browser at https://<host>:<port>/platform. When the login page appears, use the default credentials to log in to the cluster management console for the first time (user name Admin, password Admin). Once you log in, explore and start using IBM Spectrum Symphony. For details, see the Cluster management console topic in the online IBM Knowledge Center.
From the management container, access the RESTful APIs for resource management at https://<host>:<port>/platform/rest/ego/v1/. For details, see the RESTful API reference for EGO.
From the management container, access the SYMREST service for client workload submission at the base URL https://<host>:<port>/platform/rest/symrest/. Use any REST API client (for example, cURL or a browser-based plug-in) to submit API calls for authentication at https://<host>:<port>/platform/rest/symrest/v1/auth/login. After authentication, submit API calls to submit and retrieve workload at https://<host>:<port>/platform/rest/symrest/v1/clientapi. For details, see the RESTful API reference for client workload submission.
On the client container (environment variable HOST_ROLE=CLIENT), use any SSH client program to access the IBM Spectrum Symphony client host as the cluster administrator with the command ssh egoadmin@<host> -p <port>.
7.2.1.1 image, client host authentication uses the public SSH key (set in the SSH_PUBLIC_KEY variable during installation).7.2.1.0 image, when prompted for the password, use the default password 'Admin'. If you chose to generate a password for the cluster administrator, look for the 'egoadmin' password in the container logs.NOTE: For security in a production environment, it is strongly recommended that you change the default cluster management console password after you log in for the first time:
In the cluster management console header, click Log Out from the Admin drop-down list.
On the login page, click the Change password link.
Enter the default credentials for the Admin user; then, enter and confirm a new password.
Click Apply.
Access the client container over SSH and shut down the cluster from the command-line interface (see the Command-line interface topic):
soamcontrol app disable all
egosh service stop all
egosh ego shutdown all
Start the cluster again:
egosh ego start all
soamcontrol app enable <appName>
Log back in to the cluster management console with the new password.
The Programs listed below are licensed under the following License Information terms and conditions in addition to the Program license terms previously agreed to by Client and IBM. If Client has not previously agreed to license terms in effect for the Program, the International License Agreement for Non-Warranted Programs (Z125-5589-05) applies. Please review the licenses before using this program. By using this program, you agree to the terms.
Program Name (Program Number): IBM Spectrum Symphony Community Edition, 7.2.1 (Community)
For details of Separately Licensed Code and complete licensing terms, click here.
Content type
Image
Digest
Size
1.5 GB
Last updated
over 4 years ago
docker pull ibmcom/spectrum-symphony:7.3.2.0