๋ช…์‹œ์ ์ธ ์ข…์† ํ•ญ๋ชฉ ๋งŒ๋“ค๊ธฐ

์ผ๋ถ€ ๊ฒฝ์šฐ์—๋Š” ํ™˜๊ฒฝ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ๋ฐฐํฌํ•˜๊ธฐ ์ „ ํ™˜๊ฒฝ์˜ ํŠน์ • ๋ถ€๋ถ„์ด ์กด์žฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ฆฌ์†Œ์Šค ์‚ฌ์ด์˜ ์ข…์† ํ•ญ๋ชฉ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌ์˜ ์ผ๋ถ€๋กœ ๋งŒ๋“ค๋ ค๋Š” ๊ฒฝ์šฐ, ์—ฌ๊ธฐ์— ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ ๋˜๋Š” ํ…œํ”Œ๋ฆฟ์—์„œ dependsOn ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ข…์† ํ•ญ๋ชฉ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค์— dependsOn ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด Deployment Manager๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์ „์— ์ข…์† ํ•ญ๋ชฉ์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ๋˜๋Š” ๋ฐฐํฌ์— ์‚ฌ์šฉํ•˜๋ ค๋Š” ํ…œํ”Œ๋ฆฟ์—์„œ ๋ฐฐํฌ์— ํฌํ•จ๋˜๋Š” ๊ธฐ๋ณธ ์œ ํ˜• ๊ฐ„์˜ ์ข…์† ํ•ญ๋ชฉ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ ๋˜๋Š” ๋ณตํ•ฉ ์œ ํ˜•์—์„œ๋Š” ์ข…์† ํ•ญ๋ชฉ์„ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ฐ ๋ณตํ•ฉ ์œ ํ˜•์— ๋Œ€ํ•œ ๋ฐฐ๊ฒฝ ์ •๋ณด๋Š” ์œ ํ˜• ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  • ์ด ๊ฐ€์ด๋“œ์˜ ๋ช…๋ น์ค„ ์˜ˆ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด 'gcloud' ๋ช…๋ น์ค„ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ๊ฐ€์ด๋“œ์˜ API ์˜ˆ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด API ์•ก์„ธ์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ข…์† ํ•ญ๋ชฉ ๋งŒ๋“ค๊ธฐ

๋ฆฌ์†Œ์Šค์— ์ข…์† ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด dependsOn ์„น์…˜์ด ํฌํ•จ๋œ metadata ์„น์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ dependsOn ์„น์…˜์—์„œ ์ข…์† ํ•ญ๋ชฉ์„ ํ•œ ๊ฐœ ์ด์ƒ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ a-special-vm์ด ์˜๊ตฌ ๋””์Šคํฌ ๋‘ ๊ฐœ ์ƒ์„ฑ์— ์ข…์†๋˜๋„๋ก ์ง€์ •ํ•˜๋ ค๋ฉด a-special-vm์— metadata ์„น์…˜๊ณผ dependsOn ์„น์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ํ›„ ๊ฐ ์˜๊ตฌ ๋””์Šคํฌ์— ๋Œ€ํ•ด ์ข…์† ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋™์ผ ๋ฐฐํฌ์—์„œ ์ข…์† ํ•ญ๋ชฉ์ธ ์˜๊ตฌ ๋””์Šคํฌ๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ ๋””์Šคํฌ๋Š” persistent-disk-a ๋ฐ persistent-disk-b์ž…๋‹ˆ๋‹ค.

resources:
- name: a-special-vm
  type: compute.v1.instances
  properties:
    ...

  metadata:
    dependsOn:
    - persistent-disk-a
    - persistent-disk-b

- name: persistent-disk-a
  type: compute.v1.disks
  properties:
    ...

- name: persistent-disk-b
  type: compute.v1.disks
  properties:
    ...

์ด ๋ฐฐํฌ์—์„œ Deployment Manager๋Š” a-special-vm์„ ๋งŒ๋“ค๊ธฐ ์ „์— persistent-disk-a ๋ฐ persistent-disk-b๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„