๐Ÿ“‚
Amazon EKS
  • Amazon EKS
  • ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ƒ์„ฑํ•˜๊ธฐ
    • Cloud9 IDE ํ™˜๊ฒฝ ๊ตฌ์„ฑ
    • IAM ์—ญํ•  ์ƒ์„ฑ
    • SSH & CMK Key ์ƒ์„ฑํ•˜๊ธฐ
  • EKS ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ•
    • EKS ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ
  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋Œ€์‹œ๋ณด๋“œ ๋ฐฐํฌ
    • Kubernetes ๊ณต์‹ ๋Œ€์‹œ๋ณด๋“œ ๋ฐฐํฌ
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐฐํฌ
    • ์˜ˆ์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ
    • ์„œ๋น„์Šค ์Šค์ผ€์ผ(Scaling)
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ฆฌํ•˜๊ธฐ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ - Helm
    • HELM ์„ค์น˜
    • Helm์œผ๋กœ Nginx ๋ฐฐํฌ
    • Helm์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐฐํฌ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - POD ๋ฐฐ์น˜
    • NodeSelector
    • Affinity and Anti-affinity
    • ๋” ์‹ค์šฉ์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - Health Checks
    • Liveness ํ”„๋กœ๋ธŒ ๊ตฌ์„ฑ
    • Readiness ํ”„๋กœ๋ธŒ ๊ตฌ์„ฑ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - AutoScaling
    • HPA ๊ตฌ์„ฑํ•˜๊ธฐ
    • CA ๊ตฌ์„ฑํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋„คํŠธ์›Œํ‚น - ์„œ๋น„์Šค ๋…ธ์ถœ
    • ์„œ๋น„์Šค์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ฐ๊ฒฐ
    • ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ธฐ
    • ์„œ๋น„์Šค ๋…ธ์ถœ
    • Ingress
    • Ingress Controller
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋„คํŠธ์›Œํฌ - Calico ์ •์ฑ…
    • Calico ์„ค์น˜ํ•˜๊ธฐ
    • Stars Policy Demo
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating ๊ถŒํ•œ์„ค์ • - RBAC
    • ํ…Œ์ŠคํŠธ POD ์„ค์น˜
    • ์‚ฌ์šฉ์ž ์ƒ์„ฑ ๋ฐ ๋งตํ•‘
    • ์—ญํ• ๊ณผ ๋ฐ”์ธ๋”ฉ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating ๊ถŒํ•œ์„ค์ • - IAM ๊ทธ๋ฃน
    • IAM Role, Group & User ์ƒ์„ฑํ•˜๊ธฐ
    • RBAC ์„ค์ •ํ•˜๊ธฐ
    • EKS ์—‘์„ธ์Šค ํ…Œ์ŠคํŠธ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating ๊ถŒํ•œ์„ค์ • - Service account
    • OIDC ์ž๊ฒฉ ์ฆ๋ช… ๊ณต๊ธ‰์ž ์ƒ์„ฑํ•˜๊ธฐ
    • IAM ์—ญํ•  ์ƒ์„ฑ ๋ฐ ์ง€์ •
    • ์ƒ˜ํ”Œ POD ๋ฐฐํฌ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating - ๋„คํŠธ์›Œํฌ - POD Security Group
    • SG ์ƒ์„ฑํ•˜๊ธฐ
    • RDS ์ƒ์„ฑํ•˜๊ธฐ
    • CNI ๊ตฌ์„ฑํ•˜๊ธฐ
    • SG ์ •์ฑ…
    • Pod ๋ฐฐํฌํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating - ๋ชจ๋‹ˆํ„ฐ๋ง - Prometheus and Grafana
    • Prometheus ๋ฐฐํฌํ•˜๊ธฐ
    • Grafana ๋ฐฐํฌํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ(Optional)
  • Updating ๋ชจ๋‹ˆํ„ฐ๋ง - X-Ray
    • X-Ray DaemonSet ๋ฐฐํฌํ•˜๊ธฐ
    • ์ƒ˜ํ”Œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐฐํฌ
    • X-Ray console ํ™•์ธ
    • ์ •๋ฆฌํ•˜๊ธฐ(Optional)
  • Updating ๋ชจ๋‹ˆํ„ฐ๋ง - Container Insights
    • ์‚ฌ์ „ ์ค€๋น„
    • Container Insights ๊ตฌ์„ฑํ•˜๊ธฐ
    • ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ
    • Container Insights ํ™•์ธํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ(Optional)
  • Updating CD - Gitops with Flux
    • ์‚ฌ์ „ ์ค€๋น„
    • Codepipeline
    • EKS์— ๋ฐฐํฌ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating Argo Rollouts
  • Updating Service Mesh - AWS App Mesh
    • Fargate ๋ฐ OBSERVABILITY ๊ตฌ์„ฑ
    • Product Catalog App ๋ฐฐํฌ
    • APP MESH ์„ค์น˜
    • Porting to APP MESH
    • Virtual Gateway ๊ตฌ์„ฑ
    • Canary
    • Observability
  • Updating ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ - EKS Cluster
    • Upgrade EKS control Plane
    • Upgrade EKS CORE ADD-ONs
    • Upgrade Managed Node Group
Powered by GitBook
On this page

Was this helpful?

  1. Updating CD - Gitops with Flux

Codepipeline

Previous์‚ฌ์ „ ์ค€๋น„NextEKS์— ๋ฐฐํฌ

Last updated 3 years ago

Was this helpful?

์ด์ œ ์„ ์‚ฌ์šฉํ•˜์—ฌ AWS CodePipeline์„ ์ƒ์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ดํ”„๋ผ์ธ์€ GitHub Source repo(eks-example)์—์„œ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ด๋„ ์ด๋ฏธ์ง€๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š์œผ๋ฉฐ Weave Flux ์—์„œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

CloudFormation์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์˜ ๋ชจ๋“  ์ธํ”„๋ผ ๋ฆฌ์†Œ์Šค๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ํ”„๋กœ๋น„์ €๋‹ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณตํ†ต ์–ธ์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” IaC() ํˆด์ž…๋‹ˆ๋‹ค. CloudFormation์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  region๊ณผ account์— ๊ฑธ์ณ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์ž๋™ํ™”๋˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๋ชจ๋ธ๋งํ•˜๊ณ  ํ”„๋กœ๋น„์ €๋‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ EKS ๋ฐฐํฌ/์„œ๋น„์Šค๋Š” ์ž์ฒด CodePipeline์ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ๋ถ„๋ฆฌ๋œ ์†Œ์Šค ์ €์žฅ์†Œ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ํŒŒ์ผ์„ ํด๋ฆญํ•˜์—ฌ ๋‹ค์šด ๋กœ๋“œ ํ›„ AWS Management Console์— CloudFormation ์Šคํƒ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์Šคํƒ ์ด๋ฆ„ : image-codepipeline

  • Username : git username

  • Access token : git access key

  • Repository : eks-example

  • Branch : main

Stack์ด ์™„๋ฃŒ(CREATE_COMPLETE)๋ ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

GitHub repo์— ์ƒ˜ํ”Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ${YOURUSER}๋ฅผ GitHub ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

git clone git@github.com:${YOURUSER}/eks-example.git
cd eks-example

๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ธฐ๋ณธ README ํŒŒ์ผ, ์›๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์ƒ˜ํ”Œ nginx ๊ตฌ์„ฑ(hello.conf), ํ™ˆ ํŽ˜์ด์ง€(index.html) ๋ฐ ๋„์ปค ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

echo "# eks-example" > README.md
mkdir src
wget -O src/hello.conf https://raw.githubusercontent.com/aws-samples/eks-workshop/main/content/intermediate/260_weave_flux/app.files/hello.conf
wget -O src/index.html https://raw.githubusercontent.com/aws-samples/eks-workshop/main/content/intermediate/260_weave_flux/app.files/index.html
wget https://raw.githubusercontent.com/aws-samples/eks-workshop/main/content/intermediate/260_weave_flux/app.files/Dockerfile

์ด์ œ ๊ฐ„๋‹จํ•œ hello world app๋ฅผ commitํ•˜์—ฌ codepipeline ์„ ์‹œ์ž‘์‹œํ‚ต๋‹ˆ๋‹ค.

git add .
git commit -am "Initial commit"
git push 

์— ์ ‘์†ํ•˜์—ฌ image-codepipeline ์œผ๋กœ codepipeline์ด ์‹œ์ž‘๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ €์žฅ์†Œ์— ์ฝ”๋“œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€ ๋นŒ๋“œ์— ์‹คํŒจ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋นŒ๋“œ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•˜์—ฌ ์œ„ํ•˜์—ฌ ์ ‘์†ํ•˜์—ฌ eks-example image repository๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

CodePipeline in the Management Console
Amazon ECR console
AWS CloudFormation
infrastructure as code
8KB
weave_flux_pipeline.cfn.yml