ํ™˜๊ฒฝ ์‚ญ์ œ

์ด ์ฃผ์ œ์—์„œ๋Š” Apigee Hybrid์˜ ํ™˜๊ฒฝ์„ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ฐ ํ™˜๊ฒฝ ๊ทธ๋ฃน ์ •๋ณด๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ™˜๊ฒฝ ์‚ญ์ œ ๋ฐฉ๋ฒ•

test ๋ฐ prod๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ํ™˜๊ฒฝ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์žฌ์ •์˜ ํŒŒ์ผ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...

prod ํ™˜๊ฒฝ์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. gcloud ์ธ์ฆ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
    TOKEN=$(gcloud auth print-access-token)
  2. ์—ฐ๊ฒฐ๋œ ํ™˜๊ฒฝ ๊ทธ๋ฃน์—์„œ ํ™˜๊ฒฝ์„ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    ๋ฐ์ดํ„ฐ ์ƒ์ฃผ ์—†์Œ

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/envgroups/$ENV_GROUP/attachments/prod"

    ๋ฐ์ดํ„ฐ ์ƒ์ฃผ

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/envgroups/$ENV_GROUP/attachments/prod"
  3. ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์š”์†Œ ์‚ญ์ œ๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
    helm delete $ENV_NAME -n apigee --dry-run
    

    --dry-run ๋ช…๋ น์–ด๋Š” --dry-run ์˜ต์…˜์ด ์—†๋Š” ๋ช…๋ น์–ด์™€ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    helm -n apigee delete example-env
    release "example-env" uninstalled
  4. ํ…Œ์ŠคํŠธ ์‹คํ–‰์— ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    helm delete $ENV_NAME -n apigee
    
  5. ์žฌ์ •์˜ ํŒŒ์ผ์„ ์—ด๊ณ  envs ๋ฐ virtualhosts์—์„œ prod ํ™˜๊ฒฝ ์ •์˜๋ฅผ ์‚ญ์ œํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ •์˜๋งŒ ๋‚จ๊น๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    ...
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    ...
  6. ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.