배포 가능한 아키텍처 스택 정의 로컬에서 편집하기
스택 정의 파일은 더 복잡한 배포 가능한 아키텍처를 형성하기 위해 함께 쌓여 있는 멤버 배포 가능한 아키텍처를 정의합니다. 아키텍처를 서로 연결하는 입력 참조와 같이 배포 가능한 아키텍처가 서로 어떻게 관련되어야 하는지에 대한 정보를 지정합니다. 비공개 카탈로그를 통해 이 솔루션을 다른 사람들과 공유하려는 경우, 성공적으로 배포할 수 있도록 스택 정의가 필요합니다.
프로젝트에 배포 가능한 아키텍처를 스택하고 비공개 카탈로그를 통해 다른 사람들과 해당 솔루션을 공유하려는 경우가 아니라면 스택 정의 파일을 사용할 필요가 없습니다.
스택 정의에는 스택 변수가 포함되어 있습니다. 이러한 변수는 사용자가 구성할 수 있는 입력과 부모 수준에서 표시되는 스택 배포 가능한 아키텍처의 출력입니다. 이러한 입력 값은 다음 이미지와 같이 멤버 배포 가능한 아키텍처에서 참조됩니다. 스택 정의에는 멤버 배포 가능한 아키텍처의 입력도 포함됩니다. 이러한 입력은 배포 가능한 아키텍처를 서로 연결하는 참조가 될 수 있습니다. 솔루션을 성공적으로 배포하기 위해 특정 값이나 참조가 필요한 입력은 스택 정의에 포함되어야 합니다. 예를 들어 CLI를 사용하여 스택 정의 만들기를 참조하세요.
콘솔을 사용하여 스택 정의 생성하기
프로젝트에서 배포 가능한 아키텍처를 함께 쌓고 변수를 정의하면 스택 정의가 자동으로 생성됩니다. 콘솔을 사용하여 배포 가능한 아키텍처를 스택하고 스택 변수를 정의하면 다음과 같은 이점이 있습니다.
- 콘솔의 참조 선택기를 사용하여 처음부터 참조를 작성하는 대신 스택 배포 가능한 아키텍처 간에 참조를 생성할 수 있습니다.
- 프로젝트에서 스택 아키텍처를 배포하면 다른 사람들이 구성하고 배포하기 전에 전체 솔루션이 설계된 대로 작동하는지 확인할 수 있습니다.
- 스택 정의는 콘솔에서 선택한 사항에 따라 자동으로 생성되므로 배포 가능한 멤버 아키텍처의 버전 로케이터 ID와 같은 정보가 정확하고 자동으로 업데이트됩니다.
프로젝트에서 스택 수준에서 포함할 입력을 선택할 수 있습니다. 이러한 입력은 스택 정의의 inputs
섹션에 포함되며 프로젝트의 멤버 배포 가능 아키텍처에서 참조로 구성됩니다. 다음 이미지에서는 Custom Apache
멤버 배포 가능 아키텍처 내에서 prefix
입력이 강조 표시되어 있습니다. 이 입력을 선택하면 Default value
이 스택 수준 입력에 대한 참조로 변경됩니다. 사용자가 카탈로그에서 프로젝트에 솔루션을 추가하면 prefix
입력을 구성할 수 있으며 Custom Apache
멤버 아키텍처가 해당 값을 참조합니다. fp_vsi_floating_ip_address
입력은 다른 멤버 배포 가능 아키텍처의 출력을 참조합니다. 해당 참조는 멤버 아키텍처를 서로 연결하므로 해당 입력은
선택해서는 안 됩니다. 이러한 멤버 아키텍처의 입력은 스택 정의 파일의 members
섹션에 포함됩니다.
스택 정의 편집
스택 정의를 로컬에서 편집하려면 다음 단계를 완료하세요.
-
배포 가능한 아키텍처를 스 택하고, 스택 변수를 정의하고, 스택된 아키텍처를 비공개 카탈로그에 온보딩하는 단계를 완료하세요.
함께 스택된 아키텍처를 구성하고 배포하여 솔루션이 설계된 대로 작동하는지 확인한 후 비공개 카탈로그에 추가하세요.
-
배포 가능한 아키텍처가 비공개 카탈로그에 추가되면 카탈로그의 버전 구성 페이지로 이동합니다. 거기에서 작업 메뉴 > 코드로 내보내기를 클릭합니다.
프로젝트 API의 스택 정의 메서드를 사용하여 스택 정의를 내보낼 수도 있고, 프로젝트 CLI의
ibmcloud project stack-definition
명령을 사용하여 스택 정의를 내보낼 수도 있습니다. -
stack_definition.json
파일을 여십시오. -
예제 정의를 가이드로 사용하여 입력 및 출력 변수를 편집합니다.
-
소스 코드 저장소의 루트 폴더에 파일을 추가하세요.
다음에 솔루션의 새 버전을 카탈로그에 추가할 때 업데이트가 포함됩니다.
예제 정의 파일
프로젝트를 사용하여 스택 정의를 생성하는 것이 정확성을 보장하는 데 도움이 됩니다. 그러나 다음 코드 스니펫을 템플릿으로 사용하여 스택 정의를 처음부터 새로 만들 수 있습니다:
{
"inputs": [
{
"name": "Stack input 1",
"type": "string",
"hidden": false,
"required": true,
"default" : "Default value"
},
{
"name": "Stack input 2",
"type": "string",
"hidden": false,
"required": true
}
],
"outputs": [
{
"name": "Output 1 name",
"value": "The reference to this output value"
},
{
"name": "Output 2 name",
"value": "The reference to this output value"
}
],
"members": [
{
"Name": "Deployable architecture 1 name",
"Version_locator": "",
"inputs": [
{
"name": "Input 1 name",
"value": "reference"
},
{
"name": "Input 2 name",
"value": "reference"
}
]
},
{
"Name": "Deployable architecture 2 name",
"Version_locator": "",
"inputs": [
{
"name": "Input 1 name",
"value": "reference"
},
{
"name": "Input 2 name",
"value": "reference"
}
]
}
]
}
스택 입력
inputs
값은 솔루션이 성공적으로 배포되는 데 필요한 입력 변수의 배열을 나타냅니다. 사용자가 카탈로그에서 배포 가능한 아키텍처를 프로젝트에 추가하는 경우 배포하기 전에 이러한 입력을 구성해야 합니다. 다음 값은 inputs
수준에 포함될 수 있습니다.
"inputs": [
{
"name": "Stack input 1",
"type": "string",
"hidden": false,
"required": true,
"default" : "Default value"
},
{
"name": "Stack input 2",
"type": "string",
"hidden": false,
"required": true
}
]
name
- 입력 변수의 이름입니다.
type
- 변수의 테라폼 프리미티브 데이터 유형입니다. 예를 들어,
boolean
또는string
입니다. hidden
- 설치 중에 매개변수를 사용자에게 숨겨야 하는지 여부를 나타내는 부울 값입니다.
required
- 설치 중에 사용자가 매개변수를 지정해야 하는지 여부를 나타내는 부울입니다.
default
- 카탈로그에 설정되어야 하는 기본값입니다.
스택 출력
outputs
값은 솔루션이 배포될 때 생성되는 출력 변수의 배열을 나타냅니다. 다음 값은 outputs
수준에 포함될 수 있습니다.
"outputs": [
{
"name": "Output 1 name",
"value": "The reference to this output value"
},
{
"name": "Output 2 name",
"value": "The reference to this output value"
}
]
name
- 출력 변수의 이름입니다.
value
- 값을 찾을 수 있는 위치에 대한 참조입니다. 참조에 대한 자세한 내용은 값 참조를 참조하세요.
회원 입력
members
값은 스택 배포 가능한 각 아키텍처에 대한 입력 및 출력의 배열을 나타냅니다. 다음 값은 members
수준에 포함될 수 있습니다.
"members": [
{
"Name": "Deployable architecture 1 name",
"Version_locator": "",
"inputs": [
{
"name": "Input 1 name",
"value": "reference"
},
{
"name": "Input 2 name",
"value": "reference"
}
]
}
]
name
- 스택에 포함된 배포 가능한 아키텍처의 프로그래밍 이름입니다.
version_locator
- 멤버 배포 가능한 아키텍처의 버전을 식별합니다. 버전 검색기를 찾으려면 카탈로그에서 제품을 선택하여 카탈로그 세부 정보 페이지를 엽니다. 올바른 버전이 선택되었는지 확인합니다. 그런 다음 세부 정보 보기를 클릭합니다.
inputs
- 함께 스택된 멤버 배포 가능한 아키텍처에 대한 입력입니다. 전체 솔루션을 배포하는 데 필요한 특정 값의 입력을 포함하세요. 스택된 멤버 아키텍처가 서로 의존하는 경우 여기에 해당 값을 참조로 포함하세요. 자세한 내용은 값 참조를 참조하세요. 예를 들어 아키텍처 중 하나에 스택된 다른 아키텍처의 출력이 필요한 경우 출력에 대한 참조를 값으로 추가합니다.
name
- 입력 변수의 이름입니다. 멤버 배포 가능 아키텍처에서 사용되는 입력과 일치해야 하므로 이름을 편집하지 마세요.
value
- 입력 변수의 값입니다. 기본값이나 참조를 제공해야 합니다.