Kontena is an open source container platform that aims to maximize developer happiness. It uses CoreOS as the underlying OS and handles orchestration of containerized workloads across multiple nodes through tools like etcd for service discovery, Weave Net for the overlay network, and automated updates. Initially setting up etcd and the overlay network posed challenges, but Kontena's implementation addresses these by running etcd in containers only accessible via localhost/overlay network and having the master coordinate etcd discovery and network configuration. CoreOS and its bundled tools provide an ideal minimal base for containers, but Kontena abstracts away its complexity through automation and orchestration.
4. How does it work?
Kontena Grid
A number of physical or virtual machines – Kontena Nodes –
create a Kontena Grid. The nodes may be located anywhere;
in single data center, different AZs or different cloud
providers.
Overlay Network
Kontena will automatically create an overlay network
powered by Weave and connect all nodes of a Grid. Overlay
network enable services to communicate with each other in
multi-host, multi-AZ environment.
Service Discovery
Kontena has a built-in service discovery powered by etcd. It is
used to automatically assign DNS addresses for any services
running in Kontena. It is also used by Kontena’s load
balancer for zero-downtime operation.
Orchestration
Kontena’s orchestrator is distributing, running and
monitoring all Kontena Services in a Grid. Services may be
stateless or stateful, and they are automatically distributed
across Nodes in a Grid.
Containerized Workloads
With Kontena, all containerized workloads are described as
Services. Kontena Service is composed of containers based
on the same image file. Services may be scaled and linked
together to create complex elastic apps.
OS
Docker
Kontena Nodes & Agent
Kontena Agent may be installed to any
machine capable of running Docker. It
is running as a privileged container in a
machine.
Kontena Master
Kontena Master is orchestrating the
entire Kontena system. It provides APIs
used by Kontena CLI, Web UI and third
party integrations.
Kontena Master may be installed as
high-availability setup if needed.