[AEWS] #9์ฃผ์ฐจ EKS ๋ธ”๋ฃจ ๊ทธ๋ฆฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ with Terraform

[AEWS] #9์ฃผ์ฐจ EKS ๋ธ”๋ฃจ ๊ทธ๋ฆฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ with Terraform

25๋…„๋„ AWS EKS Hands-on Study ์Šคํ„ฐ๋”” ์ •๋ฆฌ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.๋ณธ ์‹ค์Šต ์ฐธ๊ณ  ํŽ˜์ด์ง€ : https://aws-ia.github.io/terraform-aws-eks-blueprints/patterns/blue-green-upgrade/  ๋ธ”๋ฃจ๊ทธ๋ฆฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹ค์Šต๋ธ”๋ฃจ๊ทธ๋ฆฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด๋ž€๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฐํฌ ์ „๋žต์œผ๋กœ ๋‘ ๊ฐœ์˜ ๊ฑฐ์˜ ๋™์ผํ•œ ์šด์˜ ํ™˜๊ฒฝ(Blue, Green)์„ ํ™œ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๊ณ  ๋กค๋ฐฑ ๊ฐ€๋Šฅ์„ฑ๋„ ํ™•๋ณดํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. EKS Blueprints๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‘ ๊ฐœ ๋ฒ„์ „์˜ ํด๋Ÿฌ์Šคํ„ฐ ๋˜๋Š” ๋‘ ๊ฐœ ๋ฒ„์ „์˜ ๋””ํ”Œ๋กœ์ด๋จผํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.  ์‚ฌ์ „ ์ž‘์—…aws secretsmanager create-secret \ --name github-blueprint-ssh..

  • textsms
[AEWS] #8์ฃผ์ฐจ ์  ํ‚จ์Šค, ArgoCD ์‹ค์Šต (2)

[AEWS] #8์ฃผ์ฐจ ์  ํ‚จ์Šค, ArgoCD ์‹ค์Šต (2)

Argo CD ์‹ค์Šต(2)Kubernetes์—์„œ Finalizer๋Š” ๋ฆฌ์†Œ์Šค์˜ ์‚ญ์ œ ์‹œ์ ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค.๋ฆฌ์†Œ์Šค์˜ metadata.finalizers ํ•„๋“œ์— ์ •์˜๋œ Finalizer๋Š” ์‚ญ์ œ ์š”์ฒญ์ด ๋“ค์–ด์™”์„ ๋•Œ ๊ณง๋ฐ”๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ , ์ง€์ •๋œ ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ข…๋ฃŒ ์ค‘(Terminating) ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์‚ญ์ œ ์ „์— ํ•„์š”ํ•œ ์ •๋ฆฌ(cleanup) ์ž‘์—…์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.ArgoCD๋Š” ์ด Kubernetes Finalizer ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ญ์ œ ์‹œ ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํ•จ๊ป˜ ์ •๋ฆฌํ•˜๋„๋ก ์ œ์–ดํ•œ๋‹ค cat   kubectl get pod,svc,ep,cm -n dev-nginxNAME ..

  • textsms
[AEWS] #8์ฃผ์ฐจ ์  ํ‚จ์Šค, ArgoCD ์‹ค์Šต

[AEWS] #8์ฃผ์ฐจ ์  ํ‚จ์Šค, ArgoCD ์‹ค์Šต

25๋…„๋„ AWS EKS Hands-on Study ์Šคํ„ฐ๋”” ์ •๋ฆฌ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์  ํ‚จ์ŠคJenkins๋Š” ์˜คํ”ˆ์†Œ์Šค๋กœ ์ œ๊ณต๋˜๋Š” ์ž๋™ํ™” ์„œ๋ฒ„๋กœ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์ฝ”๋“œ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ํŒจํ‚ค์ง•, ๋ฐฐํฌ์™€ ๊ฐ™์€ CI(Continuous Integration) ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด Git, Docker, Kubernetes ๋“ฑ ์—ฌ๋Ÿฌ ๋„๊ตฌ์™€ ์‰ฝ๊ฒŒ ์—ฐ๋™๋˜๋ฉฐ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ํ‘ธ์‰ฌํ•˜๋ฉด Jenkins๊ฐ€ ์ด๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•œ๋‹ค. cat docker-compose.yamlservices: jenkins: contai..

  • textsms
[AEWS] #7์ฃผ์ฐจ Fargate ๋ฐฐํฌ ์‹ค์Šต

[AEWS] #7์ฃผ์ฐจ Fargate ๋ฐฐํฌ ์‹ค์Šต

25๋…„๋„ AWS EKS Hands-on Study ์Šคํ„ฐ๋”” ์ •๋ฆฌ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. Fargate๋ž€AWS Fargate๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ์—”์ง„์œผ๋กœ ์‚ฌ์šฉ์ž๋Š” ์„œ๋ฒ„๋‚˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ง์ ‘ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด ์ปจํ…Œ์ด๋„ˆ๋งŒ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค.๊ธฐ์กด Amazon ECS ๋˜๋Š” Amazon EKS์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ง์ ‘ ๊ตฌ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋˜ ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ Fargate๋Š” ์ด๋Ÿฌํ•œ ์ธํ”„๋ผ๋ฅผ ์™„์ „ํžˆ ์ถ”์ƒํ™”ํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ ๋‹จ์œ„์˜ ๋ฆฌ์†Œ์Šค ํ• ๋‹น๊ณผ ์‹คํ–‰์„ ์ œ๊ณตํ•œ๋‹ค. Fargate๋Š” ์ปจํ…Œ์ด๋„ˆ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋…๋ฆฝ๋œ ๊ฒฝ๋Ÿ‰ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋Š”๋ฐ AWS์—์„œ "Firecracker"๋ผ๋Š” ์ž์ฒด ํ•˜์ดํผ๋ฐ”์ด์ € ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€์œผ๋ฉฐ ์ด ๊ธฐ์ˆ  ๋•๋ถ„..

  • textsms
[AEWS] #6์ฃผ์ฐจ Kyverno ์‹ค์Šต (5)

[AEWS] #6์ฃผ์ฐจ Kyverno ์‹ค์Šต (5)

25๋…„๋„ AWS EKS Hands-on Study ์Šคํ„ฐ๋”” ์ •๋ฆฌ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. KyvernoKyverno๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋„ค์ดํ‹ฐ๋ธŒ ์ •์ฑ… ์—”์ง„์œผ๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ •์ฑ…์„ ์ •์˜ / ๊ฒ€์ฆ / ๋ณ€ํ™˜ / ์ ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ,์ฟ ๋ฒ„๋„คํ‹ฐ์Šค CRD๋ฅผ ํ™œ์šฉํ•ด YAML ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์ฑ…์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. Validation (๊ฒ€์ฆ)์ž˜๋ชป๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์— ์ƒ์„ฑ๋˜์ง€ ์•Š๋„๋ก ์ฐจ๋‹จํ•œ๋‹ค.Admission Controller๋กœ ๋™์ž‘ํ•˜์—ฌ ์ •์ฑ…์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค๋Š” Denied ์ฒ˜๋ฆฌํ•œ๋‹ค.Mutation (๋ณ€๊ฒฝ)๊ธฐ์กด ๋ฆฌ์†Œ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.MutatingAdmissionWebhook์„ ํ™œ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.Generation (์ƒ์„ฑ)ํŠน์ • ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ž๋™์œผ๋กœ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.์ด๋Š”..

  • textsms