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}
继续为开发者分配 SpaceManager
或 SpaceDeveloper
角色。您可以使用 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 marketplace
或 cf m
列出所有可用的后端服务及其相关计划。选择所需服务,并使用 cf create-service {service_name} {plan} {service_instance}
创建一个新实例。接下来,您可以将此服务与某个应用绑定。
使用 cf service {service_instance}
获取有关服务实例的详细信息。
绑定服务实例¶
使用 cf bind-service {app_name} {service_instance}
将服务绑定到与该服务在同一空间运行的某个应用。绑定后,服务凭证可用作环境 variable,并可在您的应用中使用。
备份和恢复服务实例¶
您可以使用服务 URL 访问后端服务仪表盘,以及备份实例和恢复旧实例。
启用共享服务实例¶
- 导航到创建您的服务实例的 Cloud Foundry 空间。
- 使用
cf share-service {service_instance} -s {another_space}
与{another_space}
共享服务。
信息
- 为了在空间中共享服务实例,您需要在两者空间中拥有 Space Developer 角色。
- 您不能将服务实例与已经存在同名服务实例的空间共享。
注意
在将服务实例绑定到多个应用时,请避免服务实例过载。请参考各自自的服务计划规范。
禁用共享服务实例¶
- 导航到创建您的服务实例的 Cloud Foundry 空间。
- 使用
cf unshare-service {service_instance} -s {another_space}
禁用与{another_space}
共享服务。
信息
- 您需要在运行服务实例的空间中使用 Space Developer 角色来禁用其共享。
- 您无法删除服务实例当这个实例正在与另一个空间共享。
注意
取消共享服务实例将删除与它共享的空间中应用的所有绑定。这可能会导致应用失败。在取消共享服务实例之前,运行 cf service {service_instance}
命令以查看服务实例共享的空间中是否存在绑定。
在 MindSphere Operator Cockpit 中共享 Backing Service¶
- 登陆到 Cloud Foundry:
cf login -a https://api.cf.{region}.{mindsphere-domain} --sso
- 选择您的 Cloud Foundry org:
cf target -o {org_name}
-
创建新空间:
cf create-space {space_name}
信息
要使用 Operator Cockpit 的自动部署功能,
{space_name}
必须和要注册的应用名称一致。 -
切换到服务实例要共享的空间:
cf target -s {service_instance_space_name}
- 分享带有新空间的服务实例:
cf share-service {service_instance} -s {space_name}
服务实例的名称在所有空间中一致。请确保该实例在 manifest 文件中正确设置。 - 在新的空间中部署您的应用并将服务实例绑定到应用。
注意
禁止跨多个组织共享服务实例,在将来可能会被阻止。
创建用户提供的服务¶
有关如何创建和使用这些服务,请参见官方 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