본문 바로가기

분류 전체보기263

[AEWS] 10주차 - Vault sidercar 연동 패턴과 AppRole 방식 Vault sidecar 연동 패턴vault를 설치할 때 vault와 Injector 파드가 같이 설치된 것을 확인했습니다. Injector 파드는 기본적으로 sidecar agent 들을 관리하기 위한 매니저입니다.실제로 injector 파드는 vault-k8s의 코드를 통해 설치되는데 annotation을 주입하면 됩니다.vault.hashicorp.com/agent-inject: "true"vault.hashicorp.com/role: "example-role"    AppRole 방식의 인증 구현AppRole 인증 방식은 기계나 애플리케이션이 Vault에 정의된 역할을 통해 인증할 수 있게 해주는 방법입니다. 자세한 내용은 공식문서에서 잘 설명하고 있습니다. 이 방식의 주요 특징은:대규모 애플리케.. 2025. 4. 9.
[AEWS] 10주차 - HashiCorp Vault with Kubernetes 개요 및 설치 이번 스터디에서는 Vault 관련 내용을 학습하여 정리합니다. Vault의 구성 요소 4가지HashiCorp Vault는 신원 기반의 시크릿 및 암호화 관리 시스템으로 인증 및 인가 방법을 통해 암호화 서비스를 제공하고 Secret에 대한 안전하고 감사 가능하며 제한된 접근을 보장하도록 하는 소프트웨어입니다. 여기서 인증과 인가가 매우 중요합니다. 1. 누가 Vault에게 요청하는가?- Client. 즉 사용자인 시스템, 애플리케이션, 사람 등 다양한 요청자가 Vault에 접속합니다. 2. 대상 시스템은 무엇인가?- 서버, DB, 스토리지, 클라우드 등 다양한 secret 정보들을 획득해야 합니다. 3. 획득한 정보를 얼마나 사용할 수 있는가?- 최소 시간의 원칙이라는 개념에 맞게 필요한 만큼만 사용하고.. 2025. 4. 8.
In-place Cluster Upgrade : 1.28 → 1.29 업그레이드 톺아보기 도전과제인 In-place Cluster 업그레이드 중 중요한 사항에 대해서 조금 정리해봅니다.1. Control plane 업그레이드control plane upgrade (10분 소요)일단 in-place 업그레이드의 경우 1단계씩밖에 안됨을 명심하자.# cd ~/environment/terraformkubectl get pods --all-namespaces -o jsonpath="{.items[*].spec.containers[*].image}" | tr -s '[[:space:]]' '\n' | sort | uniq -c > 1.26.txtaws eks describe-cluster --name $EKS_CLUSTER_NAME | egrep 'version|endpoint|issuer|platf.. 2025. 4. 5.
Terraform을 활용한 Blue/Green EKS 업그레이드 해당 워크샵을 기준으로 작성했으며, 이 블로그의 내용도 참조해 작성합니다.  쿠버네티스는 1년에 약 3개의 마이너 버전을 업그레이드 합니다.클러스터 업그레이드는 사실 엄청 큰 이벤트인데요. 단순히 버튼을 눌러 업그레이드가 가능하지만 쿠버네티스 버전 마다 api 변경사항이나 다양한 플러그인 도입 등 여러가지 변경사항에 대해서 대응해야합니다. 이번 과제에서는 EKS 클러스터 업그레이드시 블루/그린 배포 전략으로 진행해 보도록 하겠습니다. EKS 배포전략1. EKS 버전에 따른 호환성 검토이런 것들은 공식 docs에 기본적으로 제공되는 내용이므로 반드시 꼼꼼하게 확인을 해보고 업그레이드를 진행해야합니다. - 커널 버전을 확인    ㄴ 예를 들어 user namespace 사용 시 커널 6.5 이상 필요하다는 .. 2025. 4. 2.
[AEWS-3기][8주차 도전과제] ArgoCD HPA 포함시 APP 추가설정 이번 포스팅은 ArgoCD에 HPA를 포함하는 Sample Deployment 를 배포해보고 App 생성 시 추가 설정에 대해서 알아보도록 한다. ArgoCD에서 주로 다루는 것이 Diff 인데, 즉 Git 저장소에 선언한 코드와 실제 쿠버네티스 클러스터의 현재의 상태가 달라질 때 Diff가 발생한다. 일반적으로 ArgoCD는 이러한 차이를 지속적으로 발견하고 동기화하면서 관리한다. 그러나 모든 차이점을 동기화하는 것이 항상 바람직한 것은 아니다. 특히 쿠버네티스 환경에서는 시스템이 자동으로 관리하거나 런타임에 동적으로 변경되는 필드들이 존재한다. 바로 이러한 상황에서 ignoreDifferences를 사용한다. https://argo-cd.readthedocs.io/en/stable/user-guide.. 2025. 3. 30.
[AEWS-3기][8주차 도전과제] ArgoCD API 활용하기 ArgoCD 에 User 에 API Key 발급 후 ArgoCD API(SYNC/DELETE)를 호출하여 Trigger 동작 설정하는 도전과제를 진행해보고자 한다. 이 과제에서는 apikey를 발급받고, swagger를 통해 api를 확인한 후 실제로 요청을 보내 자동화할 수 있도록 알아볼 수 있는 과제이다.argocd 로그인먼저 로그인을 진행한다. 해당 server url을 통해서 argocd에 접속하니 확인하기 바란다.로그인이 성공되면 login successfully가 나온다.argocd login  apikey 허용하기먼저 해당 User에 apikey에 대한 내용을 허용해 주어야한다.나는 admin에 대해서 다음과 같이 설정하였다.kubectl edit cm -n argocd argocd-cm# .. 2025. 3. 29.