application manifest
An application manifest defines application deployment settings, such as the name of an application, the number of instances to deploy, the maximum memory available to an instance, the services it uses, and so on. The default name for a manifest is manifest.yml. Use of a manifest automates application deployment, allowing a user to provide deployment settings in a file rather than at the command line.
--应用部署时需要设的一些配置项。省去每次部署时在命令行一个一个的输入。
For more information, see Application Manifests.
auto-configuration
auto-configuration is the process of automatically configuring an application to connect to a service that is bound to it. In selected frameworks, Cloud Foundry can detect server and service connection parameters and update the appropriate configuration file accordingly(自动根据框架类型侵入式修改配置参数).Auto-configuration enables an application to connect to a Cloud Foundry service without the developer having to manually configure the connection settings.
--使用hibernate框架时,使用auto-configuration会自动将数据库连接信息替换为CF里的。
BOSH Agent
The BOSH Agent is a process that runs on each VM maganged by BOSH and listens for instructions from the BOSH Director. When the director assigns a job to an agent, the agent downloads the packages associated with the job from the blobstore and installs and configures them. The agent uses monit to start and stop jobs.
--BOSH远程部署的执行代理。
BOSH Blobstore
The BOSH Blobstore is an object-based cloud storage(对象-关系数据库) platform that stores the content of releases (job and package sources, and compiled packages.) The BOSH Director is the component that reads and writes to the blobstore.
--存储与App相关的那些文件资源。
BOSH CLI
Command line interface used to interact with the BOSH Director. The BOSH CLI provides commands for creating and managing a release and the artifacts it comprises.
For more information see BOSH Command Line Interface.
BOSH Director
The BOSH Director orchestrates(协调) creation of virtual machines, the compilation of packages, deployment of a Cloud Foundry instance, and storage of application packages and droplets in the blobstore.
--BOSH的控制中心?
BOSH Health Manager
Receives health status and life cycle events from the BOSH Agent and can send alerts through notification plugins, such as email.
--接收Agent上报的状态和事件,可以通知出去,提供插件式扩展通知接收。
BOSH
BOSH is an open source tool chain for release engineering, deployment, and lifecycle management of large scale distributed services. BOSH can be used to deploy Cloud Foundry, or other distributed services, on Infrastructure as a Service (IaaS) providers such as VMware vSphere, vCloud Director, Amazon Web Services EC2, and OpenStack.
--部署工具集,可用来部署CF到IaaS上。
BOSH manifest
A BOSH manifest is a YAML file that defines deployment settings for a Cloud Foundry instance including:
- VMs to be created.
- Persistent disks to be attached to each VM(VM对存储磁盘访问).
- Networks and IP addresses to be bound to each VM(VM网络资源与IP的绑定).
- Templates from the BOSH release to be applied to each VM(模板化复制到多个VM).
- custom properties to be applied to configuration files and scripts for each job template(定义job模板).
buildpack
A buildpack is a set of scripts that Cloud Foundry runs on an application package to create a droplet that contains everthing the application needs to run(负责将app打包成droplet的脚本集). (This process is referred to as staging.)A buildpack is specific to a particular framework or runtime environment(针对不同框架或环境有各自的buildpack).Cloud Foundry includes buildpacks for Ruby, Java, and Node.js; when you upload an application, Cloud Foundry examines the application artifacts to determine which buildpack to apply.Cloud Foundry can use remote buildpacks as well; you can specify the URL of the desired buildpack when running the cf push command. CF内置了ruby java node.js的buildpack,我们上传应用时,CF会检查它的类型并决定使用什么buildpack。在cf push命令时,可以使用--buildpack URL来指定使用的远程buildpack。
For more information, see Introduction to Custom Buildpacks.
CC
CCNG
Cloud Control Next Generation, or v2. See Cloud Controller.
cf
cf is a command line interface to the Cloud Controller. It uses the features of the Cloud Controller REST API to enable Cloud Foundry users to deploy and manage applications; provision, bind and manage services; and manage users, organizations, and spaces.
For more information, see cf Command Line Interface.For more information, see cf Command Line Interface.
--管理客户端
CF-Release
CF-Release is the BOSH release repository for Cloud Foundry. You use CF-Release with a manifest customized for your environment to deploy Cloud Foundry.
For more information, see Using the latest CF-Release
Cloud Controller
Cloud Controller (CC) is the Cloud Foundry component that orchestrates(协调) the processing performed by backend(后端) components, such as application staging and lifecycle management, and service provisioning and binding operations. Cloud Controller functions and features include:
- Maintainance of a database of information about applications, services, and configurable items such as organizations, spaces, users, and roles.
- Storage of application packages and droplets in the blobstore.
- Interaction, via the NATS messaging bus, with other Cloud Foundry components, including Droplet Execution Agents (DEAs), Service Gateways, and the Health Manager.
- A REST API that enables client access to backend functionality.
--协调中枢,管理CF数据库,管理blobstore的存储,与其它如DEA,HM进行通信。提供REST API供客户端访问。
Cloud Provider Interface(CPI)
A Cloud Provider Interface (CPI) is an API that BOSH uses to interact with an Infrastructure as a Service (IaaS) provider to create and manage stemcells and VMs.CPIs exist for vSphere, OpenStack, and Amazon Web Services. A CPI abstracts an underlying virtualized infrastructure from the rest of BOSH, and is fundamental to Cloud Foundry's model for deploying and running applications across multiple clouds.
--CF与IaaS的接口抽象
DEA
A Droplet Execution Agent (DEA) is a process that runs on Cloud Foundry VMs that host applications.A DEA subscribes to the messages that the Cloud Controller publishes when droplets need to be run.If the DEA host meets the runtime and RAM requirements of a droplet, the DEA responds to the Cloud Controller's request,receives the droplet, and starts it. Similarly, a DEA stops an application as requested by the Cloud Controller. A DEA keeps track of the instances it started and periodically broadcasts messages about their state using NATS。
For more information, see Droplet Execution Agent.
主要与CC与HM通信,作为CC命令的执行代理,全权负责droplet在VM上的一切操作,并负责跟踪其状态。
droplet
A droplet is the result of the application staging process, it is an uploaded application to which a buildpack has been applied. It is the original application, with a wrapper around it that accepts one input – the port where it should listen for HTTP requests, and has two methods, a start and a stop.
--staging有产物,包装所有运行的东西后,包装后的对象接收一个输入-HTTP请求端口,并且有两个方法:start与stop。
flapping
Flapping is the heath status that Cloud Foundry reports for an application that repeatedly crashes or will not start.
Health Manager
The Health Manager is a daemon that periodically scans the Cloud Controller database for the expected state of applications that have been deployed and the VMs where they run. The Health Manager compares expected state with actual state, and issues a message to the Cloud Controller when it detects a problem.
--守护进程定期检查app及VMs的状态,和数据库中存的状态进行比对,如果有问题通知给CC。
For more information see Health Manager.
Health Monitor
job
In BOSH, a job is a set of deployment and execution rules and resources for starting and running the processes for a package. Jobs are defined in deployment manifests (both for BOSH and for Cloud Foundry itself.) A job defines, either explicitly or by reference to a resource pool:
- Network settings
- Job template
- The number of instances to deploy
- Resource allocations (ram, disk, CPU )
- Jobs are also referred to as roles.
job specification
A job specification is YAML file that lists templates files, package dependencies, and properties for a job.
job template
A set of generalized configuration files and scripts for a job. The job uses Ruby ERB templates to generate the final configuration files and scripts when a Stemcell is turned into a job. A job template can be generated with the BOSH CLI.
When a configuration file is turned into a template, instance-specific information is abstracted into a property that later is provided when the Director starts the job on a VM. Information includes, for example, which port the webserver should run on, or which username and password a database should use.
menifest
See application manifest and BOSH manifest.
Micro BOTH
Micro BOSH is a VM that includes all BOSH components. Micro BOSH is used to install BOSH.
For more information see Deploying BOSH with Micro BOSH.
NATS
NATS is a publish and subscribe and distributed messaging system. Cloud Foundry components use NATS to communicate with each other.
Organization
In Cloud Foundry, an organization is a group of users that work on the same, or related, applications and services. Users in an organization can have varying permissions to resources associated with the organization. Organizations contain Spaces.
For more information see Organizations and Spaces.
package
In BOSH, a package is a collection of source code and a script for compiling and installing the package. Packages are compiled, as necessary, during deployment. The Director checks whether a compiled version of the package already exists for the stemcell version to which the package will be deployed. If not, the Director instantiates a compile VM using the same stemcell version to which the package will be deployed. This action gets the package source from the blobstore, compiles it, packages the resulting binaries, and stores the package in the blobstore. To turn source code into binaries, each package has a packaging script that is responsible for the compilation, and is run on the compile VM.
package spec
A file that specifies the name of a package, other packages upon which it depends, and the files it contains.
release
In BOSH, a release is a set of software and configuration templates that are installed on the VMs created from a stemcell.
resource pool
In a BOSH manifest, a resource pool defines the characteristics of a pool of VMs to be created, to which one or more jobs can be assigned. The attributes defined for a resource pool include the number of VMs to create and the stemcell from which to create them; the number of CPUs and the amount of RAM and disk space to configure for each VM, and so on.
Refer to Cloud Foundry Example Manifest to see resource pool definitions, and how each job in the manifest is assigned to a resource pool.
Router
The Router routes traffic coming into Cloud Foundry to the appropriate component – usually Cloud Controller or an application running on a DEA node. The router is implemented in Go. Routers listen for the messages that a DEA issues when an application comes online or goes offline, and maintain an in-memory routing table. Incoming requests are load balanced across a pool of Routers.
For more information, see Router.
Space
In Cloud Foundry, a space is a logical grouping of applications and services within an organization. Examples may include personal spaces which are similar to a user's home directory in an operating system or shared Spaces like “Development”, “Staging”, and “Production”. Users in an organization must be granted specific permissions in a Space in order to access it.
For more information see Organizations and Spaces.
staging
Staging refers to the processing performed by a DEA on an uploaded application, in accordance with the buildpack selected for use by Cloud Foundry or specified by the user. The result of the staging process is a droplet.
stemcell(干细胞)
A stemcell is a VM template with Linux and a BOSH Agent. BOSH uses a stemcell to clone a pool of VMs to which a Cloud Foundry release is deployed.
Steno
A lightweight, modular logging library written to support Cloud Foundry.
STS
Spring Tool Suite, an IDE based on Eclipse. STS supports a plugin for deploying Java applications to Cloud Foundry.
UAA
See User Account and Authentication Service.
User Account and Authentication Service (UAA)
In Cloud Foundry, the User Account and Authentication Service (UAA) provides single sign-on for web applications and secures Cloud Foundry resources. The UAA acts as an OAuth 2.0 Authorization Server. It grants access tokens to client applications for use in accessing Resource Servers in the platform, including the Cloud Controller.
For more information, see User Account and Authentication Service.
VCAP_SERVICES
An environment variable that contains connection information for all services bound to an application.
For more information, see VCAP_SERVICES Environment Variable.
--环境变量,包括一个应用的所有服务的连接信息
VMC
VMC was the command line interface in Cloud Foundry v1. cf replaced VMC in Cloud Foundry v2.
Warden
Warden is a framework within Cloud Foundry for creating and managing isolated environments on Unix. Warden provides an API and a command line interface for creating and managing containers within a VM. Containers created by Warden can be limited in terms of network access as well as CPU, memory, and disk usage.
YAML
YAML is the format used in application manifests and BOSH manifests in Cloud Foundry. For information about the YAML grammar, see www.yaml.org.