August 30, 2017
by Warren Van Winckel
For a little while now, the stackstorm/stackstorm docker image has been tagged with the version of StackStorm that comes pre-installed in the image. Now, you can pin your installation to a specific release of StackStorm! Images tagged with “latest” contain the most recent StackStorm release at the time it was tagged.
The stackstorm/stackstorm:2.4.0 image will always contain the 2.4.0 release of stackstorm. The previous release, 2.3.2, is available at stackstorm/stackstorm:2.3.2. We never again update stackstorm/stackstorm:2.3.2 after 2.4.0 is released. Any feature changes to st2-docker will only ever apply to the most recent stackstorm image.
I’m proud to announce that two community members have each contributed a new image to the st2-docker repository:
Thanks to @mab27, we have a Docker image called stackstorm-all that contains StackStorm and all dependent services. This may be required when you are only able to run one container, for example, in a CI test environment.
In addition, @shusugmt has contributed the stackstorm-1ppc (stands for “one process per container) Docker image, which allows you to run one service per container – a Docker best practice, following 12FA principles. Please note that in the next day or two, this image will be merged with the base stackstorm/stackstorm image. If you want to take it for a spin in the meantime, an example docker-compose.yml is in runtime/stackstorm-1ppc which uses this 1ppc image.
We have done some early testing of these images on Kubernetes, and have seen good results thus far. You’ll find example manifests under the runtime/kubernetes-1ppc directory. Using a kubernetes “Deployment”, each st2 service can be easily HA enabled by configuring number of replicas to >= 2. For example, you can increase number of Pods which run st2actionrunner by either just using kubectl scale command against st2actionrunner or adjusting the number of replicas in manifest yaml file and use kubectl apply; then all actions are load-balanced among those Pods. (Note: Some components like st2rulesengine or st2sensorcontainer need special care in HA setup, but we don’t describe further details here. See HA section of official doc.)
Currently, this is just a proof of concept but we believe Kubernetes provides an attractive option for those who require StackStorm to run in an HA environment. We greatly appreciate and encourage any PR’s with improvements.
In the next few months, we aim to:
We’re really looking forward to hearing stories about what you’re all doing with StackStorm – in particular, with these two new images. As always, find us on our #docker channel on Slack, and please submit issues or PR’s.