如何编写配置 Spinnaker 资源的脚本?
How can I script the provisioning Spinnaker resources?
我们正在评估 Spinnaker 的采用情况,想了解 API 哪些内容可用于创建 Spinnaker 资源?如果我想 script/templatize 在 Spinnaker 中创建我的应用程序,最好的方法是什么?
据我所知,目前最好的办法是编写脚本在 Spinnaker 之外创建您的基础设施(例如 CloudFormation),从您的 AWS 帐户加载它,然后保留一个管道库 JSON 文件可以 copy/pasted 到 JSON 形式的管道,将在后面添加。
您可以通过 Spinnaker UI 管理的所有项目(服务器组、负载均衡器、安全组、应用程序、项目、管道)都可以通过 Spinnaker 的 REST API 编写脚本。目前缺少 API 文档(但即将推出,敬请期待)。现在,您可以通过开发人员工具观看 UI 与 API 的网络交互,以获取示例负载。
对于其他更静态的云基础设施(VPC、子网等),我们并没有真正通过 Spinnaker 的故事 API,建议查看 Terraform 或 CloudFormation
文档似乎已过时。我在使用管道模板创建管道时遇到了类似的问题。它使用 Deck(UI) 工作正常,因为 https://www.spinnaker.io/reference/pipeline/templates/#pipeline-json 中描述的管道 json 不起作用。
使用 UI 从管道模板创建管道后,我分析了有效载荷并意识到文档缺少有效载荷中的某些字段。下面给出的有效载荷对我来说效果很好。我建议相同,您应该在浏览器中通过 UI 分析有效负载并将其用作参考。
{
"schema": "v2",
"template": {
"artifactAccount": "front50ArtifactCredentials",
"reference": "spinnaker://k8s-bake-approve-deploy-s3-23-oct:latest",
"type": "front50/pipelineTemplate"
},
"application": "v2poc",
"name": "test-6",
"triggers": [],
"type": "templatedPipeline",
"stages": [],
"variables": {
"namespace": "default",
"docker_registry": "docker.io",
"k8s_account": "my-k8-account",
"helm_package_s3_object_path": "s3://spin-helm/node-1.0.0.tgz",
"helm_override_file_s3_object_path": "s3://spin-helm/values.yaml",
"docker_registry_org": "athakur",
"docker_repository": "athakur/node",
"hal_s3_account": "my-s3-account",
"hal_docker_registry_account": "my-docker-registry",
"docker_image_tag": "0.1.0",
"spinnaker_application": "v2poc"
},
"exclude": [],
"parameterConfig": [],
"notifications": []
}
我们正在评估 Spinnaker 的采用情况,想了解 API 哪些内容可用于创建 Spinnaker 资源?如果我想 script/templatize 在 Spinnaker 中创建我的应用程序,最好的方法是什么?
据我所知,目前最好的办法是编写脚本在 Spinnaker 之外创建您的基础设施(例如 CloudFormation),从您的 AWS 帐户加载它,然后保留一个管道库 JSON 文件可以 copy/pasted 到 JSON 形式的管道,将在后面添加。
您可以通过 Spinnaker UI 管理的所有项目(服务器组、负载均衡器、安全组、应用程序、项目、管道)都可以通过 Spinnaker 的 REST API 编写脚本。目前缺少 API 文档(但即将推出,敬请期待)。现在,您可以通过开发人员工具观看 UI 与 API 的网络交互,以获取示例负载。
对于其他更静态的云基础设施(VPC、子网等),我们并没有真正通过 Spinnaker 的故事 API,建议查看 Terraform 或 CloudFormation
文档似乎已过时。我在使用管道模板创建管道时遇到了类似的问题。它使用 Deck(UI) 工作正常,因为 https://www.spinnaker.io/reference/pipeline/templates/#pipeline-json 中描述的管道 json 不起作用。
使用 UI 从管道模板创建管道后,我分析了有效载荷并意识到文档缺少有效载荷中的某些字段。下面给出的有效载荷对我来说效果很好。我建议相同,您应该在浏览器中通过 UI 分析有效负载并将其用作参考。
{
"schema": "v2",
"template": {
"artifactAccount": "front50ArtifactCredentials",
"reference": "spinnaker://k8s-bake-approve-deploy-s3-23-oct:latest",
"type": "front50/pipelineTemplate"
},
"application": "v2poc",
"name": "test-6",
"triggers": [],
"type": "templatedPipeline",
"stages": [],
"variables": {
"namespace": "default",
"docker_registry": "docker.io",
"k8s_account": "my-k8-account",
"helm_package_s3_object_path": "s3://spin-helm/node-1.0.0.tgz",
"helm_override_file_s3_object_path": "s3://spin-helm/values.yaml",
"docker_registry_org": "athakur",
"docker_repository": "athakur/node",
"hal_s3_account": "my-s3-account",
"hal_docker_registry_account": "my-docker-registry",
"docker_image_tag": "0.1.0",
"spinnaker_application": "v2poc"
},
"exclude": [],
"parameterConfig": [],
"notifications": []
}