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

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

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

Apigee Hybrid ๋ฒ„์ „ 1.12 ์ดํ•˜์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒฝ์šฐ ๋ฒ„์ „ Hybrid ๋ฒ„์ „ 1.14.2๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ๋ฒ„์ „ 1.13์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Apigee Hybrid๋ฅผ ๋ฒ„์ „ 1.13์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ์•ˆ๋‚ด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Apigee Hybrid v1.13์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฒ„์ „ 1.14๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ์˜์—ญ ๊ตฌ์„ฑ์š”์†Œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ์ง์ ‘ ์”๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ถ„์„ ๋ฐ ๋””๋ฒ„๊ทธ ๋ฐ์ดํ„ฐ์˜ ์•ˆ์ •์„ฑ๊ณผ ๊ทœ์ • ์ค€์ˆ˜๊ฐ€ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ƒ์ฃผ๋กœ ์• ๋„๋ฆฌํ‹ฑ์Šค ๋ฐ ๋””๋ฒ„๊ทธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • Anthos(๋ฒ ์–ด๋ฉ”ํƒˆ์šฉ ๋˜๋Š” VMware์šฉ)๊ฐ€ ์ด์ œ Google Distributed Cloud(๋ฒ ์–ด๋ฉ”ํƒˆ์šฉ ๋˜๋Š” VMware์šฉ)๋กœ ๋ณ€๊ฒฝ๋จ: ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฒ ์–ด๋ฉ”ํƒˆ์šฉ Google Distributed Cloud ๋ฐ VMware์šฉ Google Distributed Cloud์˜ ์ œํ’ˆ ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • ๋” ์—„๊ฒฉํ•œ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šคํ™” ํ™•์ธ: Apigee Hybrid ๋ฒ„์ „ 1.14.1๋ถ€ํ„ฐ Java ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ JavaCallout ์ •์ฑ…์— ์ถ”๊ฐ€ ๋ณด์•ˆ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ•ํ™”๋œ ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ํ†ตํ•ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ์ž‘์—…์„ ์ง๊ฐ„์ ‘์ ์œผ๋กœ ์‹œ๋„ํ•˜๋Š” ์ •์ฑ…์˜ ๋ฐฐํฌ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ธฐ์กด ์ •์ฑ…์€ ๋ฌธ์ œ์—†์ด ๊ณ„์† ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋“œ ํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ •์ฑ…์ด๋‚˜ ๋†’์€ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ์ž‘์—…์„ ๊ฐ„์ ‘์ ์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ์ปค์Šคํ…€ ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ์ •์ฑ…์€ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Hybrid ๋ฒ„์ „ 1.14์˜ ๊ธฐ๋Šฅ์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Apigee Hybrid v1.14.0 ์ถœ์‹œ ๋…ธํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

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

Hybrid ๋ฒ„์ „ 1.14๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ์„ค์น˜๊ฐ€ ๋‹ค์Œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

1.14.2๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „ - ์ œํ•œ์‚ฌํ•ญ ๋ฐ ์ค‘์š” ์ฐธ๊ณ ์‚ฌํ•ญ

  • Apigee Hybrid 1.14.2์—์„œ๋Š” ๋‹จ์ผ ํ™˜๊ฒฝ์— ๋” ๋งŽ์€ ํ”„๋ก์‹œ์™€ ๊ณต์œ  ํ๋ฆ„์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ๋ณ„ ํ”„๋ก์‹œ ํ•œ๋„๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ๋‹น ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋ก์‹œ ๋ฐ ๊ณต์œ  ํ๋ฆ„ ์ˆ˜์— ๋Œ€ํ•œ ํ•œ๋„๋ฅผ ์•Œ์•„๋ณด๋ ค๋ฉด ํ•œ๋„: API ํ”„๋ก์‹œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์ด ๊ธฐ๋Šฅ์€ ์ƒˆ๋กœ ๋งŒ๋“  Hybrid ์กฐ์ง์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ์กฐ์ง์—๋Š” ์ ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Hybrid 1.14.2๋ฅผ ์ƒˆ๋กœ ์„ค์น˜ํ•˜๊ณ  ์ƒˆ ์กฐ์ง์„ ๋งŒ๋“œ์„ธ์š”.

    ์ด ๊ธฐ๋Šฅ์€ 2024๋…„ ๊ตฌ๋… ์š”๊ธˆ์ œ์˜ ์ผ๋ถ€๋กœ๋งŒ ์ œ๊ณต๋˜๋ฉฐ ํ•ด๋‹น ์š”๊ธˆ์ œ์— ๋”ฐ๋ผ ๋ถ€์—ฌ๋œ ์‚ฌ์šฉ ๊ถŒํ•œ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ํ™˜๊ฒฝ๋ณ„ ํ”„๋ก์‹œ ํ•œ๋„ ํ–ฅ์ƒ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • Apigee Hybrid ๋ฒ„์ „ 1.14๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋ฉด ๋‹ค์šดํƒ€์ž„์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Apigee ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋ฒ„์ „ 1.14.2๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๋ชจ๋“  Apigee ๋ฐฐํฌ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์žฌ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ง€์†์  ์žฌ์‹œ์ž‘ ์ค‘์— ํ”„๋กœ๋•์…˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ™˜๊ฒฝ์—์„œ ๋‹ค์šดํƒ€์ž„์„ ์ตœ์†Œํ™”ํ•˜๋ ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ตœ์†Œ ๋‘ ๊ฐœ ์ด์ƒ(๋™์ผํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ฆฌ์ „/๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ)์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํ”„๋กœ๋•์…˜ ํŠธ๋ž˜ํ”ฝ์„ ๋‹จ์ผ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ „ํ™˜ํ•˜๊ณ  ์˜คํ”„๋ผ์ธ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ ์šฉํ•œ ํ›„ ์—…๊ทธ๋ ˆ์ด๋“œ ์ ˆ์ฐจ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋งˆ๋‹ค ์ด ์ ˆ์ฐจ๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

    Apigee์—์„œ๋Š” ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด ํ”„๋กœ๋•์…˜์— ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ ๋‚จ์€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ชจ๋‘ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ๊ธฐํ•œ์€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋จธ์ง€ ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์—…๊ทธ๋ ˆ์ด๋“œ๋  ๋•Œ๊นŒ์ง€ Cassandra ๋ฐฑ์—… ๋ฐ ๋ณต์›์€ ํ˜ผํ•ฉ ๋ฒ„์ „์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Hybrid 1.13์˜ ๋ฐฑ์—…์„ ์‚ฌ์šฉํ•˜์—ฌ Hybrid 1.14 ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ์—…๊ทธ๋ ˆ์ด๋“œ ์ค‘์— ๊ด€๋ฆฌ ์˜์—ญ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์™„์ „ํžˆ ์ •์ง€ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ ์˜์—ญ ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ž„์‹œ ์ •์ง€๋Š” ์•„๋ž˜์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ์•ˆ๋‚ด์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

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

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

Hybrid ์„ค์น˜ ๋ฐฑ์—…

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

    Linux

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    MacOS

    export APIGEE_HELM_CHARTS_HOME=$PWD
    echo $APIGEE_HELM_CHARTS_HOME

    Windows

    set APIGEE_HELM_CHARTS_HOME=%CD%
    echo %APIGEE_HELM_CHARTS_HOME%
  2. ๋ฒ„์ „ 1.13 $APIGEE_HELM_CHARTS_HOME/ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฐฑ์—… ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ tar ํŒŒ์ผ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.13-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
  3. Cassandra ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ์˜ ์•ˆ๋‚ด์— ๋”ฐ๋ผ Cassandra ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.
  4. ์„œ๋น„์Šค ๊ณ„์ • ์ธ์ฆ์— ๋Œ€ํ•œ ์žฌ์ •์˜์— ์„œ๋น„์Šค ์ธ์ฆ์„œ ํŒŒ์ผ(.json)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์„œ๋น„์Šค ๊ณ„์ • ์ธ์ฆ์„œ ํŒŒ์ผ์ด ์˜ฌ๋ฐ”๋ฅธ Helm ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Helm ์ฐจํŠธ๋Š” ๊ฐ ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์™ธ๋ถ€์˜ ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

    Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์ด๋‚˜ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์„ ์ธ์ฆํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ด ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ๋‹ค์Œ ํ‘œ์—์„œ๋Š” ์„ค์น˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๊ฐ ์„œ๋น„์Šค ๊ณ„์ • ํŒŒ์ผ์˜ ๋Œ€์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

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

    ์„œ๋น„์Šค ๊ณ„์ • ๊ธฐ๋ณธ ํŒŒ์ผ ์ด๋ฆ„ Helm ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ
    apigee-cassandra PROJECT_ID-apigee-cassandra.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    apigee-logger PROJECT_ID-apigee-logger.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-mart PROJECT_ID-apigee-mart.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-metrics PROJECT_ID-apigee-metrics.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    apigee-runtime PROJECT_ID-apigee-runtime.json $APIGEE_HELM_CHARTS_HOME/apigee-env
    apigee-synchronizer PROJECT_ID-apigee-synchronizer.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
    apigee-udca PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
    apigee-watcher PROJECT_ID-apigee-watcher.json $APIGEE_HELM_CHARTS_HOME/apigee-org/

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

    ๋‹ค์Œ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฐ๊ฐ์— apigee-non-prod ์„œ๋น„์Šค ๊ณ„์ • ํŒŒ์ผ์˜ ์‚ฌ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ์„œ๋น„์Šค ๊ณ„์ • ๊ธฐ๋ณธ ํŒŒ์ผ ์ด๋ฆ„ Helm ์ฐจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ
    apigee-non-prod PROJECT_ID-apigee-non-prod.json $APIGEE_HELM_CHARTS_HOME/apigee-datastore/
    $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
    $APIGEE_HELM_CHARTS_HOME/apigee-org/
    $APIGEE_HELM_CHARTS_HOME/apigee-env/
  5. TLS ์ธ์ฆ์„œ์™€ ํ‚ค ํŒŒ์ผ(.crt, .key ๋˜๋Š” .pem)์ด $APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

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

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

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

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Hybrid v1.14๋ถ€ํ„ฐ ๋ชจ๋“  Apigee Hybrid ์กฐ์ง์— ์ƒˆ ๋ถ„์„ ๋ฐ ๋””๋ฒ„๊ทธ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๋ถ„์„ ๊ฒŒ์‹œ์ž ์•ก์„ธ์Šค ์‚ฌ์šฉ ์„ค์ •์˜ ๋‹จ๊ณ„์— ๋”ฐ๋ผ ์Šน์ธ ํ๋ฆ„์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Helm ์ฐจํŠธ ์—…๊ทธ๋ ˆ์ด๋“œ ์ค€๋น„

  1. Apigee Helm ์ฐจํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

    Apigee Hybrid ์ฐจํŠธ๋Š” Google Artifact Registry์—์„œ ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๋‹ค.

    oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts

    pull ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ๋ชจ๋“  Apigee Hybrid Helm ์ฐจํŠธ๋ฅผ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
    export CHART_VERSION=1.14.2-hotfix.1
    helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
    helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
    
  2. ํ•„์š”ํ•œ ๊ฒฝ์šฐ cert-manager๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    cert-manager ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋ฒ„์ „์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.16.3/cert-manager.yaml
    

    ์ง€์›๋˜๋Š” ๋ฒ„์ „ ๋ชฉ๋ก์€ ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ ๋ฐ ๋ฒ„์ „: cert-manager๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  3. Apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ apigee๊ฐ€ ์•„๋‹ˆ๋ฉด apigee-operator/etc/crds/default/kustomization.yaml ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ณ  namespace ๊ฐ’์„ Apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
    apiVersion: kustomize.config.k8s.io/v1beta1
    kind: Kustomization
    
    namespace: APIGEE_NAMESPACE
    

    apigee๋ฅผ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

  4. ์—…๋ฐ์ดํŠธ๋œ Apigee CRD๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
    1. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ kubectl ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

      kubectl apply -k  apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server
      
    2. ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ช…๋ น์–ด๋กœ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•œ ํ›„ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

      kubectl apply -k  apigee-operator/etc/crds/default/ \
        --server-side \
        --force-conflicts \
        --validate=false
      
    3. kubectl get crds ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜๋ฅผ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
      kubectl get crds | grep apigee

      ์ถœ๋ ฅ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

      apigeedatastores.apigee.cloud.google.com                    2024-08-21T14:48:30Z
      apigeedeployments.apigee.cloud.google.com                   2024-08-21T14:48:30Z
      apigeeenvironments.apigee.cloud.google.com                  2024-08-21T14:48:31Z
      apigeeissues.apigee.cloud.google.com                        2024-08-21T14:48:31Z
      apigeeorganizations.apigee.cloud.google.com                 2024-08-21T14:48:32Z
      apigeeredis.apigee.cloud.google.com                         2024-08-21T14:48:33Z
      apigeerouteconfigs.apigee.cloud.google.com                  2024-08-21T14:48:33Z
      apigeeroutes.apigee.cloud.google.com                        2024-08-21T14:48:33Z
      apigeetelemetries.apigee.cloud.google.com                   2024-08-21T14:48:34Z
      cassandradatareplications.apigee.cloud.google.com           2024-08-21T14:48:35Z
      
  5. ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ์˜ ๋ผ๋ฒจ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Apigee๋Š” cloud.google.com/gke-nodepool=apigee-data ๋ผ๋ฒจ์ด ์žˆ๋Š” ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ ํฌ๋“œ๋ฅผ ์˜ˆ์•ฝํ•˜๊ณ  ๋Ÿฐํƒ€์ž„ ํฌ๋“œ๋Š” cloud.google.com/gke-nodepool=apigee-runtime ๋ผ๋ฒจ์ด ์žˆ๋Š” ๋…ธ๋“œ์— ์˜ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค. overrides.yaml ํŒŒ์ผ์—์„œ ๋…ธ๋“œ ํ’€ ๋ผ๋ฒจ์„ ๋งž์ถค์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  6. ์„ ํƒ์‚ฌํ•ญ: OAS ์‚ฌ์–‘์—์„œ :additionalProperties: true๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ํ•จ๊ป˜ allOf ๊ฒฐํ•ฉ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ด ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์žฌ์ •์˜ ํŒŒ์ผ์—์„œ runtime ์Šคํƒ ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜์—ฌ OAS ์‚ฌ์–‘์—์„œ allOf ๊ฒฐํ•ฉ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Apigee Hybrid v1.14.2-hotfix.1 ์ถœ์‹œ ๋…ธํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
    runtime:
      cwcAppend:
        conf_message-processor-communication_oas.disable.resolve.combinator: true
    

Apigee Hybrid Helm ์ฐจํŠธ ์„ค์น˜

  1. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” APIGEE_HELM_CHARTS_HOME ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. Apigee Operator/Controller๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    

    Apigee ์šด์˜์ž ์„ค์น˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    helm ls -n APIGEE_NAMESPACE
    
    NAME       NAMESPACE       REVISION   UPDATED                                STATUS     CHART                   APP VERSION
    operator   apigee   3          2024-08-21 00:42:44.492009 -0800 PST   deployed   apigee-operator-1.14.2   1.14.2
    

    ๊ฐ€์šฉ์„ฑ์„ ํ™•์ธํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
    
    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager   1/1     1            1           7d20h
    
  3. Apigee Datastore๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    

    ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์—ฌ apigeedatastore๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    kubectl -n APIGEE_NAMESPACE get apigeedatastore default
    
    NAME      STATE       AGE
    default   running    2d
  4. Apigee ์›๊ฒฉ ๋ถ„์„์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    

    ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
    
    NAME               STATE     AGE
    apigee-telemetry   running   2d
  5. Apigee Redis๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    

    ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    kubectl -n APIGEE_NAMESPACE get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
  6. Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ด€๋ฆฌ์ž๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    

    ๊ฐ€์šฉ์„ฑ์„ ํ™•์ธํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
    
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-ingressgateway-manager   2/2     2            2           2d
  7. Apigee ์กฐ์ง์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      -f OVERRIDES_FILE
    

    ํ•ด๋‹น ์กฐ์ง์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    kubectl -n APIGEE_NAMESPACE get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
  8. ํ™˜๊ฒฝ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    ํ•œ ๋ฒˆ์— ํ™˜๊ฒฝ ํ•˜๋‚˜๋งŒ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. --set env=ENV_NAME์œผ๋กœ ํ™˜๊ฒฝ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    
    • ENV_RELEASE_NAME์€ apigee-env ์ฐจํŠธ ์„ค์น˜ ๋ฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด ์ด๋ฆ„์€ ์„ค์น˜ ๋‚ด ๋‹ค๋ฅธ Helm ์ถœ์‹œ ์ด๋ฆ„๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ณ ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ENV_NAME๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ™˜๊ฒฝ ์ด๋ฆ„์ด ํ™˜๊ฒฝ ๊ทธ๋ฃน ์ด๋ฆ„๊ณผ ๊ฐ™์œผ๋ฉด ํ™˜๊ฒฝ๊ณผ ํ™˜๊ฒฝ ๊ทธ๋ฃน์— ์„œ๋กœ ๋‹ค๋ฅธ ์ถœ์‹œ ์ด๋ฆ„(์˜ˆ: dev-env-release ๋ฐ dev-envgroup-release)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Helm์˜ ์ถœ์‹œ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Helm ๋ฌธ์„œ์˜ ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๊ฐœ๋… class="external"์„ ์ฐธ์กฐํ•˜์„ธ์š”.
    • ENV_NAME์€ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ํ™˜๊ฒฝ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
    • OVERRIDES_FILE์€ v.1.14.2์˜ ์ƒˆ๋กœ์šด ์žฌ์ •์˜ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

    ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    

    ํ•ด๋‹น ํ™˜๊ฒฝ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
  9. ํ™˜๊ฒฝ ๊ทธ๋ฃน(virtualhosts)์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.
    1. ํ•œ ๋ฒˆ์— ํ™˜๊ฒฝ ๊ทธ๋ฃน(virtualhost) ํ•˜๋‚˜๋งŒ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. --set envgroup=ENV_GROUP_NAME์œผ๋กœ ํ™˜๊ฒฝ ๊ทธ๋ฃน์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. override.yaml ํŒŒ์ผ์— ์–ธ๊ธ‰๋œ ํ™˜๊ฒฝ ๊ทธ๋ฃน๋งˆ๋‹ค ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

      ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

      helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        --set envgroup=ENV_GROUP_NAME \
        -f OVERRIDES_FILE \
        --dry-run=server
      

      ENV_GROUP_RELEASE_NAME์€ ์ด์ „์— apigee-virtualhost ์ฐจํŠธ๋ฅผ ์„ค์น˜ํ•œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ENV_GROUP_NAME์ž…๋‹ˆ๋‹ค.

      ์ฐจํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

      helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        --set envgroup=ENV_GROUP_NAME \
        -f OVERRIDES_FILE
      
    2. ApigeeRoute(AR) ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

      virtualhosts๋ฅผ ์„ค์น˜ํ•˜๋ฉด Apigee ๊ฐ์‹œ์ž๊ฐ€ ์ œ์–ด ์˜์—ญ์—์„œ ํ™˜๊ฒฝ ๊ทธ๋ฃน ๊ด€๋ จ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ ํ›„ ๋‚ด๋ถ€์ ์œผ๋กœ ApigeeRoute(AR)๋ฅผ ๋งŒ๋“œ๋Š” ApigeeRouteConfig(ARC)๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น AR ์ƒํƒœ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

      kubectl -n APIGEE_NAMESPACE get arc
      
      NAME                                STATE   AGE
      apigee-org1-dev-egroup                       2d
      kubectl -n APIGEE_NAMESPACE get ar
      
      NAME                                        STATE     AGE
      apigee-org1-dev-egroup-xxxxxx                running   2d
  10. ๋ชจ๋“  ์„ค์น˜๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ ํ›„ apigee-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์ด์ „ apigee-operator ๋ฒ„์ „์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    1. ์ด์ „ operator ๋ฒ„์ „์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
      helm delete operator -n apigee-system
      
    2. apigee-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
      kubectl delete namespace apigee-system
      
  11. ์‚ญ์ œ๋œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ”์œ„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ ค๋ฉด Apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ operator์„ ๋‹ค์‹œ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f overrides.yaml
    

1.14.0 ์ดํ•˜์—์„œ 1.14.1 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ ๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ JavaCallout ์ •์ฑ… ๋™์ž‘์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

  1. Java JAR ํŒŒ์ผ์ด ๋ถˆํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋Š”์ง€ ํ™•์ธ

    ์ •์ฑ…์„ ๋ฐฐํฌํ•œ ํ›„ ๋Ÿฐํƒ€์ž„ ๋กœ๊ทธ์—์„œ "Failed to load and initialize class ..." ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ๋ฐฐํฌ๋œ JAR๊ฐ€ ๋ถˆํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์š”์ฒญํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด Java ์ฝ”๋“œ๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  JAR ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.

  2. Java ์ฝ”๋“œ๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

    Java ์ฝ”๋“œ(์ข…์† ํ•ญ๋ชฉ ํฌํ•จ)๋ฅผ ๊ฒ€ํ† ํ•˜์—ฌ ํ—ˆ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์˜ ์›์ธ์„ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ํ•„์š”์— ๋”ฐ๋ผ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

  3. ๋ณด์•ˆ ๊ฒ€์‚ฌ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ์ •์ฑ…์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

    ๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋ณด์•ˆ ํ™•์ธ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ JAR๋กœ ์ •์ฑ…์„ ์žฌ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    • apigee-env/values.yaml ํŒŒ์ผ์—์„œ runtime:cwcAppend: ์•„๋ž˜์— conf_security-secure.constructor.only๋ฅผ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
      # Apigee Runtime
      runtime:
        cwcAppend:
          conf_security-secure.constructor.only: true
    • ํ™˜๊ฒฝ์˜ apigee-env ์ฐจํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
      helm upgrade ENV_RELEASE_NAME apigee-env/ \
        --install \
        --namespace APIGEE_NAMESPACE \
        --set env=ENV_NAME \
        -f OVERRIDES_FILE

        ENV_RELEASE_NAME์€ apigee-env ์ฐจํŠธ ์„ค์น˜ ๋ฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด ์ด๋ฆ„์€ ์„ค์น˜ ๋‚ด ๋‹ค๋ฅธ Helm ์ถœ์‹œ ์ด๋ฆ„๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ณ ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ENV_NAME๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ™˜๊ฒฝ ์ด๋ฆ„์ด ํ™˜๊ฒฝ ๊ทธ๋ฃน ์ด๋ฆ„๊ณผ ๊ฐ™์œผ๋ฉด ํ™˜๊ฒฝ๊ณผ ํ™˜๊ฒฝ ๊ทธ๋ฃน์— ์„œ๋กœ ๋‹ค๋ฅธ ์ถœ์‹œ ์ด๋ฆ„(์˜ˆ: dev-env-release ๋ฐ dev-envgroup-release)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Helm์˜ ์ถœ์‹œ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Helm ๋ฌธ์„œ์˜ ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๊ฐœ๋… class="external"์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    "Failed to load and initialize class ..." ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๊ฐ€ ๊ณ„์† ํ‘œ์‹œ๋˜๋ฉด ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๊ฐ€ ๋” ์ด์ƒ ํ‘œ์‹œ๋˜์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€ JAR์„ ์ˆ˜์ •ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

  4. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋ณด์•ˆ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    ๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ JAR ํŒŒ์ผ์„ ์ฒ ์ €ํžˆ ํ…Œ์ŠคํŠธํ•˜๊ณ  ํ™•์ธํ–ˆ์œผ๋ฉด conf_security-secure.constructor.only ํ”Œ๋ž˜๊ทธ๋ฅผ true๋กœ ์„ค์ •ํ•˜๊ณ  ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ apigee-env ์ฐจํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•จ์œผ๋กœ์จ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋ณด์•ˆ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑ

์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑํ•˜๋ ค๋ฉด ์ด์ „ ์ฐจํŠธ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์—ฌ ์—…๊ทธ๋ ˆ์ด๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋กค๋ฐฑํ•ฉ๋‹ˆ๋‹ค. apigee-virtualhost๋กœ ์‹œ์ž‘ํ•˜์—ฌ apigee-operator๋กœ ๋Œ์•„๊ฐ„ ๋‹ค์Œ CRD๋ฅผ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

  1. ๋ชจ๋“  ์ฐจํŠธ๋ฅผ apigee-virtualhost์—์„œ apigee-datastore๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ์ด์ „ ๋ฒ„์ „(v1.13.x)์˜ ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

    ๊ฐ ํ™˜๊ฒฝ ๊ทธ๋ฃน์— ๋Œ€ํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace apigee \
      --atomic \
      --set envgroup=ENV_GROUP_NAME \
      -f 1.13_OVERRIDES_FILE
    

    ๊ฐ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=ENV_NAME \
      -f 1.13_OVERRIDES_FILE
    

    apigee-operator๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ฐจํŠธ๋ฅผ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

    helm upgrade ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  2. apigee-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
    kubectl create namespace apigee-system
    
  3. ๋ฆฌ์†Œ์Šค ์ฃผ์„์„ ๋‹ค์‹œ apigee-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ํŒจ์น˜ํ•ฉ๋‹ˆ๋‹ค.
    kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system'
    
  4. ์ถœ์‹œ ์ด๋ฆ„๋„ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ ์ฃผ์„์„ operator ์ถœ์‹œ ์ด๋ฆ„์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
    kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator'
    
  5. apigee-operator๋ฅผ apigee-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋‹ค์‹œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE
    
  6. ์ด์ „ CRD๋ฅผ ์žฌ์„ค์น˜ํ•˜์—ฌ CRD๋ฅผ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.
    kubectl apply -k apigee-operator/etc/crds/default/ \
      --server-side \
      --force-conflicts \
      --validate=false
    
  7. APIGEE_NAMESPACE ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ apigee-operator ์ถœ์‹œ๋ฅผ ์‚ญ์ œํ•˜์—ฌ ๋กค๋ฐฑ ํ”„๋กœ์„ธ์Šค๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
    helm uninstall operator -n APIGEE_NAMESPACE
    
  8. operator๊ฐ€ ์ œ๊ฑฐ๋˜๋ฉด clusterIssuer์™€ ๊ฐ™์€ ์ผ๋ถ€ ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ”์œ„ ๋ฆฌ์†Œ์Šค๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f 1.13_OVERRIDES_FILE