Apigee Hybrid๋ฅผ ๋ฒ„์ „ 1.10์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ

์ด ์ ˆ์ฐจ์—์„œ๋Š” Apigee Hybrid ๋ฒ„์ „ 1.9.x์—์„œ Apigee Hybrid ๋ฒ„์ „ 1.10.5๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ด์ „ ์ถœ์‹œ ๋ฒ„์ „์ธ Hybrid 1.10.x์—์„œ ๋ฒ„์ „ 1.10.5๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ์ž‘์—…์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋ถ€ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ(์˜ˆ: ๋ฒ„์ „ 1.9์—์„œ 1.10์œผ๋กœ)์™€ ํŒจ์น˜ ์ถœ์‹œ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ(์˜ˆ: 1.10.0์—์„œ 1.10.5๋กœ)์— ๊ฐ™์€ ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„์ „ 1.10.5๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐœ์š”

Apigee Hybrid ์—…๊ทธ๋ ˆ์ด๋“œ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„น์…˜์œผ๋กœ ์ •๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

  1. ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.
  2. Hybrid ๋Ÿฐํƒ€์ž„ ๋ฒ„์ „ 1.10.5๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์š”๊ฑด

์ด ์—…๊ทธ๋ ˆ์ด๋“œ ์•ˆ๋‚ด์—์„œ๋Š” Apigee Hybrid ๋ฒ„์ „ 1.9.x๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๊ณ  ๋ฒ„์ „ 1.10.5๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒฝ์šฐ Apigee Hybrid๋ฅผ ๋ฒ„์ „ 1.9๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ์•ˆ๋‚ด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฒ„์ „ 1.10์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ์ค€๋น„

  1. ์ด ์•ˆ๋‚ด์—์„œ๋Š” apigeectl์„ ์„ค์น˜ํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ APIGEECTL_HOME์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ apigeectl ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    MacOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  2. ๋ฒ„์ „ 1.9 $APIGEECTL_HOME/ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ฐฑ์—… ์‚ฌ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_HOME
  3. Cassandra ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ์˜ ์•ˆ๋‚ด์— ๋”ฐ๋ผ Cassandra ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.

Kubernetes ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

Kubernetes ํ”Œ๋žซํผ ๋ฒ„์ „์„ ํ™•์ธํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ Kubernetes ํ”Œ๋žซํผ์„ Hybrid 1.9 ๋ฐ Hybrid 1.10 ๋ชจ๋‘์—์„œ ์ง€์›๋˜๋Š” ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. ๋„์›€์ด ํ•„์š”ํ•˜๋ฉด ํ”Œ๋žซํผ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Hybrid 1.10.5 ๋Ÿฐํƒ€์ž„ ์„ค์น˜

  1. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ(apigeectl ์‹คํ–‰ ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ)์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    cd $APIGEECTL_HOME/..
  2. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์šด์˜์ฒด์ œ์šฉ ์ถœ์‹œ ๋ฒ„์ „ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ…Œ์ด๋ธ”์—์„œ ํ”Œ๋žซํผ์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    Linux

    Linux 64๋น„ํŠธ:

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz

    MacOS

    Mac 64๋น„ํŠธ:

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz

    Windows

    Windows 64 ๋น„ํŠธ:

    curl -LO ^
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip
  3. ํ˜„์žฌ apigeectl/ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ด๋ฆ„์„ ๋ฐฑ์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    Linux

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/

    MacOS

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ 

    Windows

    rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9 
  4. ๋‹ค์šด๋กœ๋“œํ•œ gzip ํŒŒ์ผ ์ฝ˜ํ…์ธ ๋ฅผ Hybrid ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. Hybrid ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋œ apigeectl-v1.9 ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์ž…๋‹ˆ๋‹ค.

    Linux

    tar xvzf filename.tar.gz -C ./

    MacOS

    tar xvzf filename.tar.gz -C ./

    Windows

    tar xvzf filename.zip -C ./
  5. tar ์ฝ˜ํ…์ธ ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฆ„์— ํ•ด๋‹น ๋ฒ„์ „๊ณผ ํ”Œ๋žซํผ์ด ํฌํ•จ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ./apigeectl_1.10.5-xxxxxxx_linux_64์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋ฆ„์„ apigeectl๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

    Linux

    mv apigeectl_1.10.5-xxxxxxx_linux_64 apigeectl

    MacOS

    mv apigeectl_1.10.5-xxxxxxx_mac_64 apigeectl

    Windows

    rename apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl
  6. apigeectl ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
    cd ./apigeectl

    ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” apigeectl ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— apigeectl ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ์ด ์•ˆ๋‚ด์—์„œ๋Š” apigeectl ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์„ค์น˜๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ $APIGEECTL_HOME์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ apigeectl ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    MacOS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  8. version ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ apigeectl์˜ ๋ฒ„์ „์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    ./apigeectl version
    Version: 1.10.5
  9. hybrid-base-directory/hybrid-files ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“  ํ›„ ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. hybrid-files ๋””๋ ‰ํ„ฐ๋ฆฌ์—๋Š” ์žฌ์ •์˜ ํŒŒ์ผ, ์ธ์ฆ์„œ, ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    Linux

    mkdir $APIGEECTL_HOME/../hybrid-files
    cd $APIGEECTL_HOME/../hybrid-files

    MacOS

    mkdir $APIGEECTL_HOME/../hybrid-files
    cd $APIGEECTL_HOME/../hybrid-files

    Windows

    mkdir %APIGEECTL_HOME%/../hybrid-files
    cd %APIGEECTL_HOME%/../hybrid-files
  10. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ kubectl์ด ์˜ฌ๋ฐ”๋ฅธ ์ปจํ…์ŠคํŠธ๋กœ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ปจํ…์ŠคํŠธ๋ฅผ Apigee Hybrid๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    kubectl config get-contexts | grep \*
  11. hybrid-files ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    1. ๋‹ค์Œ ๊ธฐํ˜ธํ™”๋œ ๋งํฌ๋ฅผ $APIGEECTL_HOME์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด hybrid-files ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์—์„œ ์ƒˆ๋กœ ์„ค์น˜๋œ apigeectl ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      ln -nfs $APIGEECTL_HOME/tools tools
      ln -nfs $APIGEECTL_HOME/config config
      ln -nfs $APIGEECTL_HOME/templates templates
      ln -nfs $APIGEECTL_HOME/plugins plugins
    2. ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋งํฌ ๊ฒฝ๋กœ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      ls -l | grep ^l
  12. overrides.yaml ํŒŒ์ผ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜์—ฌ apigee-operator ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฌ๋ฐ”๋ฅธ ํƒœ๊ทธ(1.10.5-hotfix.1)๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
      ao:
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-operators"
          tag: "1.10.5-hotfix.1"
      
  13. ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์ดˆ๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client

    ์—ฌ๊ธฐ์„œ OVERRIDES_FILE์€ ์žฌ์ •์˜ ํŒŒ์ผ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค(์˜ˆ: ./overrides/overrides.yaml).

  14. ์˜ค๋ฅ˜๊ฐ€ ์—†์œผ๋ฉด Hybrid 1.10.5๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
  15. ์ดˆ๊ธฐํ™” ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    ์„ฑ๊ณตํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค: All containers ready.

    kubectl describe apigeeds -n apigee

    ์ถœ๋ ฅ์—์„œ State: running์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

  16. --dry-run ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ apply ๋ช…๋ น์–ด์˜ ํ…Œ์ŠคํŠธ ์‹คํ–‰์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
  17. ์˜ค๋ฅ˜๊ฐ€ ์—†์œผ๋ฉด ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜์— ๋”ฐ๋ผ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ ๋˜๋Š” ๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ์•ˆ๋‚ด๋ฅผ ์„ ํƒํ•˜์—ฌ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

    ํ”„๋กœ๋•์…˜

    ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ ๊ฐ Hybrid ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ๋‹ค์Œ ๊ตฌ์„ฑ์š”์†Œ๋กœ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ๊ตฌ์„ฑ์š”์†Œ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    1. ํ˜„์žฌ ์œ„์น˜๊ฐ€ hybrid-files ๋””๋ ‰ํ„ฐ๋ฆฌ์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    2. ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•˜์—ฌ Cassandra๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
    3. ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

      ํฌ๋“œ๊ฐ€ ์ค€๋น„๋œ ๊ฒฝ์šฐ์—๋งŒ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    4. ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•˜์—ฌ ์›๊ฒฉ ๋ถ„์„ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    5. Redis ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
    6. ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•˜์—ฌ ์กฐ์ง ์ˆ˜์ค€ ๊ตฌ์„ฑ์š”์†Œ(MART, Watcher, Apigee Connect)๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    7. ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•˜์—ฌ ํ™˜๊ฒฝ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ํ™˜๊ฒฝ๋ณ„ ํ™˜๊ฒฝ: ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ™˜๊ฒฝ์— ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•˜๊ณ  ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ๋งˆ๋‹ค ์ด ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

        ์—ฌ๊ธฐ์„œ ENV_NAME์€ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ํ™˜๊ฒฝ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

      • ํ•œ ๋ฒˆ์— ๋ชจ๋“  ํ™˜๊ฒฝ: ํ•œ ๋ฒˆ์— ๋ชจ๋“  ํ™˜๊ฒฝ์— ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•˜๊ณ  ์™„๋ฃŒ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    8. ์žฌ์ •์˜๋ฅผ ์ ์šฉํ•˜์—ฌ virtualhosts ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    ๋น„ํ”„๋กœ๋•์…˜

    ๋Œ€๋ถ€๋ถ„์˜ ๋น„ํ”„๋กœ๋•์…˜, ๋ฐ๋ชจ ๋˜๋Š” ์‹คํ—˜์šฉ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์— ์žฌ์ •์˜๋ฅผ ํ•œ ๋ฒˆ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์ด ํฌ๊ณ  ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์„ ๋น„์Šทํ•˜๊ฒŒ ๋ชจ๋ฐฉํ•˜๋Š” ๊ฒฝ์šฐ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ ์—…๊ทธ๋ ˆ์ด๋“œ ์•ˆ๋‚ด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    1. ํ˜„์žฌ ์œ„์น˜๊ฐ€ hybrid-files ๋””๋ ‰ํ„ฐ๋ฆฌ์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    2. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
    3. ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

์—…๊ทธ๋ ˆ์ด๋“œ ๋กค๋ฐฑ

์ด์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๋กค๋ฐฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋Ÿฐํƒ€์ž„ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ์™„๋ฃŒ๋œ ์ž‘์—…์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ NAMESPACE๋Š” ์žฌ์ •์˜ ํŒŒ์ผ์— ์ง€์ •๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ)์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋Š” apigee์ž…๋‹ˆ๋‹ค.
    kubectl delete job -n NAMESPACE \
      $(kubectl get job -n NAMESPACE \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  2. apigee-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์™„๋ฃŒ๋œ ์ž‘์—…์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    kubectl delete job -n apigee-system \
      $(kubectl get job -n apigee-system \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  3. apigeectl์˜ ์ด์ „ ๋ฒ„์ „์ด ํฌํ•จ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก APIGEECTL_HOME ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
  4. ๋กค๋ฐฑํ•  ์„ค์น˜์˜ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ apigeectl apply๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํฌ๋“œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ ํ›„ apigeectl init๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑํ•˜๋ ค๋Š” ๋ฒ„์ „์— ์›๋ž˜ ์žฌ์ •์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    1. Hybrid ํŒŒ์ผ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ apigeectl apply๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILE

      ์—ฌ๊ธฐ์„œ ORIGINAL_OVERRIDES_FILE์€ ์ด์ „ ๋ฒ„์ „ Hybrid ์„ค์น˜์— ๋Œ€ํ•œ ์žฌ์ •์˜ ํŒŒ์ผ์˜ ์ƒ๋Œ€ ๊ฒฝ๋กœ ๋ฐ ํŒŒ์ผ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค(์˜ˆ: ./overrides/overrides1.9.yaml).

    2. ํฌ๋“œ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      kubectl -n NAMESPACE get pods

      ์—ฌ๊ธฐ์„œ NAMESPACE๋Š” Apigee Hybrid ๋„ค์ž„์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

    3. apigeeds์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      kubectl describe apigeeds -n apigee

      ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running

      apigeeds ํฌ๋“œ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ์—๋งŒ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    4. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์—…๊ทธ๋ ˆ์ด๋“œ ํ›„ ๋ฉ”์‹œ์ง€ ํ”„๋กœ์„ธ์„œ์— ๋Œ€ํ•œ ์ƒˆ ๋ณต์ œ๋ณธ ์ˆ˜ ๊ฐ’์„ ๊ธฐ๋กํ•ด ๋‘ก๋‹ˆ๋‹ค. ์ด ๊ฐ’์ด ์ด์ „์— ์„ค์ •ํ•œ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์žฌ์ •์˜ ํŒŒ์ผ์˜ ๊ฐ’์„ ์ด์ „ ๊ตฌ์„ฑ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ๋ณ€๊ฒฝํ•˜์„ธ์š”.
      apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2

      ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

            autoScaler:
              minReplicas: 2
              maxReplicas: 10
    5. apigeectl init์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      $APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE