The stateful containers in particular seem interesting, and are implemented with data containers. How does the data in the data container stay persistent across nodes?
How does this manage service discovery? What about scaling?
The stateful containers in particular seem interesting, and are implemented with data containers. How does the data in the data container stay persistent across nodes?
How does this manage service discovery? What about scaling?
For the service discovery part Kontena has builtin dns server. Each service will get their own dns name: <service_name>.kontena.local. And within a service you can point to individual container using <service_name>-<number>.kontena.local. Latest version (0.7) also introduced grid wide etcd so your application can also use that for custom service discovery.
Scaling is handled so that you can easily join new nodes to grid. Services support scaling so you basically just have to define how many service instances you want and Kontena scheduler will deploy instances (containers) across nodes.