์๋ Envoy ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ๋ Compute Engine VM ์ค์ ์ต์
์ด ๊ฐ์ด๋์์๋ ์๋ Envoy ๋ฐฐํฌ๋ฅผ ์ํ ์ถ๊ฐ ์ต์ ๋ฐ ์์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ถ๊ฐ ์ธ์คํด์ค ํ ํ๋ฆฟ ๋ง๋ค๊ธฐ ์ต์
์๋ Envoy ํ๋ก์ ๋ฐฐํฌ๋ฅผ ์ํ ์ธ์คํด์ค ํ ํ๋ฆฟ์ ๋ง๋ค ๋ ๋ค์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ์ ์ผ๋ถ ์ธก๋ฉด๊ณผ ํ๋ก์ ๋์์ ์ ์ํ ์ ์์ต๋๋ค.
๋งค๊ฐ๋ณ์ | ๊ฐ ๋ฐ ์ค๋ช | ํ์ ๋๋ ์ ํ์ฌํญ |
---|---|---|
--service-proxy |
enabled VM์ ์๋น์ค ํ๋ก์ ๋ฐ ์์ด์ ํธ๋ฅผ ์ค์นํ๊ณ ๊ตฌ์ฑํ ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. |
์๋น์ค ํ๋ก์๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํ๊ณ ๊ตฌ์ฑํ๋ ค๋ฉด ํ์ ํญ๋ชฉ์ ๋๋ค. ์ด ์ค์ ์ ์๋ตํ๋ฉด ์๋น์ค ํ๋ก์๊ฐ ์ค์น ๋๋ ๊ตฌ์ฑ๋์ง ์์ต๋๋ค. |
--service-proxy:serving-ports |
์ธ๋ฏธ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ํฌํธ ๋ชฉ๋ก. ์ ํ๋ฆฌ์ผ์ด์ /์ํฌ๋ก๋๊ฐ ์๋ํ๋ ํฌํธ์ ๋๋ค. ์๋น์ค ํ๋ก์๊ฐ ์ธ๋ฐ์ด๋ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ์ localhost์ ์ง์ ๋ ์ ๊ณต ํฌํธ๋ก ์ด๋ฅผ ์ ๋ฌํฉ๋๋ค. |
์ ํ์ฌํญ ์ด ํ๋๊ทธ๋ฅผ ์๋ตํ๋ฉด ์๋น์ค ํ๋ก์๊ฐ ์ํฌ๋ก๋์ ์์๋ฐ์ด๋ ํธ๋ํฝ๋ง ์ฒ๋ฆฌํฉ๋๋ค. ์ธ๋ฐ์ด๋ ํธ๋ํฝ์ ์๋น์ค ํ๋ก์๋ก ์ฒ๋ฆฌ๋์ง ์์ต๋๋ค. |
--service-proxy:proxy-port |
๋จ์ผ ํฌํธ ์๋น์ค ํ๋ก์๊ฐ ๋ฆฌ์จํ๋ ํฌํธ์ ๋๋ค. VM์ด ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๊ณ ์ด ํฌํธ๋ก ๋ฆฌ๋๋ ์ ํ์ฌ ์๋น์ค ํ๋ก์๊ฐ ์ฒ๋ฆฌํ๋๋ก ํฉ๋๋ค. |
์ ํ์ฌํญ. ์ด ํ๋๊ทธ๋ฅผ ์๋ตํ๋ฉด ๊ธฐ๋ณธ๊ฐ์ 15001 ์
๋๋ค. |
--service-proxy:network |
์ ํจํ VPC ๋คํธ์ํฌ์ ์ด๋ฆ์
๋๋ค. ์๋น์ค ํ๋ก์ ์ปจํธ๋กค ํ๋ ์ธ์์ ์๋น์ค ํ๋ก์์ ๋์ ๊ตฌ์ฑ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ Google Cloud VPC ๋คํธ์ํฌ์ ๋๋ค. |
VM์ด ๋ ์ด์์ ๋คํธ์ํฌ์ ์๋ ๊ฒฝ์ฐ ํ์ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ์ ํ์ฌํญ์
๋๋ค. ์ด ํ๋๊ทธ๋ฅผ ์๋ตํ๋ฉด VM ์ธ์คํด์ค ํ ํ๋ฆฟ์ ๋ง๋๋ ๋์ --network ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค. |
--service-proxy:tracing |
ON ๋๋ OFF ์๋น์ค ํ๋ก์๊ฐ ๋ถ์ฐ ์ถ์ ์ ๋ณด๋ฅผ ์์ฑํ๋๋ก ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ON ๋ก ์ค์ ํ๋ฉด ์๋น์ค ํ๋ก์์ ์ ์ด ์์ญ์ด ์์ฒญ ID ๊ธฐ๋ฐ ์ถ์ ์ ์ฌ์ฉ ์ค์ ํ๋ ๊ตฌ์ฑ์ ์์ฑํฉ๋๋ค.์์ธํ ๋ด์ฉ์ Envoy ํ๋ก์์ฉ generate_request_id ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์. |
์ ํ์ฌํญ. ์ด ํ๋๊ทธ๋ฅผ ์๋ตํ๋ฉด ์ถ์ ์ด ์ฌ์ฉ ์ค์ ๋์ง ์์ต๋๋ค. |
--service-proxy:access-log |
์ ์ด ์์ญ์ ์ํด ์๋น์ค ํ๋ก์๋ก ์ ์ก๋๋ ์ก์ธ์ค ๋ก๊ทธ์ ํ์ผ ๊ฒฝ๋ก์
๋๋ค. ๋ชจ๋ ์์ ๋ฐ ๋ฐ์ ์์ฒญ์ ์ด ํ์ผ์ ๊ธฐ๋ก๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Envoy ํ๋ก์์ ํ์ผ ์ก์ธ์ค ๋ก๊ทธ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์. |
์ ํ์ฌํญ. ๊ธฐ๋ณธ๊ฐ์ ์์ต๋๋ค. ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ก๊ทธ๊ฐ ์์ฑ๋์ง ์์ต๋๋ค. |
--service-proxy:intercept-all-outbound-traffic (๋ฏธ๋ฆฌ๋ณด๊ธฐ) |
์๋น์ค ํ๋ก์์์ ๋ชจ๋ ๋๊ฐ๋ ํธ๋ํฝ ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ์ฌ์ฉ ์ค์ ํ๊ณ ์ธ๋ถ ํธ์คํธ๋ก ๋ฆฌ๋๋ ์
ํฉ๋๋ค. ์ด ์ต์
์ gcloud beta ๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
์ ํ์ฌํญ. |
--service-proxy:exclude-outbound-ip-ranges (๋ฏธ๋ฆฌ๋ณด๊ธฐ) |
์์ ํฐ๋ฐ์ดํ(")๋ก ์ง์ ๋์ด ์ธ๋ฏธ์ฝ๋ก (;)์ผ๋ก ๊ตฌ๋ถ๋ IP ์ฃผ์ ๋๋ CIDR ๋ฒ์ ๋ชฉ๋ก์ด๋ฉฐ, ๋ฆฌ๋๋ ์
์์ ์ ์ธ๋ฉ๋๋ค. intercept-all-outbound-traffic ํ๋๊ทธ๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค. ์ด ์ต์
์ gcloud beta ๋ฅผ ์ฌ์ฉํฉ๋๋ค.์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. exclude-outbound-ip-ranges="8.8.8.8;129.168.10.0/24" |
์ ํ์ฌํญ. |
--service-proxy:exclude-outbound-port-ranges (๋ฏธ๋ฆฌ๋ณด๊ธฐ) |
์์ ํฐ๋ฐ์ดํ(")๋ก ์ง์ ๋์ด ์ธ๋ฏธ์ฝ๋ก (;)์ผ๋ก ๊ตฌ๋ถ๋ ํฌํธ ๋๋ ํฌํธ ๋ฒ์ ๋ชฉ๋ก์ด๋ฉฐ, ๋ฆฌ๋๋ ์
์์ ์ ์ธ๋ฉ๋๋ค. intercept-all-outbound-traffic ํ๋๊ทธ๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค. ์ด ์ต์
์ gcloud beta ๋ฅผ ์ฌ์ฉํฉ๋๋ค.์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. exclude-outbound-port-ranges="81;8080-8090" |
์ ํ์ฌํญ. |
--service-proxy:scope (๋ฏธ๋ฆฌ๋ณด๊ธฐ) |
scope ์ต์
์ Gateway ๋ฆฌ์์ค์ ๋ํ ๋
ผ๋ฆฌ์ ๊ตฌ์ฑ ๊ฒฝ๊ณ๋ฅผ ์ ์ํฉ๋๋ค.
VM์ด ์์๋๋ฉด ์๋น์ค ํ๋ก์๊ฐ Cloud Service Mesh์ ํต์ ํ์ฌ ์ด ๋ฒ์ ์ด๋ฆ์ ๊ฒ์ดํธ์จ์ด์ ์ฐ๊ฒฐ๋ ๊ฒฝ๋ก์ ํด๋นํ๋ ๋ผ์ฐํ
์ ๋ณด๋ฅผ ๊ฒ์ํฉ๋๋ค. scope ๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ ๋คํธ์ํฌ ๊ฐ์ด ๋ฌด์๋ฉ๋๋ค. scope ๋ฐ mesh ๊ฐ์ ๋์์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ์ต์
์ gcloud beta ๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
์ ํ์ฌํญ. |
--service-proxy:mesh (๋ฏธ๋ฆฌ๋ณด๊ธฐ) |
mesh ์ต์
์ Mesh ๋ฆฌ์์ค์ ๋ํ ๋
ผ๋ฆฌ์ ๊ตฌ์ฑ ๊ฒฝ๊ณ๋ฅผ ์ ์ํฉ๋๋ค.
VM์ด ์์๋๋ฉด ์๋น์ค ํ๋ก์๊ฐ Cloud Service Mesh์ ํต์ ํ์ฌ ์ด ๋ฉ์ ์ด๋ฆ์ Mesh ์ ์ฐ๊ฒฐ๋ ๊ฒฝ๋ก์ ํด๋นํ๋ ๋ผ์ฐํ
์ ๋ณด๋ฅผ ๊ฒ์ํฉ๋๋ค. mesh ๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ ๋คํธ์ํฌ ๊ฐ์ด ๋ฌด์๋ฉ๋๋ค. scope ๋ฐ mesh ๊ฐ์ ๋์์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ์ต์
์ gcloud beta ๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
์ ํ์ฌํญ. |
--service-proxy:project-number (๋ฏธ๋ฆฌ๋ณด๊ธฐ) |
project-number ์ต์
์ Mesh ๋ฐ Gateway ๋ฆฌ์์ค๊ฐ ์์ฑ๋๋ ํ๋ก์ ํธ๋ฅผ ์ง์ ํฉ๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ์ธ์คํด์ค๊ฐ ์๋ ํ๋ก์ ํธ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๊ฒ์ ์ ์๋น์ค ๊ฒฝ๋ก ์ง์ API์๋ง ์ ์ฉ๋ฉ๋๋ค. |
์ ํ์ฌํญ. |
--service-proxy-labels |
key=value ํ์์ ํค/๊ฐ ์์
๋๋ค.์๋น์ค ํ๋ก์์ ์ ์ฉํ ์ ์๋ ๋ผ๋ฒจ์ ๋๋ค. ์ด๋ฌํ ๋ด์ฉ์ Envoy ํ๋ก์์ ๋ถํธ์คํธ๋ฉ ๋ฉํ๋ฐ์ดํฐ์ ๋ฐ์๋ฉ๋๋ค. ๋ผ๋ฒจ์ ํ๋ก์ ๋ฉํ๋ฐ์ดํฐ๋ก ์ค์ ํ๋ ค๋ ๋ชจ๋ key=value ์์ผ ์ ์์ต๋๋ค (์: ๊ตฌ์ฑ ํํฐ๋ง๊ณผ ํจ๊ป ์ฌ์ฉ). ์ ํ๋ฆฌ์ผ์ด์
๋ฐ ๋ฒ์ ๋ผ๋ฒจ์ ์ด๋ฌํ ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค(์: app=review ๋๋ version=canary ). ๋์ ํจ๊ป ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
|
์ ํ์ฌํญ. |
์๋ฅผ ๋ค์ด ๋ค์ gcloud
๋ช
๋ น์ด๋ proxy-it
์ด๋ผ๋ ์ธ์คํด์ค ํ
ํ๋ฆฟ์ ๋ง๋ญ๋๋ค. ์ด ํ
ํ๋ฆฟ์ผ๋ก ์์ฑ๋ ์ธ์คํด์ค์๋ Envoy ํ๋ก์์ ์๋น์ค ํ๋ก์ ์์ด์ ํธ๊ฐ ์ค์น๋์ด ์์ต๋๋ค.
gcloud compute instance-templates create proxy-it \ --service-proxy enabled
๋ค์ ์์์์ ์ธ์คํด์ค ํ
ํ๋ฆฟ์ proxy-it
์ด๋ผ๊ณ ํ๋ฉฐ, Envoy ํ๋ก์ ๋ฐ ์๋น์ค ํ๋ก์ ์์ด์ ํธ๊ฐ ์ค์น๋๊ณ ์ ๊ณต ํฌํธ ๋ฐ ํ๋ก์ ํฌํธ๊ฐ ์ค์ ๋๊ณ ์ถ์ ์ด ์ฌ์ฉ ์ค์ ๋์ด ์์ผ๋ฉฐ ๋ผ๋ฒจ์ด ์ ์๋ฉ๋๋ค.
gcloud compute instance-templates create proxy-it \ --service-proxy enabled,serving-ports=8080,proxy-port=15001,tracing=ON \ --service-proxy-labels version=canary
๋ค์ ๋ค์ด์ด๊ทธ๋จ์ ์ ๊ณต ํฌํธ๋ฅผ 8080
์ผ๋ก ์ง์ ํ๋ ๊ฒฝ์ฐ์ ํธ๋ํฝ ํ๋ฆ์ ๋ณด์ฌ์ค๋๋ค. ํฌํธ 8080
์ ๋ํ ์ธ๋ฐ์ด๋ TCP ์ฐ๊ฒฐ์ iptable์ ์ํด ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํ์ฌ Envoy ํ๋ก์๋ก ๋ฆฌ๋๋ ์
๋ ๋ค์ TCP ํฌํธ 8080
์์ ๋ฆฌ์จํ๋ VM์ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ๋ํ ๋ค์ ์ฌํญ๋ ์ ์ฉ๋ฉ๋๋ค.
- Cloud Service Mesh์ ๊ตฌ์ฑ๋ ์๋น์ค VIP์ ๋ชจ๋ ์์๋ฐ์ด๋ ์ฐ๊ฒฐ์ netfilter๋ฅผ ๊ตฌ์ฑํ๋ iptable์ ์ํด ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํฉ๋๋ค. netfilter๋ ๋คํธ์ํฌ ์คํ์ ํต๊ณผํ๋ ํด๋น ํธ๋ํฝ์ด ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํ๊ณ Envoy ํ๋ก์๋ก ๋ฆฌ๋๋ ์ ๋๋๋ก ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Cloud Service Mesh๊ฐ ๊ตฌ์ฑ๋ ๋ฐฉ์์ ๋ฐ๋ผ ํธ๋ํฝ์ด ๋ถํ ๋ถ์ฐ๋ฉ๋๋ค.
- ๋ค๋ฅธ ๋ชจ๋ ์ธ๋ฐ์ด๋ ์ฐ๊ฒฐ์ iptables์ ์ํด ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํ์ง ์์ผ๋ฉฐ VM์ ์ง์ ์ ๋ฌ๋ฉ๋๋ค.
- ์ธ๋ถ ์๋ํฌ์ธํธ์ ๋ํ ๋ชจ๋ ์ฐ๊ฒฐ์ ์ค๋จ ์์ด ์ธ๋ถ IP ์ฃผ์๋ก ์ง์ ์ ๋ฌ๋ฉ๋๋ค.
- ๋ชจ๋ UDP ํธ๋ํฝ์ iptable์ ์ํด ์ค๋จ๋์ง ์๊ณ ๋์์ผ๋ก ์ง์ ์ ๋ฌ๋ฉ๋๋ค.
๋ค์ ๋ค์ด์ด๊ทธ๋จ์ ์ฐธ์กฐํ์ธ์.
๋ค์ด์ด๊ทธ๋จ์ ํธ๋ํฝ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋์ ํฌํธ
80
์ด ์๋ ์ธ๋ฐ์ด๋ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํ๊ณ ํฌํธ์์ ๋ฆฌ์จํ๋ ์๋น์ค๋ก ์ง์ ๋ผ์ฐํ ๋์ง ์์ต๋๋ค. - ๋์ ํฌํธ
8080
์ด ์๋ ์ธ๋ฐ์ด๋ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํ๊ณ Envoy ๋ฆฌ์ค๋ ํฌํธ๋ก ๋ฆฌ๋๋ ์ ๋ฉ๋๋ค. - Envoy๋ (2)์์ localhost ํฌํธ
8080
์์ ๋ฆฌ์จํ๋ ์๋น์ค 2๋ก ํธ๋ํฝ์ ์ ๋ฌํฉ๋๋ค. - Cloud Service Mesh ์ ๋ฌ ๊ท์น VIP ๋ฐ ํฌํธ๋ฅผ ๋์์ผ๋ก ํ๋ ์์๋ฐ์ด๋ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํ๊ณ Envoy ๋ฆฌ์ค๋ ํฌํธ๋ก ๋ฆฌ๋๋ ์ ๋ฉ๋๋ค.
- Envoy๋ ํธ๋ํฝ์ (4)์์ ๋์ Cloud Service Mesh ๋ฐฑ์๋ ์๋น์ค ๋ฐฑ์๋์ ์๋ํฌ์ธํธ๋ก ์ ๋ฌํฉ๋๋ค.
- Cloud Service Mesh VIP ๋ฐ ํฌํธ๋ฅผ ๋์์ผ๋ก ํ๋ ์์๋ฐ์ด๋ ํธ๋ํฝ์ด๋ฉฐ ๊ฐ๋ก์ฑ๊ธฐ๋ฅผ ๋นํ์ง ์์ผ๋ฉฐ ์ธ๋ถ ์๋น์ค๋ก ์ง์ ๋ผ์ฐํ ๋ฉ๋๋ค.
๋ผ๋ฒจ ์ฌ์ฉ
Cloud Service Mesh ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง์ ์ฌ์ฉํ ๋ผ๋ฒจ์ ์ง์ ํ๊ฑฐ๋ Envoy ํ๋ก์์ ๋ํ ์ก์ธ์ค ๋ก๊น
์ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด --service-proxy-labels
๋๋ --service-proxy access-log
ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
gcloud compute instance-templates create td-vm-template-auto \ --service-proxy enabled,access-log=/var/log/envoy/access.log,network=default \ --service-proxy-labels myapp=review,version=canary
Envoy ํ๋ก์๋ VM์ ์๋น์ค์ ๋ํ ์ํ ํ์ธ ํฌํธ๋ฅผ ๊ฐ๋ก์ฑ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ํ ํ์ธ ํ๋ก๋ธ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ Envoy ํ๋ก์์ ๋ํด ๋ณด๊ณ ํฉ๋๋ค. Envoy ํ๋ก์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์คํ๋์ง ์์ผ๋ฉด ํธ๋ํฝ์ด VM์ผ๋ก ์ ๋ฌ๋์ง ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
gcloud compute instance-templates create td-vm-template-auto \ --service-proxy=enabled,serving-ports="80;8080"
๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน ์ ๋ฐ์ดํธ ํ๋ก์ธ์ค ์ฌ์ฉ
Envoy ํ๋ก์ ๊ตฌ์ฑ์ ์ํด ์๋ํ๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน ์ ๋ฐ์ดํธ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค. ์ด ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- ์๋น์ค ํ๋ก์ ๊ตฌ์ฑ์์๋ฅผ ๊ธฐ์กด ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน์ ์ถ๊ฐํ๊ณ Cloud Service Mesh ๋คํธ์ํฌ์ ๋ฑ๋กํฉ๋๋ค.
- VM์์ ์๋น์ค ํ๋ก์ ๊ตฌ์ฑ์์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
์์ฐจ์ ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๊ธฐ ์ ์ ๋ค์์ ์ํํฉ๋๋ค.
- ๋ฐฑ์๋ ์๋น์ค์ ์ฐ๊ฒฐ ๋๋ ์ด๋ ๊ฐ์ ์ต์ 30์ด๋ก ์ค์ ํฉ๋๋ค.
- ์
๋ฐ์ดํฐ๋ฅผ ํธ์ถํ ๋
--min-ready
๋งค๊ฐ๋ณ์๋ฅผ 3๋ถ ์ด์์ ๊ฐ์ผ๋ก ์ค์ ํฉ๋๋ค.--min-ready
๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด VM์ด ์ ๋ฐ์ดํธ๋ ํ ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน์ด ๋๊ธฐํ๋ค๊ฐ ๋ค์ VM ์ ๋ฐ์ดํธ๋ฅผ ์งํํ ์ ์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๊ฐ ์์ผ๋ฉด ์๋ก ๋ง๋ VM์ด Envoy ๋ฐ ์๋น์ค ํ๋ก์ ์์ด์ ํธ๋ฅผ ์์ ํ ๋ถํ ํ ์๊ฐ์ด ์์ผ๋ฉฐ ์ ๋ฐ์ดํธ๊ฐ ๋๋ฌด ๋นจ๋ฆฌ ์งํ๋ฉ๋๋ค.
๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน์์ ์์ฐจ์ ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
- ์์์ ์ค๋ช ํ ๋๋ก ์๋น์ค ํ๋ก์ ์ ๋ณด๋ก ์ ์ธ์คํด์ค ํ ํ๋ฆฟ์ ๋ง๋ญ๋๋ค. ์๋น์ค ํ๋ก์ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๊ณ ๋ชฉํ๊ฐ ํ๋ก์ ์ํํธ์จ์ด์ ๊ฐ์ฅ ์ต์ ์ธ ์์ ์ ์ธ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๊ฒ์ผ ๊ฒฝ์ฐ ์ธ์คํด์ค ํ ํ๋ฆฟ์ ์๋ ๋ฒ์ ์ด ์ ๋ฐ์ดํธ์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน์ ์์ฐจ์ ์
๋ฐ์ดํธ๋ฅผ ์ํํฉ๋๋ค.
REPLACE
๊ฐ ์ ๋ฐ์ดํฐ๊ฐ ์ํํด์ผ ํ๋ ์ต์ ์์ ์ผ๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ธ์คํด์ค ๊ทธ๋ฃน์ด ์ต์ ๋ฒ์ ์ ํ๋ก์ ์ํํธ์จ์ด๋ฅผ ์ค์นํ๊ณ ์ธ์คํด์ค ํ ํ๋ฆฟ์ ์ง์ ๋ ๋๋ก ๊ตฌ์ฑํฉ๋๋ค.
์ ๋ฐ์ดํธ ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน์์ ์๋น์ค ํ๋ก์ ๊ตฌ์ฑ์์๋ฅผ ์ญ์ ํ ์๋ ์์ต๋๋ค.
--service-proxy
ํ๋๊ทธ๋ฅผ ์ง์ ํ์ง ์๊ณ ์ ์ธ์คํด์ค ํ ํ๋ฆฟ์ ๋ง๋ญ๋๋ค.๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน ์ ๋ฐ์ดํธ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ฐจ์ ์ ๋ฐ์ดํธ๋ฅผ ์ํํฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด VM์์ Envoy ํ๋ก์๊ฐ ์ญ์ ๋ฉ๋๋ค. ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน์ด ๋ฐฑ์๋ ์๋น์ค์ ์ฐ๊ฒฐ๋ ์ ์ผํ MIG์ธ ๊ฒฝ์ฐ Cloud Service Mesh๋ฅผ ์ค์ ํ ๋ ๋ง๋ Cloud Service Mesh ๊ตฌ์ฑ์ ์ญ์ ํ๊ณ ์ ํ ์ ์์ต๋๋ค.