[์นด๋๋ฆฌ ๋ฐฐํฌ blue, green ํํ]
- blue ๋ ํ์ฌ ํ๋ก๋์ ์์ ์๋น์ค ์ค์ธ ์์ ํ ๋ฒ์ ์ ์๋ฏธ.
- green ์ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ๊ฑฐ๋ ๋ฐฐํฌ ๋๊ธฐ์ค์ธ ๋ฒ์ ์ ์๋ฏธ.
๊ฒฐ๊ณผ์ ์ผ๋ก green -> blue ๋ก ๋ฐฐํฌ๊ฐ ์งํ๋๊ณ green ๋ฒ์ ์ด ์์ ํ๋๋ฉด green ์ด ์๋ก์ด blue ๋ฒ์ ์ด ๋๋ค.
ํํ์ด ์ค์ํ ๊น ์ถ๋ค๊ฐ๋ ๊ฒฐ๊ตญ ์ปค๋ฎค๋์ผ์ด์ ํ ๋, ์๋ชป๋ ํํ์ ์์ผ๋ก ์ธํด ์๋น์ทํ ์ปค๋ฎค๋์ผ์ด์ ์ด ๋๋๊ฑธ ํผํ๋ค.
[์นด๋๋ฆฌ ๋ฐฐํฌ๋ฅผ ์ํ ์ฟ ๋ฒ๋คํฐ์ค ์ค์ ]
- metadata/annotations/nginx.ingress.kubernetes.io/canary: "true"
์ธ๊ทธ๋ ์ค๋ฅผ ์นด๋๋ฆฌ ์ค์ ์ผ๋ก ํ๊ธฐ์ํด ์ ๋ด์ฉ์ด ํ์ํ๋ค. ์์ผ๋ฉด ๋์ผ ingress ์ค์ ์ด 2๊ฐ ์ด์ ์กด์ฌํ ์, nginx ๋ผ์ฐํ ์ด ์ ๋๋ก ์ด๋ฃจ์ด์ง์ง ์๋๋ค. ๋์ผ spec.rules.host: example.com ์ผ๋ก 2๊ฐ๊ฐ ์กํ์์ ๋, canary: "true" ๋ก ์ธํ์ฌ ๋ถ๋ฐฐ ์์ฒญ์ด ๋ค์ด๊ฐ ์ ์๋ค.
- metadata/annotations/nginx.ingress.kubernetes.io/canary-weight: "10"
100๊ฐ์ ์์ฒญ์ด ๋ค์ด์จ๋ค๋ฉด 10๊ฐ์ ์์ฒญ์ ์นด๋๋ฆฌ ๋ฐฐํฌ๋ก ๊ฐ๋๋ก ์ค์ ํ๋ค. ํธ๋ํฝ์ ๋ฐฑ๋ถ์จ์ ํํํ๋ค.
[์ฟ ๋ฒ๋คํฐ์ค ์นด๋๋ฆฌ ์ฐธ๊ณ ]
https://kubernetes.github.io/ingress-nginx/examples/canary/
โ โ โ
[nginx ํด์๊ธฐ๋ฐ ๋ผ์ฐํ ]
ํด๋ผ์ด์ธํธ์ ํน์ ๋ฐ์ดํฐ๊ฐ ํด์๊ธฐ๋ฐ์ผ๋ก ์ ๋ ฅ๋๋ค. ํน์ ๋ฐ์ดํฐ๋ IP, URI, cookie ๊ฐ ๋ฑ์ด ๋ ์ ์๋ค. ์ด ๋, ํด์ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์ซ์๋ฅผ ๋ฐํํ๊ฒ ๋๋๋ฐ, ์ด ์ซ์๊ฐ ngixn ๋ท ๋จ์ ๋ฐฑ์๋ ์๋ฒ์ด๋ค. "hash(client_ip) % number_of_backends" ๋ฅผ ๊ฐ์ง๊ณ ํน์ ์๋ฒ ์์๋ฅผ ๋ฐํํ๋ค. ๋ฐ๋ผ์ ํด๋น ๊ฐ์ ํตํ์ฌ ํน์ client_ip ๋ ํน์ ๋ฐฑ์๋ ์๋ฒ๋ก๋ง ์์ฒญ์ด ๊ฐ๊ฒ๋๋ค. ์ฅ์ ์ผ๋ก๋ ์ผ๊ด๋ ์ฐ๊ฒฐ์ ๊ฐ๋ฅ์ผ ํ๋ฉฐ, ๋กค๋ฐฑ ์์๋ ๊ธฐ์กด ๋ผ์ฐํ ์ ํฐ ๋ณํ๊ฐ ์ด๋ค์ง์ง ์๋๋ค. ์ผ๊ด๋ ํด์๋ผ๊ณ ํ๋ค.
โ โ โ
[Charles Proxy, Enable SSL Proxy ์ include *.* ๋ฅผ ํ์ง๋ง์]
*.* ์ค์ ์ ๋ชจ๋ ๋๋ฉ์ธ์ ๋ํด์ SSL Proxing ์ ํ์ฑํ ํ๊ฒ ๋ค๋ ์๋ฏธ๋ค. (mac ๊ธฐ์ค ๋จ์ถํค : shift + cmd + L)
"*" ๋ ์์ผ๋ ์นด๋. "*.*" ์ example.com, api.myapp.com, localhost:8443 ์ ๊ฐ์ ๋ชจ๋ ๋๋ฉ์ธ์ ํฌํจํ๋ค. ๊ฒฐ๊ตญ์ https ์์ฒญ/์๋ต์ ๋ณธ๋ฌธ, ํค๋, ์ฟ ํค, ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ๋ฑ์ ๋ด์ฉ์ ๋ณตํธํํ๋ ์๋๋ฅผ ํ๋ค. ์ ๋ด์ฉ์ผ๋ก ์ธํด์ ํ
์คํธํฐ ๋๋ฐ์ด์ค์์ firebase ํต์ ์ด ๋์ง ์๋ ์ด์๋ฅผ ํ์ธํ๋ค.
โ โ โ
[ํ ์ค ์ฌ๋์24 : ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์ถ์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ์ํ ์ํํธ์คํฌ 5๊ฐ์ง] (๋งํฌ)
๋๋ ์ฃผ๋์ด ๊ฐ๋ฐ์๊ฐ ์๋๋ค. ์ด๋์ ์ฐ์ฐจ๊ฐ ์ฐจ๋ฒ๋ ธ๋ค.. ํ์ง๋ง ์ง๊ธ๋ ์ฑ์ฅํ ์ ์๋ค๊ณ ์๊ฐํ๊ณ ..? ์์์์ฒญํ๋ค. ๋ด์ฉ์ ๋ณด๋ฉด์ ๋๋๊ฑฐ, ๋๋ ์์ฐ์ค๋ฝ๊ฒ ์ตํ ๋ถ๋ถ๋ค๋ ์๊ณ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ์ฑ์๋๊ฐ ๋ถ๋ถ๋ค๋ ์์ด๋ณด์๋ค.
(1) ๊ทธ๋ฆผ์ผ๋ก ์ํตํ๊ธฐ
- ๋ง, ๋ฌธ์ฅ, ํ ์คํธ ๋ณด๋จ ๋ค์ด์ด๊ทธ๋จ์ด๋ ๊ทธ๋ฆผ์ผ๋ก ์ํตํ๋ค.
- ๋ด๊ฐ ์ฃผ๋ก ํ๋๊ฑด ์ํ์ค ๋ค์ด์ด๊ทธ๋จ, ํ๋ก์ฐ ์ฐจํธ, c4 modeling ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
(2) ๋๋ง์ TODO List ๋ง๋ค๊ธฐ
- ๋ด๊ฐ ์ค์ฌ์ธ ํฌ๋๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค. ํ์ฌ์ ์ ๋ฌด ์ค์ฌ์ด ์๋ ๋ด ๊ฐ์ธ์ ์ค์ฌ์ผ๋ก ์์ฑ๋ ํฌ๋๋ฆฌ์คํธ.
- ์ด๋์๋ ์ ๊ทผํ ์ ์๋๋ก ์ ๊ทผ์ฑ์ด ์ข์์ผ ํ๋ค. ๊ณ์ ์์ด ๊ฐ์ผ ํ๋ค. ๋์ ๋์ ์๋ ๋ด์ฉ๊ณผ ํฌ๋๋ฆฌ์คํธ ๋ด์ฉ์ ๋๊ธฐํํ๋ค.
(3) ์ฝ๋๋ฅผ ๋ณด๋ ์๋ชฉ ๊ธฐ๋ฅด๊ธฐ
(4) ์? ๋ผ๊ณ ๋ฌป๊ธฐ
- ๋๊ตฐ๊ฐ์๊ฒ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์๋๋ฐฉ ์๋๋ฅผ ํ์ ํ๊ธฐ ์ํด "์?" ๋ผ๋ ์ง๋ฌธ์ ํด๋ณธ๋ค. ๋งน๋ชฉ์ ์ผ๋ก ํ์ง ๋ง๊ธฐ.
- ๋ด๊ฐ ์์ฒญํ ๋์๋ "์?" ์์ฒญ์ ํ๋์ง์ ๋ํ ์ต๊ด์ ๋ค์ด๋ฉด์ ์์ฒญ์ ํ๋ค.
(5) ๋๋ง์ ๊ฐ๋ฐ ๊ณต๋ถ๋ฒ ์ฐพ๊ธฐ
'Interest > ๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2024-11 ๊ฐ๋ฐ : ์ํฌ๋ฆฌ ๊ธฐ๋ก (0) | 2024.10.16 |
---|---|
2024-05 ๊ฐ๋ฐ : ์ํฌ๋ฆฌ๊ธฐ๋ก (0) | 2024.06.03 |
2024-04 ๊ฐ๋ฐ : ์ํฌ๋ฆฌ๊ธฐ๋ก (1) | 2024.04.10 |
2024-03 ๊ฐ๋ฐ : ์ํฌ๋ฆฌ ๊ธฐ๋ก (0) | 2024.03.09 |
2024-02 ๊ฐ๋ฐ : ์ํฌ๋ฆฌ ๊ธฐ๋ก (1) | 2024.02.20 |