Starting from the latest Workload Scheduler (TWS) version 9.4 fix pack 1, as we written in our previous post, you can deploy the dynamic agent using Docker. The product provides you a simple way to create, update and maintain your Docker image and container with Workload Automation (WA) Dynamic Agent.
Following the top five scenarios you can address using the new feature.
1. Docker WA Agent Image Creation
You can create your Docker WA Agent image with 2 steps.
From the TWS Master installer package, you get the agent-docker-kit.zip, and run the build-docker.sh script file, from your Docker server, specifying your master hostname and port, and, if you like, the name and the version of the image that will be created.
Your image is created!!!!
The scripts generate also a file: docker-compose.yml; it’s is very important, since you can use it to customize your agent.
2. Single Docker WA Agent Image Startup
Now you need one agent, and it can be started with just one command
Using this command, you will start a container with a WA Dynamic agent already configured using the customization contained in the docker-compose.yml file.
3. Multiple Docker WA Agent Images Startup
Do you need a lot of agents? Nothing is more easy.
Modify the docker-compose.yml file and delete the id of the volume in the volumes section (the default volume id is data) as following:
…and run the command:
specifying your desired number of agents to start. Docker will create a specific “volume id” for any started container/agent.
4. Elastic Scheduling
If you are looking for an elastic scale solution, with a variable number of agents available, on demand, on your workload, you can configure your WA Docker agents to do this.
In the docker-compose.yml file, you can configure the list of pools to which the agent should be associated. Therefore, all the agents, started by the container, will be associated to the pools in the TWS Master.
If you want more flexibility, you can customize additional parameters in the docker-compose.yml file:
5. Docker WA Agent Maintenance and Upgrade
What’s happened to my agents if a new Workload Scheduler release is available? You can move your agent to newer release or fix pack with few simple steps.
Create the new Docker image using the Docker file available in the new release and load the new agent package on your Master. Then, stop your old container and start the new agent using the new image.
If multiple Docker containers/agents are running, before to stop old containers and start new agents, you need to perform the following steps:
where <volume_id> is the id found in step 2. That’s all!
Are you looking forward to using the WA Docker agent? If so, we are very happy to help you on that. You can leave a comment below or connect with us on Twitter @GorgaIlaria and @p_reluigi. Additional information about the WA Docker agent, can also be found here. Another way, to interact with us or to find useful information, is through StackOverflow portal, using the tag #workload-scheduler.
Furthermore, we strongly suggest you to browse the IBM Marketplace portal and the new Workload Automation Community to learn about and try all the new TWS features, and to stay tuned for latest news. Finally, a video playlist is available to show you the most important enhancements of the latest release.
Luigi Presti is currently an Advisory Software Engineer and is working as a developer for Workload Scheduler (on-premise & SaaS), an IBM + HCL product. Luigi has been working in the Workload Scheduler team since 2006 as a Level 3 Service Specialist, acquiring a deep knowledge of customers' needs in that area. He is interested in everything that is strongly related to supporting customers in their technological challenges. He has a background in computer science technologies, in particular in the design and development of parallel and distributed software architecture for high-performance computing. He has written several publications and was a member of the Program Committee for Academic International Conferences about Software Architecture.
Ilaria Gorga has worked as a software engineer in the IBM Tivoli Rome Lab since 2008. Starting from 2016 she moved to HCL Technologies and she has worked as Senior Software Engineer on the Workload Automation Quality Assurance team. Ilaria has written several other articles ("Rational tools make testing much easier for IBM Tivoli lab in Rome", "SmarTest - IBM Tivoli Rome Lab project", "A continuous delivery process in a multitenancy environment", "Implement continuous delivery using IBM UrbanCode Deploy") and presented at conferences, such as Eclipse-IT.