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.
- HeheCloud cluster build guide
- Deis document management Deis platform monitoring
- 【Deis document】 contribution to the release list
- 【Deis document】 contribution to the list of PR
- Deis uses Docker to use the image
- Deis installed Google Compute Engine
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 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.
Save the Docker image. The mirrored data is stored in the store .
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 .
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 .
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 .
The routing component uses Nginx to route traffic to the application container.
The storage component uses Ceph to save the Deis components that need storage status, including Registry , Database , Logger .