Skip to content

Cloud Foundry 指南

本部分将介绍管理 Cloud Foundry 环境的常见活动。此集合仅涵盖 Cloud Foundry 的某些方面,不能取代官方文档。

空间管理

添加新用户

注册初始账户后,系统将对租户所有者在其租户 Cloud Foundry Org 中分配 Org 管理角色。之后,租户所有者可以通过 Cloud Foundry CLI 为新用户分配角色。

注意

添加新用户的先决条件:

信息

租户角色和 Cloud Foundry 角色不同,需要单独分配。

更改用户权限

用户可以拥有一个或多个角色。这些角色共同定义了用户在 Org 以及该 Org 中特定应用空间内的总体权限。

使用以下命令管理 Org 级别的用户。

功能 命令 示例
查看账户内的组织 cf orgs cf orgs
按角色查看组织中的所有用户 cf org-users {org_name} cf org-users my-mindsphere-org
为用户分配 Org 角色 cf set-org-role {user_name} {orgN_name} {role} cf set-org-role Alice my-mindsphere-org OrgManager
从用户中删除 Org 角色 cf unset-org-role {user_name} {org_name} {role} cf unset-org-role Alice my-mindsphere-org OrgManager

上述操作仅用于分配特定空间的访问权限。

功能 命令 示例
查看 Org 中的空间 cf spaces cf spaces
按角色查看组织中的所有用户 cf space-users {org_name} {space_name} cf space-users my-mindsphere-org development
为用户分配空间角色 cf set-space-role {user_name} {org_name} {space_name} {role} cf set-space-role Alice my-example-org development SpaceAuditor
从用户中删除空间角色 cf unset-space-role {user_name} {org_name} {space_name} {role} cf unset-space-role Alice my-mindsphere-org development SpaceAuditor

创建新空间

使用 cf create-space {space_name} 在您的 Org 中创建新空间。接下来,您可以使用 cf set-space-role {user_name} {org_name} {space_name} {role} 继续为开发者分配 SpaceManagerSpaceDeveloper 角色。您可以使用 cf space-users 列出空间的所有用户。

给空间分配用户

使用 cf set-space-role {user_name} {org_name} {space_name} {role} 将用户添加到空间。

获取我的 Org 的当前使用率

使用 cf org {org_name} 命令以获取有关您的 Org 的信息。

服务实例

创建服务实例

MindSphere 提供了多种可用于应用程序开发和操作的后端服务。这些服务在专用虚拟机上进行管理和配置。根据您的 Org 配额和设置,您可以创建多个服务实例。每个实例均与描述了硬件、功能和实例数量(如群集实例)的后端服务计划相关。

服务实例始终与特定空间绑定,不能跨多个空间使用。Cloud Foundry 的这种设计可确保子环境相互隔离。 使用 cf marketplacecf m 列出所有可用的后端服务及其相关计划。选择所需服务,并使用 cf create-service {service_name} {plan} {service_instance} 创建一个新实例。接下来,您可以将此服务与某个应用绑定。

使用 cf service {service_instance} 获取有关服务实例的详细信息。

绑定服务实例

使用 cf bind-service {app_name} {service_instance} 将服务绑定到与该服务在同一空间运行的某个应用。绑定后,服务凭证可用作环境 variable,并可在您的应用中使用。

备份和恢复服务实例

您可以使用服务 URL 访问后端服务仪表盘,以及备份实例和恢复旧实例。

启用共享服务实例

  1. 导航到创建您的服务实例的 Cloud Foundry 空间。
  2. 使用 cf share-service {service_instance} -s {another_space}{another_space} 共享服务。

信息

  • 为了在空间中共享服务实例,您需要在两者空间中拥有 Space Developer 角色。
  • 您不能将服务实例与已经存在同名服务实例的空间共享。

注意

在将服务实例绑定到多个应用时,请避免服务实例过载。请参考各自自的服务计划规范

禁用共享服务实例

  1. 导航到创建您的服务实例的 Cloud Foundry 空间。
  2. 使用 cf unshare-service {service_instance} -s {another_space} 禁用与 {another_space} 共享服务。

信息

  • 您需要在运行服务实例的空间中使用 Space Developer 角色来禁用其共享。
  • 您无法删除服务实例当这个实例正在与另一个空间共享。

注意

取消共享服务实例将删除与它共享的空间中应用的所有绑定。这可能会导致应用失败。在取消共享服务实例之前,运行 cf service {service_instance} 命令以查看服务实例共享的空间中是否存在绑定。

在 MindSphere Operator Cockpit 中共享 Backing Service

  1. 登陆到 Cloud Foundry: cf login -a https://api.cf.{region}.{mindsphere-domain} --sso
  2. 选择您的 Cloud Foundry org: cf target -o {org_name}
  3. 创建新空间: cf create-space {space_name}

    信息

    要使用 Operator Cockpit 的自动部署功能,{space_name} 必须和要注册的应用名称一致。

  4. 切换到服务实例要共享的空间:
    cf target -s {service_instance_space_name}

  5. 分享带有新空间的服务实例:
    cf share-service {service_instance} -s {space_name}
    服务实例的名称在所有空间中一致。请确保该实例在 manifest 文件中正确设置。
  6. 在新的空间中部署您的应用并将服务实例绑定到应用。

注意

禁止跨多个组织共享服务实例,在将来可能会被阻止。

创建用户提供的服务

有关如何创建和使用这些服务,请参见官方 Cloud Foundry 文档:

警告

注意!在使用此功能前,请务必了解该功能的安全性和操作产生的影响。建议您使用限制性防火墙设置或设置对等连接。

后台任务/进程

Cloud Foundry 支持运行后台进程,例如数据处理。这些后台进程是正常的 Cloud Foundry 应用,但没有路由。因此,需要使用 --no-route 参数来推送应用或在 manifest.yml 中将其设置为属性。

警告

如果您忘记禁用该路由,Cloud Foundry 在执行定期健康检查时会失败。由于不能进行健康检查,Cloud Controller 将停止您的应用。

详情请参见官方文档:

堆栈

堆栈是预先构建的根文件系统并支持特定的操作系统。基于 Linux 的系统需要在其根下有 /usr/bin 目录。

查找应用使用哪个堆栈

以下 Cloud Foundry Stacks 目前可用:

  • cflinuxfs3: 基于 Ubuntu Bionic 18.04
  • cflinuxfs2: 弃用,并基于 Ubuntu Trusty 14.04

我们建议您始终使用最新可用的堆栈。您可以使用以下命令找出您的应用正在使用的堆栈:

cf app app_name
命令行将列出应用的摘要,包括使用的堆栈:

Showing health and status for app app_name in org org_name / space space_name as john.doe@mindsphere.io...

name:              app_name
requested state:   started
instances:         1/1
usage:             500M x 1 instances
routes:            app_name-posthumeral-streptomycin.apps.eu1.mindsphere.io
last uploaded:     Thu 21 Feb 12:37:11 CET 2019
stack:             cflinuxfs3
buildpack:         staticfile_buildpack

    state     since                  cpu    memory         disk         details
#0  running   2019-02-25T14:13:14Z   0.0%   1.5M of 500M   6M of 512M

更新应用的堆栈

若要将堆栈更改为 cflinuxfs3,请在Single Manifest文件中添加堆栈属性或使用以下命令:

cf push app_name -s cflinuxfs3

push 命令会导致应用重新运行,并确保更新所有静态链接的依赖项。

应用通过哪个 IP 访问 Internet

在 Cloud Foundry 上运行的 MindSphere 应用通过 NAT 网关访问 Internet,该网关使用以下 IP 地址:

  • 在 Europe 1/ Europe 2:

    35.156.223.10
    18.194.162.141
    18.194.195.179
    
  • 在 China 1:

    101.132.123.180
    106.15.159.73
    47.102.201.47
    47.102.210.119
    

Last update: March 22, 2023