Show HN: Kontena – Docker Platform Written in Ruby(kontena.io)
kontena.io
Show HN: Kontena – Docker Platform Written in Ruby
http://www.kontena.io
20 comments
The biggest feature I'm missing in docker-compose is the ability to do zero downtime deployment (spawning a new container for a service while maintaining the old one up until the new one is ready would be enough).
Does Kontena allow this?
Does Kontena allow this?
Yes it does. Additionally if your service has more than 1 instance then Kontena will replace each instance one-by-one when deploying. You can even define that Kontena will wait for given port before moving to next instance.
Oh wow, that's awesome. I'm sold :)
Thanks!
Edit: btw, you should probably advertise this more on the home page, I'm pretty sure zero downtime is a big no go for many when it comes to docker-compose, especially rails users used to it with unicorn.
Thanks!
Edit: btw, you should probably advertise this more on the home page, I'm pretty sure zero downtime is a big no go for many when it comes to docker-compose, especially rails users used to it with unicorn.
That's true. There are still lot's of hidden features that we should mention somewhere. We are currently improving our documentation, so hopefully things are better soon.
And thanks for feedback, it is always appreciated and motivating us to make it better!
And thanks for feedback, it is always appreciated and motivating us to make it better!
You might find dokku or dokku-alt interesting.
Have services like Dokku, Empire(as nohaxplz pointed out) and now Kontena reached Heroku like convenience? I want to skip the dev ops but 500$ a month for an server with only 6 gigs of memory seems insane. If any dev here want to share there experience with any or all of them I would be happy to hear it.
There is a Dokku "application" VM you can one-click install on Digital Ocean. It's nearly identical to Heroku in terms of convenience and significantly better in price. For simple projects you might normally relegate to a Hobby tier or 1-2 dynos in Heroku, I would consider it a perfect fit.
There's also dokku-alt[0], which is "dokku on steroids" (it really is)
[0] https://github.com/dokku-alt/dokku-alt
[0] https://github.com/dokku-alt/dokku-alt
You are just miserly not willing to pay for a convenient service :-) No offense. You can't justify that spending wit yourself.
This looks very interesting, comparable to empire and other heroku-like tools.
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?
Stateful containers do not move automatically across nodes but we are looking to integrate something like ClusterHQ Flocker (or implement our own using the new Docker plugin api).
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.
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.
Does this replace Ansible or Docker or Chef?
I'm not sure what this is used for, but it looks really interesting! Appreciate the additional information.
I'm not sure what this is used for, but it looks really interesting! Appreciate the additional information.
Kontena does not replace Docker. It's a management and orchestration layer on the top of Docker. With Kontena you can manage and deploy your Docker applications.
Kontena applications can be described in YAML file (kontena.yml). Kontena.yml extends docker-compose.yml format by introducing some new attributes only supported in Kontena, for example scale of a service and deploy specific attributes.
A Service definition describes the container image, networking, scaling and stateful/stateless attributes for your application. Services may be linked together to create desired architecture. Each service is automatically assigned with internal DNS address that can be used inside your application for inter-Service communications.
The summary of Kontena key features:
* Scheduler with affinity filtering
* Built-in private Docker image registry
* Remote VPN access for workload services
* Virtual Networking Built-In
* Ready made load-balancing service
* Log and statistics aggregation with streaming
* Access control and roles for Kontena users
Kontena applications can be described in YAML file (kontena.yml). Kontena.yml extends docker-compose.yml format by introducing some new attributes only supported in Kontena, for example scale of a service and deploy specific attributes.
A Service definition describes the container image, networking, scaling and stateful/stateless attributes for your application. Services may be linked together to create desired architecture. Each service is automatically assigned with internal DNS address that can be used inside your application for inter-Service communications.
The summary of Kontena key features:
* Scheduler with affinity filtering
* Built-in private Docker image registry
* Remote VPN access for workload services
* Virtual Networking Built-In
* Ready made load-balancing service
* Log and statistics aggregation with streaming
* Access control and roles for Kontena users
feels like it's doing container cluster management (ala kubernetes) and provides a simple way for orchestration (like heat for openstack)
How does this compare to Docker's fig-based orchestration solution??
http://jisho.org/word/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A