IBM Cloud Docs
运行工作空间应用

运行工作空间应用

Schematics 使用工作空间来部署和管理 IBM Cloud® 帐户中的资源。

IBM Cloud Schematics 使您能够全局部署和管理任何 IBM Cloud 位置或区域中的资源。 您创建和使用 Schematics 工作空间和操作的区域与部署或配置云资源的区域无关。

IBM Cloud Schematics 从托管工作空间的 Schematics 区域运行作业,并远程访问服务以在 Terraform 模板确定的目标区域中供应资源。 远程区域中的工作空间操作不受管理区域与目标区域之间的网络等待时间影响。

IBM Cloud Schematics 不推荐使用旧版本的 Terraform。 有关更多信息,请参阅 在 IBM Cloud Schematics

IBM Cloud Schematics 不推荐使用 2024 年 4 月 2nd 周的 IBM Cloud Provider Plug-in for Terraform v1.2和 v1.3 模板来创建工作空间。

准备工作

在列出 Schematics 工作空间和操作时,请确保 locationurl 端点指向同一区域。 有关位置和端点的更多信息,请参阅 信息存储位置?

  • 对工作空间运行 Schematics 应用作业。 应用工作规定,修改或删除您在工作区指向的 Terraform 模板中描述的云资源。 根据您要配置或修改的资源类型和数量,此过程可能需要几分钟或几小时才能完成。 在此期间,您无法编辑工作空间。 在应用所有更新后,文件的状态将保持不变,以确定您的 IBM Cloud 账户中有哪些资源。

使用 UI 执行工作空间应用

  1. 登录 IBM Cloud控制台
  2. 单击菜单图标汉堡包图标>平台自动化>Schematics>Terraform
  3. 在特定位置搜索工作区,然后点击工作区名称。
  4. 单击 应用计划 以供应已配置的资源。

验证工作空间应用

  1. 单击 IBM Cloud 控制台 中列出的工作空间,以查看工作空间应用作业的结果。

使用 CLI 执行工作空间应用

  1. 在系统上创建 JSON 文件,以将参数传递到 Schematics 以运行工作空间应用。 有关配置选项的更多信息,请参阅 ibmcloud schematics workspace new 命令。

    示例

    {
     "name": "testwspace31jan",
     "type": [
         "terraform_v1.4"
     ],
     "description": "terraform workspace",
     "location": "us-east",
     "tags": [
         "department:HR",
         "application:compensation",
         "environment:production"
     ],
     "template_repo": {
         "url": "https://github.com/Anil-CM/newrepo"
     },
     "workspace_status": {
         "frozen": true
     },
     "template_data": [
         {
             "folder": ".",
             "type": "terraform_v1.4",
             "variablestore": [
                 {
                     "name": "sample_var",
                     "secure": true,
                     "value": "THIS IS IBM CLOUD TERRAFORM CLI DEMO",
                     "description": "Description of sample_var"
                 },
                 {
                     "name": "sleepy_time",
                     "value": "15"
                 }
             ]
         }
     ]
    }
    

    语法

    ibmcloud schematics apply --id <Provide your workspace ID>
    
  2. 应用工作空间。 有关 apply 参数标志的更多信息,请参阅 ibmcloud schematics apply 命令。

    ibmcloud schematics apply --id <workspace_id>
    
  3. 验证您的工作空间应用是否已成功执行。 确保工作空间处于 不活动 状态。

    ibmcloud schematics workspace list
    
  4. 请参考 《 使用 Schematics 管理云资源 》查看工作日志。

验证工作空间部署

执行 CLI 命令以检查工作空间部署的状态是否成功。

```text {: screen}
ibmcloud schematics apply --id us-east.workspace.testwspace01feb.b5e8fdaa
Do you really want to perform this action? [y/N]> Y

Activity ID   df51c0e61a020592d3403a05d08692d7   

OK
```

成功计划时,将返回现有工作空间的更新详细信息。

有关常见问题的更多信息,请参阅 故障诊断部分

使用 API 执行工作空间部署

  1. 执行 步骤 以检索 IAM 访问令牌并使用 API 向 IBM Cloud Schematics 进行认证。

  2. 对现有工作空间执行部署。

    示例

    
    	PUT /v1/workspaces/{w_id}/apply HTTP/1.1
    	Host: schematics.cloud.ibm.com
    	Content-Type: application/json
    	Authorization: <auth-token>
    	Cache-Control: no-cache
    	Postman-Token: 77ef7f05-7290-0b60-781c-f8c147c78ed2
    
    	{
    		"name": "testworkspacejanATTest",
    		"type": [
    			"terraform_v1.4"
    		],
    		"description": "terraform workspace",
    		"tags": [
    			"test:bbbranch"
    		],
    		"template_repo": {
    			"url": "https://github.com/srikar-git/tf_cloudless_sleepy/tree/v0.13"
    		},
    		"template_data": [{
    			"folder": ".",
    			"type": "terraform_v1.4",
    
    		"variablestore": [
    		{
    		"value": "12",
    		"name": "sleepy_time",
    		"type": "string"
    		}
    	]
    		}]
    	}
    
  3. 验证工作空间部署是否列出了创建的所有工作空间作业。

    curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
    
  4. 请参阅 使用 Schematics 管理云资源,开始使用Terraform创建、更新或删除云资源。

验证工作空间部署

验证是否已成功部署工作空间,如输出中所示。

Output

```text {: screen}
{
	"activityid": "a75d99109c80291faead70225b5409ee"
}
```

成功应用工作空间时,将返回在工作空间上执行的作业活动标识。 有关更多信息,请参阅 故障诊断部分

使用 Terraform 执行工作空间部署

  1. 遵循 为 Schematics 中的步骤以使用 Terraform 创建工作空间。

  2. 请参阅 使用 Schematics 管理云资源,使用Terraform创建、更新或删除云资源。

后续步骤

要管理工作空间,请参阅 部署工作空间销毁工作空间删除工作空间