[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/