๋ค์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์์ต๋๋ค.https://www.redhat.com/ko/topics/automation/what-is-infrastructure-as-code-iachttp://www.itdaily.kr/news/articleView.html?idx
aws eks 1.20istio 1.10์ด๋ฒ์ ์ ๊ท ์๋น์ค๋ฅผ ๋ง๋๋ฉด์ ์ด์ด์๋ ์ค์๋ก ์ธํด istio ๋ก ์๋น์ค ํธ์ถ์ด ์ ์์ ์ด์ง ์์๋ ์ํฉ์ ๊ณต์ ํ๋ค. ๋์ค์ ๊ฐ์ ์ค์ํ์ง ์๊ฒ. ํน์ ์ด ๊ธ์ ๋ณผ ๊ฐ๋ฐ์๊ฐ ์ด ์ํฉ์์ ๊ธ๋ฐฉ ํ์ถ ํ ์ ์๊ฒ. ๊ธฐ๋ก์ ์๋ช ์ด๋ค :)
์ค๋ ๋CPU ์ด์ฉ์ ๊ธฐ๋ณธ ๋จ์ํ๋ก์ธ์ค์ ์์ ํ๋ฆ์ค๋ ๋ ID, ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC), ๋ ์ง ์คํฐ ์งํฉ, ๊ทธ๋ฆฌ๊ณ ์คํ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์๊ฐ์ ํ๋ก์ธ์ค์ ์ํ ๋ค๋ฅธ ์ค๋ ๋์ ์ฝ๋, ๋ฐ์ดํฐ ์น์ , ์ด๋ฆฐ ํ์ผ, ์ ํธ ๊ฐ์ ์ด์์ฒด์ ์ ํต ์ ์ธ ํ๋ก์ธ์ค๋ ํ๋ ์ด์์ ์ ์ด ์ฐ๋ ๋๋ฅผ
์ ์ฒด ํด๋์ค ์ค ์๋ฏธ์๋ ํด๋์ค๋ค์ ๋ฌถ์ ๊ฐ๊ฐ์ ์งํฉ๋ฐ๋ณต๋๋ ์๋ฏธ์๋ ์งํฉ์ ์ ์ํ๊ณ , ์ด๋ฆ์ ์ง์ ํ ํ ๋์ผํ ์๋ฏธ์ ํจํด์ผ๋ก์จ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ ์ ์๋๋ก ๋ง๋ค์ด ๋์ ๊ฒModel, view, Controller ์ญํ ์ ๊ฐ๊ธฐ ๋๋์ด Class ๋ฅผ ์์ฑํ๊ณ ๊ฐ๋ฐํ
ํ๋ก์ธ์ค๋ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋งํ๋ค.ํ๋ก์ธ์ค๋ ํ๋ ์ปดํจํ ์์คํ ์ ๋จ์์ด๋ค.ํ๋์ ์์คํ ์ ์ผ๋ถ๋ ์ฌ์ฉ์ ์ฝ๋๋ฅผ ์คํํ๊ณ ์ผ๋ถ๋ ์ด์์ฒด์ ์ฝ๋๋ฅผ ์คํํ๋ ํ๋ก์ธ์ค์ ์งํฉ์ฒด์ด๋ค.โ ์ด์ฐฝ๊ธฐ : ์ปดํจํฐ๋ ์์ (job)์ ์คํํ๋ ์ผ๊ด์ฒ๋ฆฌ ์์คํ ์ด์๊ณ , ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ
https://kubernetes.io/ko/docs/setup/best-practices/certificates/ ์ฟ ๋ฒ๋คํฐ์ค๋ TLS ์ธ์ฆ์ ์ํด์ PKI ์ธ์ฆ์๊ฐ ํ์ํ๋ค kuberadm ์ผ๋ก ์ค์นํ๋ค๋ฉด ์ ๋ถ ์ธ์ฆ์๋ฅผ ์๋์ผ๋ก ์ค์น๋๋ค. ์ฃผ์ ํ์ผ ์์น โญ๏ธ
ํ๋๋ฅผ ๋ ธ๋์ ์ง์ ํด์ ์ค์ผ์ค๋งํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์! ํน์ ๋ ธ๋์ ํ๋ ์ค์ผ์ค๋ง ๋ ธ๋์ ํ๋๋ฅผ ์ง์ ํด์ ์ค์ผ์ค๋ง์ ํ๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๊ฐ ์๋ค. Tip! kube-scheduler๋ ํ๋๋ฅผ ๋ ธ๋์ ํ ๋นํ๋ค. ๋ฐ๋ผ์ ์ด kube-scheduler๊ฐ ์์ด์ผ์ง ์ค์ผ์ค๋ง์ด
์๋ก ์์ ์ด์คํฐ์ค๋ฅผ ๊ตฌ์ฑํ ๋, 4๊ฐ์ง ์ข ๋ฅ์ ์๋์จ์ ์ค์น๋ฅผ ์์ฝ๊ฒ ํ ์ ์์๋ค. (๋ค์ ๋ฌธ์ ์ฐธ๊ณ : https://velog.io/@borab/Istio) ํ์ง๋ง ๋ง์ ์ธํ ์ ๋๋ด๊ณ ๋ณด๋, ์ด Telemetry ๊ฐ ์ ์ฉํ ๊ฒ์ ์์ง๋ง ์ ๋ชจ๋ฅด๋ ๊ธฐ๋ฅ๋ค์ด ์
๐ค ์คํ๋ง ํด๋ผ์ฐ๋ ์๋ฆฌ์ฆ! > ์คํ๋ง ํด๋ผ์ฐ๋ ๊ฒ์ดํธ์จ์ด๋ฅผ ์ธํ ํ๊ณ ํ์ธํด๋ณด์ ์ด ๊ธ์ ํด๋น ๊ธ๊ณผ ์ด์ด์ง๋ ๊ธ์ ๋๋ค. https://velog.io/@borab/Spring-Cloud-Eureka Spring Cloud Gateway๋? spring clou
๐ค ์คํ๋ง ํด๋ผ์ฐ๋ ์๋ฆฌ์ฆ! > ์คํ๋ง ํด๋ผ์ฐ๋ ์ ๋ ์นด๋ฅผ ์ธํ ํ๊ณ ํ์ธํด๋ณด์ ์ ๋ ์นด๋ ๋ฌด์์ธ๊ฐ? > ์คํ๋ง ํด๋ผ์ฐ๋ ์ ๋ ์นด๋ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ์ด์ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ์ด๋ค ์ด๋ ๊ฒ ๋งํ๋ฉด ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ๊ฐ ๋ฌด์์ธ์ง, ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๊ฐ ๋ฌด์์ธ์ง ํท๊ฐ๋ฆด ๊ฒ์ด๋ค.
msa ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ค๊ณ ํ๋ค github์ ์์ค์ฝ๋๋ฅผ ํ๊ณณ์ ๋ชจ์๋๊ณ ์ถ์ด์ก๋ค ์์ค์ฝ๋๋ฅผ ํ๋ฒ์ ๊ด๋ฆฌํ ์ ์๋ ๋ฉํฐ๋ชจ๋ ํ๋ก์ ํธ๋ก ์ง๊ธ ํ๋ก์ ํธ๋ฅผ ๋ฐ๊ฟ๋ณด์https://velog.io/@borab/Spring-Cloud-Config ์ ์ด์ด์ง๋ ๋ด์ฉ์ด๋ค
๐ค ์คํ๋ง ํด๋ผ์ฐ๋ ์๋ฆฌ์ฆ! > ์คํ๋ง ํด๋ผ์ฐ๋ ์ปจํผ๊ทธ ์๋ฒ๋ฅผ ์ธํ ํ๊ณ ํ์ธํด๋ณด์ ์คํ๋ง ํด๋ผ์ฐ๋ ์ปจํผ๊ทธ ์๋ฒ๋ ๋ฌด์์ธ๊ฐ? ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ์ 12 factor (https://12factor.net/ko/ ) ์์ ์ค ํ๋๊ฐ * ์ค์ ์ ์ฝ๋์์ ์๊ฒฉํ๊ฒ ๋ถ๋ฆฌํ
์คํ๋ง ํด๋ผ์ฐ๋๋ฅผ ํ์ฉํด์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋๋ฐ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.์ด ์๋ฌ๋ ์ ๋ฐ์ํ๋ ๊ฑธ๊น ํ๊ณ ๋ช์๊ฐ๋์ ๊ตฌ๊ธ๋ง ํด๋ดค๋๋ฐ์ด์ ๋ ์คํ๋ง ๋ถํธ ๋ฒ์ ๊ณผ ์คํ๋ง ํด๋ผ์ฐ๋ ๋ฒ์ ์ด ์ผ์นํ์ง ์์์ ๋ฐ์ํ ๊ฒ์ด์๋ค.๋ก ํ ๊ฒฝ์ฐ์๋ ์คํ๋ง ๋ถํธ 2.3.x ์ดํ๋ฅผ ์ฌ์ฉํด์ผ
์ผ๋จ Event Driven Architecture ๋ผ๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์๊ธฐ ์ ์ ์ด ์ฉ์ด๋ฅผ ๊ตฌ์ฑํ๊ณ ์๋ ๋จ์ด์ ๋ํด์ ๋ถ์ํด๋ณด์.๋จผ์ ํ์ธํด์ผ ํ ๊ฒ์ ๋ฉ์์ง์ด๋ค์๋น์๊ฐ ์ธ์ํ๊ณ ๊ทธ์ ๋ฐ๋ผ ํ๋ํ ์ ์๋๋ก ์ ๋ณด๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํด ์์ฐ์๊ฐ ๋ง๋ ๋ฐ์ดํฐ๊ทธ๋จ์ ๊ฐ์๊ธฐ M
ํฌ๋ฆฌ์ค ๋ฆฌ์ฒ๋์จ์ "๋ง์ดํฌ๋ก์๋น์ค ํจํด"์ ์ฝ๊ณ ํค์๋๋ฅผ ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค ๋ง์ดํฌ๋ก์๋น์ค ์ ์ ๊ฒฝ๊ณ ์ปจํ ์คํธ(bounded context) ๊ฐ ์๋, ๋์จํ๊ฒ ๊ฒฐํฉ๋ ์๋ฆฌ๋จผํธ๋ก ๊ตฌ์ฑ๋ ์๋น์ค ์งํฅ ์ํคํ ์ฒ ํน์ง 1) ๋ชจ๋์ฑ : API ๋ผ๋ ๊ฒฝ๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ด ์
MSA ๋ฑ ๋ถ์ฐ ์์คํ ๊ตฌ์กฐ์์ application.yaml ๋ฑ config ์ ๋ณด๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ธ๋ถ์์ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ.์ฟ ๋ฒ๋คํฐ์ค๋ ์ธ๋ถ์์ ํ๋ผ๋ฉํฐ๋ฅผ ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ ConfigMap ์ ์ ๊ณตํ๋ค. ๊ตฌํ ์๋๋ฆฌ์ค๊ฐ๋จํ ์คํ๋ง ๋ถํธ ์ดํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑprofiles
ํ๊ฒฝ > aws eks > kubernetes 1.20 > helm 3.6.1 ์กฐ๊ฑด! argocd helm ๋ฆฌํฌ๋ฅผ ๊ฐ์ ธ์จ๋ค https://github.com/argoproj/argo-helm/tree/master/charts/argo-cd
์ฟ ๋ฒ๋คํฐ์ค๊ฐ v1.20 ์ดํ ์ปจํ ์ด๋ ๋ฐํ์์ผ๋ก์ ๋์ปค๋ฅผ ์ฌ์ฉ์ depricated๐ฅ ํ๋ค๊ณ ํ๋ค๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ปจํ ์ด๋ ๋ฐํ์์ docker ์์ ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ๊ณ์ ์ง์ํ๋ ๋ค๋ฅธ ์ข ๋ฅ๋ก ๋ณ๊ฒฝํ ํ์๊ฐ ์๋ค. ์ฐธ๊ณ : https://kubernetes.io/k
aws ๊ธฐ๋ณธ ์ฉ์ด์ ๊ฐ๋ ์ ์์๋ณด์! AWS ๋คํธ์ํฌ VPC (Virtual Private Cloud) : https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html EC2 ์ ์ฉ ๊ฐ
์ฐธ๊ณ https://coe.gitbook.io/guide/log/efk https://jonnung.dev/system/2018/04/06/fluentd-log-collector-part1/ EFK๋? > ElasticSearch + Fluentd + Kibana