Deis' s components

Note: This article translated from Deis official documents, without any commercial purposes, reproduced please indicate the source.

Deis contains a number of components that together form a distributed PaaS. Each Deis component can be deployed as a container or as a set of containers.
Several components.

Controller (Controller)

The controller component is an HTTP API server. The Deis command line client can interact with this component.

Database components (Database)

The database component is a PostgreSQL server that is used to persist the platform state. The backup and WAL logs are pushed to the Store component .

Cache component (Cache)

The cache component is a Redis instance that will be used in the controller and registry.

Builder

Builder uses the Git server to handle the construction of the application . The steps are:
1. Accept the git push request from SSH
2. Authenticate the user with the SSH key
3. Authorize user Git repository write permission
4. Build a new Docker image based on the updated Git repository
5. Add the latest configuration to the final Docker image
6. Push the image to the platform's registration center
7. Create a new release on the controller Once the new release is generated, the new container is automatically deployed on the platform.

Registry

Save the Docker image. The mirrored data is stored in the store .

Logspout

The Logspount component is a customized progrium's logspount that runs on the host of the CoreOS cluster and collects logs from the running container, and finally sends the log to the log component .

Logger

The Logger component is actually a syslog server, which can be used to collect logs from Logspout . The data can be queried by the control component .

Publisher

The Publisher component is a micro service written in the Go language that can publish the container to etcd and expose it to the platform's router .

Router

The routing component uses Nginx to route traffic to the application container.

Store (store)

The storage component uses Ceph to save the Deis components that need storage status, including Registry , Database , Logger .

Heads up! This alert needs your attention, but it's not super important.