Deploy MicroService - TheOpenCloudEngine/uEngine-cloud GitHub Wiki
๋จผ์ , ์์ค์ฝ๋๋ฅผ ๋ด๋ ค๋ฐ์ต๋๋ค.
git clone https://github.com/TheOpenCloudEngine/istio-tutorial
cd istio-tutorial
์์์ ์ ๋จผ์ , istioctl
์ด `PATH`์ ๊ฑธ๋ ค์๋์ง ํ์ธํฉ๋๋ค:
$ istioctl version
Version: 1.0.2
GitRevision: d639408fded355fb906ef2a1f9e8ffddc24c3d64
User: root@66ce69d4a51e
Hub: gcr.io/istio-release
GolangVersion: go1.10.1
BuildStatus: Clean
cd customer/java/springboot
mvn clean package
docker build -t gcr.io/uengine-istio-test/customer:v1 .
docker push gcr.io/uengine-istio-test/customer:v1
docker images | grep customer
๊ทธ๋ฐํ์ Google Container Registry์ ๋ฑ๋กํฉ๋๋ค.
kubectl apply -f <(istioctl kube-inject -f ../../kubernetes/Deployment.yml)
kubectl create -f ../../kubernetes/Service.yml
๋ค์์ ๋ช ๋ น์ผ๋ก ํด๋น ์ํฌ๋ก๋(pod)๊ฐ ์ ์์ ์ผ๋ก ๊ธฐ๋๋๋์ง ํ์ธํฉ๋๋ค:
kubectl get po -w
์ํ (status) ํ๋๊ทธ๊ฐ Running
์ด๋ฉด์ 2/2
pods ๋ก Ready
์ปฌ๋ผ์ ํ์๋๋ฉด ์ ์์ ์ผ๋ก sidecar ์ main ์ํฌ๋ก๋๊ฐ ๊ธฐ๋๋์์์ ํ์ธํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ฉด. `Ctrl+C`๋ฅผ ์
๋ ฅํ์ฌ ์ํ๋ณด๊ธฐ์์ ๋น ์ ธ๋์ต๋๋ค.
๊ทธ๋ฐํ, Customer ๋ชจ๋์ ํ ์คํธํฉ๋๋ค:
kubectl proxy # kube ํ๋ก์๋ฅผ ์คํํฉ๋๋ค. ๊ธฐ๋ณธ 8001๋ฒ ํฌํธ๋ก ์ด๋ฆฌ๊ฒ ๋ฉ๋๋ค.
curl http://..../api/v1/proxy/namespaces/default/services/customer:8080 # proxy ๋ฅผ ํตํ์ฌ ์ ์ํฉ๋๋ค. .... ๋ถ๋ถ์ ์ฝ์ ์๋จ์ '์น ๋ฏธ๋ฆฌ๋ณด๊ธฐ'์์ ์ค์ ํ์ฌ ์ด๋ฆฐ ์ฃผ์๋ฅผ ํ์ธํ๋ฉด ๋ฉ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก preference
์ recommendation
์๋น์ค ๋ํ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ์ฐ๊ฒฐํ์ง ์์ผ๋ฉด ํด๋น ํ์ผ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ ์๋น์ค๋์ง ์์ ํธ์ถ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฒ ๋ฉ๋๋ค:
customer => I/O error on GET request for "http://preference:8080": preference; nested exception is java.net.UnknownHostException: preference
๋ด๋ถ์ ๋ก๊ทธ๋ฅผ ์ดํด๋ณด๋ฉด,
stern customer -c customer
or
kubectl logs (customer pod ๋ช
) -c customer
๋ด๋ถ์ ์คํํธ๋ ์ด์ค๋ฅผ ํ์ธํ ์ ์์ต๋๋ค:
org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://preference:8080": preference; nested exception is java.net.UnknownHostException: preference
๋ฉ์ธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ,
cd ../../..