[k8s] consul: Consul on Kubernetes (GCP)

consul์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Service Mesh ๊ตฌํ˜„์ฒด ์ค‘ ํ•˜๋‚˜๋‹ค.
istio์— ๋น„ํ•˜๋ฉด ์„ฑ๋Šฅ๋„ ๊ฝค ๋น ๋ฅด๊ณ , ์‚ฌ์šฉ์„ฑ๋„ ์ข‹๋‹ค๋Š” ํ‰๊ฐ€๊ฐ€ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ „์šฉ์ด ์•„๋‹ˆ๋ผ AWS, Azure ๋“ฑ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋“ค๊ณผ๋„ ํ†ตํ•ฉ์ด ์ž˜ ์ง€์›๋œ๋‹ค.

Service Discovery, K/V ์Šคํ† ์–ด ๊ธฐ๋Šฅ ๋“ฑ์„ ์ œ๊ณตํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์— consul์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•๋งŒ ๋‹ค๋ฃฌ๋‹ค.





consul ์„œ๋ฒ„ ๋„์šฐ๊ธฐ (GCP)

GCP GKE์— consul ์„œ๋ฒ„๋ฅผ ๋„์šฐ๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค.
GCP์—์„œ๋Š” consul์— ๋Œ€ํ•œ ์ž๋™ํ™”๋œ ๊ตฌ์„ฑ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

์ด๋™ํ•ด์„œ "๊ตฌ์„ฑ" ๋ˆ„๋ฅด๊ณ 


consul ์„œ๋ฒ„๋ฅผ ๋„์šธ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ ํƒํ•ด์„œ, ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋œ๋‹ค.
์ด ์ž๋™ ๊ตฌ์„ฑ์€ ํ˜„์žฌ๋Š” autopilot ํด๋Ÿฌ์Šคํ„ฐ์—๋Š” ์ง€์›์ด ์•ˆ๋˜๊ณ , standard ํด๋Ÿฌ์Šคํ„ฐ์—๋งŒ ์ง€์›๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ ๋‹ค ๋œฌ๋‹ค๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฆฌ์†Œ์Šค๋“ค์ด ๊ตฌ์„ฑ์ด ๋˜์—ˆ์„ ๊ฒƒ์ด๋‹ค.

์ €๊ธฐ์„œ consule-ui๋ผ๋Š” ๊ฒƒ์ด GUI ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋‹ค.




UI ์™ธ๋ถ€ IP ์—ด๊ธฐ

๊ทธ๋ƒฅ ๋‚ด๋ถ€ IP๋งŒ์œผ๋กœ๋งŒ ์ ‘๊ทผ์ด ๋˜๋ฉด ์ƒ๊ด€์ด ์—†์ง€๋งŒ, ์›๊ฒฉ์œผ๋กœ ์ ‘์†ํ•ด์„œ ๋ณด๊ณ ์‹ถ์„ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋‹ฌ์•„์„œ ์™ธ๋ถ€ ๊ณต๊ฐœ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

kubectl patch service consul-1-consul-ui -p '{"spec": {"type": "LoadBalancer"}}'

๊ทธ๋Ÿฌ๋ฉด IP๊ฐ€ ์—ด๋ฆฌ๊ณ 

์ ‘์†์„ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋‹ค๋งŒ ์ด๊ฑธ ๊ทธ๋ƒฅ ๊ณต๊ฐœํ•œ๋‹ค๋Š”๊ฑด ์‹ฌ๊ฐํ•œ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋„คํŠธ์›Œํฌ policy ๋“ฑ์„ ํ™œ์šฉํ•ด์„œ ์ธ๋ฐ”์šด๋“œ๋ฅผ ์ œํ•œํ•œ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.
https://blog.naver.com/sssang97/223101386886




์ฐธ์กฐ
https://logz.io/blog/istio-linkerd-consul-comparison-service-meshes/
https://www.hahwul.com/2018/08/23/consul-service-mesh-made-easy/