본문 바로가기

분류 전체보기

(185)
[AWS EKS] EKS IaC with Terraform (2) cloudNet@ 팀의 가시다 님이 진행하는 AWS EKS 스터디 8주차 정리입니다.  테라폼 기본 사용법을 어느 정도 학습 한 뒤에는 실제 운영 환경에서 테라폼을 사용할때 고려 해야 하는 부분을 학습할것이다.그중 하나가 모듈의 재사용성 부분이다.   테라폼 모듈  재사용성? 테라폼으로 인프라와 서비스를 관리하면 시간이 지날수록 구성이 복잡해지고 관리하는 리소스가 늘어나게 된다. 테라폼의 구성 파일과 디렉터리 구성에는 제약이 없기 때문에 단일 파일 구조상에서 지속적으로 업데이트할 수 있지만, 다음과 같은 문제가 발생한다.테라폼 구성에서 원하는 항목을 찾고 수정하는 것이 점점 어려워짐리소스들 간의 연관 관계가 복잡해질수록 변경 작업의 영향도를 분석하기 위한 노력이 늘어남개발/스..
[AWS EKS] EKS IaC with Terraform (1) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. IAC ▶ IAC ( infrastructure as a code ) 아래 그림중 몇번째 단계를 말할까요? 4번째 단계인 Cloud 단계부터 인프라를 더이상 소유하지 않고 상품화 된 인프라와 데이터 센터를 사용하는 단계부터 IAC 개념이 크게 도입되기 시작했습니다. API를 통해 더 많은 기술 계층을 가상화 하고 더많은 소프트웨어와 자동화 기술로 지금의 데이터 센터를 포함한 그 이외의 환경을 제공 할수 있기 때문이죠. 테라폼 테라폼은 인프라스트럭처를 코드로서 정의, 관리 및 프로비저닝 합니다. 테라폼 준비물 ✅ terraform ✅ aws cli & eksctl & watch, jq ,tree 등 https://t..
[AWS EKS] EKS CICD CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. Devops 문화가 자리잡으며, 어플리케이션의 수명 주기가 짧아졌습니다. 이러한 환경적 변화에 적응 하기 위하여 어플리케이션 주기를 관리하기 위한 시스템이 필요 해졌는데요, 이러한 시스템을 CICD Tool이라고 부릅니다. 도입부 1 ▶ CI CD가 뭐에요 ? CI CD는 지속적 통합과 지속적 배포라는 뜻의 용어입니다. Git과 같은 SCM Tool을 사용할때 코드 푸시와 병합, 컴파일이라는 용어를 자주 볼것입니다. 개발자들에게 코드를 작성하는것 만큼이나 해당 코드를 공통 레포지토리에 푸시하고 병합(Merge)하며 컴파일을 함으로써 인간이 이해 할수 있는 언어로 작성된 소스 코드를 CPU가 이해할수 있는 기계어로 컴파..
[AWS EKS] EKS Security (Kyverno) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. Managing Pod Security on Amazon EKS with Kyverno Kyverno (Greek for “govern”) is a policy engine designed specifically for Kubernetes. 쿠버네티스 클러스터 내에서 정책기반 관리를 제공하는 오픈소스 프로젝트 입니다. 정책을 코드로 관리 하며 validate,mutate 기반의 정책 설정이 가능합니다. Admission Control : 인증과 권한확인 이후에 추가적으로 요청 내용에 대한 검증이나 요청 내용을 강제로 변경할 때 사용합니다. ✅ Kyverno 정책 mutate과 validate 설정되어있는 정책들을 통..
[AWS EKS] EKS Security (IRSA) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 쿠버네티스 클러스터에서 실행되는 파드가 AWS 서비스에 어떻게 액세스 권한을 부여 받을수 있을까? 쿠버네티스 클러스터는 AWS의 자원이 아닌데 어떻게 IAM Role을 할당 받을 수 있을까? 먼저, POD가 AWS API 에 요청과 응답을 어떤 방식으로 보내고 받는지 확인해보자. ✅ IRSA IAM Roles for Service Accounts 쿠버네티스 파드가 AWS 서비스 권한을 부여받는 방법 ✅ OIDC(OpenID Connect) 란? 사용자가 Role을 Assume 받는 과정과 동일한 방식으로 pod도 Role을 Assume 받아야 한다. 그러기 위해서는 인증 절차가 필요한데 이를 EKS OIDC Pr..
[AWS EKS] EKS Security ( IAM Authenticator) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 인증과 인가를 어떻게 처리하는가에 대한 문제는 클라우드에서 가장 중요한 문제인것 같다. IAM Authenticator을 통해 api 서버에 들어오는 요청과 응답을 처리하는데 그부분을 먼저 확인해보자. ☑️ 인증 - AWS IAM을 통해서 지원 ☑️ 인가 - Kubernetes의 RBAC 기능을 활용한다. 먼저, 사용자가 kubectl명령어로 api 서버에 요청과 응답을 어떤 방식으로 보내고 받는지 확인해보자. 1. ☑️ 사용자가 kubectl 명령어를 입력하면 EKS Service Endpoint(STS)를 대상으로 aws eks는 토큰을 요청한다. STS Security Token Service : AWS 리소스에 ..
[AWS EKS] Autoscaling ( Karpenter) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 대망의 Autoscaling의 꽃 - Karpenter을 소개하겠습니다. ✅ Karpenter                                                                                                                            오픈소스 노드 수명 주기 관리 솔루션, 몇 초 만에 컴퓨팅 리소스 제공 카펜터는 Auto Scaling Group를 사용하지 않고 EKS 노드를 직접 증가, 감소합니다. 그래서 빠른가 ?  스케쥴링 안된 Pod 발견 -> 스펙 평가 -> Provisioning비어있는 노드 발견 -> 제거 -> Deprovi..
[AWS EKS] EKS Autoscaling ( Cluster ) CloudNet@팀의 EKS 스터디 AEWS 2기에 작성된 자료를 토대로 작성합니다. 이전까지 Cluster 에 올라가는 Pod 의 AutoScaling 을 알아보았습니다. 경우에 따라서는 Pod 가 배포될 Node 의 리소스가 부족해질 때도 있는데, 이 때 CA 를 사용하게 됩니다. ✅ Cluster Autoscale cluster-autoscaler 파드(디플로이먼트)를 배치합니다 그리고 AWS에서는 Auto Scaling Group(ASG)을 사용하여 Cluster Autoscaler를 적용합니다. 기본적으로 리소스에 의한 스케줄링은 Requests(최소)를 기준으로 이루어진다. 다시 말해 Requests 를 초과하여 할당한 경우에는 최소 리소스 요청만으로 리소스가 꽉 차 버려서 신규 노드를 추가..