This topic tells you how Diego stages buildpack apps and Docker images in VMware Tanzu Application Service for VMs (TAS for VMs).
TAS for VMs uses Diego to manage app containers. It is a self-healing system that attempts to keep the correct number of instances running in Diego Cells to avoid network failures and crashes. For more information about Diego, see Diego Components and Architecture. For more information about Diego, see Diego Components and Architecture.
Learn about tasks and long-running processes (LRPs).
For more information about these, see the Tasks and Long-Running Processes section of the How Diego Balances App Processes topic.
To better understand the flow and caching of source bits during staging, see the How Staging Uses the Blobstore section of the Cloud Controller blobstore topic.
Learn how Diego stages buildpack apps.
The following diagram illustrates the steps and components involved in the process of staging a buildpack app. The staging process for buildpack apps includes a developer and the following components: CF Command Line, Cloud Controller (CCNG), CCNG Blobstore, CCDB, Diego Cell (Staging), and Diego Cell (Running).
The following steps describe the process of staging a buildpack app:
A developer runs cf push
.
Cloud Foundry Command Line Interface (cf CLI) tells the Cloud Controller to create a record for the app. For more information about the Cloud Controller, see Cloud Controller.
Cloud Controller stores the app metadata. App metadata can include the app name, number of instances, buildpack, and other information about the app.
This step includes:
Cloud Controller stores the app package in the blobstore. For more information, see the Blobstore section of the TAS for VMs Components topic.
The cf CLI issues a request to start the app.
This step includes:
Diego Cell streams the output of the staging process. You might need to view the output to troubleshoot staging problems.
This step includes:
Diego Bulletin Board System (BBS) reports to the Cloud Controller that staging is complete. If staging does not complete within 15 minutes, it fails.
Diego schedules the app as a LRP on one or more Diego Cells.
Diego Cells report the status of the app to the Cloud Controller.
This section describes how Diego stages Docker images.
The following diagram illustrates the steps and components involved in the process of staging a Docker image. The staging process for Docker images includes a developer and the following components: CF Command Line, Cloud Controller (CCNG), CCDB, Diego Cell (Staging), and Diego Cell (Running).
The following describe each step in the process of staging a Docker image:
A developer runs cf push
and includes the name of a Docker image in an accessible Docker Registry.
The cf CLI tells the Cloud Controller to create a record for the Docker image.
This step includes:
Diego Cell streams the output of the staging process. You might need to view the output to troubleshoot staging problems.
The task fetches the metadata associated with the Docker image and returns a portion of it to the Cloud Controller.
Cloud Controller stores the metadata in the Cloud Controller database.
This step includes:
Cloud Controller takes into account any user-specified overrides specified in the Dockerfile, such as environment variables.