본문 바로가기

Work/개발 노트92

[Kubernetes] Airflow on EKS의 DAG 파일 관리 Airflow 사용 준비 Airflow on EKS를 사용하기 위해 Helm을 사용하여 Kubernetes 클러스터에 Arflow를 배포합니다. install 명령을 실행하기 전에 먼저 Kubernetes 네임스페이스를 생성한 후 필요한 파일들을 만들어보겠습니다. kubectl create ns airflow Airflow에 사용되는 DAG 파일들은 Git, S3, EFS 등 다양한 저장소와 연동해서 사용할 수 있습니다. 각 저장소 정보는 helm의 values.yaml에 설정합니다. 먼저 템플릿으로 사용할 values.yaml 파일을 생성합니다. helm repo add apache-airflow https://airflow.apache.org helm show values apache-airflow/.. 2023. 11. 26.
[Kubernetes] Amazon EMR on EKS 운영을 위한 기본 지식 이 게시글은 학습을 위해 정리한 내용이므로 잘못된 내용이 있을 수 있습니다. 잘못된 정보가 있다면 댓글로 남겨주세요. 수정하겠습니다. 용어 정리 스파크 애플리케이션 : 컴파일된 JAR나 라이브러리 파일을 의미. submit하는 시점에 로컬 머신에서 코드가 실행되어 클러스터 드라이버 노드에 요청함 드라이버 프로세스 : SparkContext를 생성하고, 자신이 담당한 Task가 클러스터 내에서 실행될 수 있도록 하며 진행 상태 모니터링 익스큐터 프로세스 : 드라이버 프로세스가 할당한 작업 수행 (각 스파크 애플리케이션 마다 개별 프로세스 사용) 클러스터 매니저 : 물리적 머신을 관리하며, Spark 애플리케이션 실행에 필요한 자원을 할당 Spark Session : SparkSession은 SparkCon.. 2023. 11. 12.
[Kubernetes] Amazon EKS 운영 시 IP가 부족하다면? Challenge Amazon EKS 기반으로 서비스를 운영하다보면 Pod 수가 점점 늘어나면서 최초에 설계한 IP Range를 초과하는 경우가 있고, 마이크로서비스 기반 아키텍처가 인기를 얻으면서 더욱 빈번하게 발생합니다. 이 경우 서브넷의 IP 크기는 조정할 수 없기 때문에 새로운 서브넷을 생성하여 노드를 이전해야하고, VPC의 IP가 부족한 경우에는 서브넷을 확장할 수도 없게 됩니다. Amazon EKS를 사용할 때 IP가 얼마나 필요할까? 클러스터 생성 시 각 서브넷에는 Amazon EKS에서 사용할 IP 주소가 6개 이상 필요 (16개 이상 권장) EKS는 클러스터 생성 중에 지정된 각 서브넷(클러스터 서브넷이라고도 함)에 X-ENI 생성 Kubernetes 버전의 클러스터를 업데이트하면 Ama.. 2023. 11. 4.
[Kubernetes] Cross Account에 IRSA를 적용하기 이 게시글은 Database Operator In Kubernetes study (=DOIK) 2기에서 스터디한 내용 중 ExternalDNS에 대한 내용을 공부하며 기록한 내용입니다. External DNS란? ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers. 쿠버네티스의 External DNS는 Service와 Ingress 생성 시 도메인 연동을 할 수 있도록 하는 애드온 입니다. 따라서 기본 내장되어 있지 않기 때문에 별도의 설치가 필요합니다. 기존에는 생성된 로드밸런서의 DNS를 수작업으로 Route53과 같은 도메인 서비스에 연동을 해줘야 했다면 External DNS로 쿠버네티스의 리소스.. 2023. 10. 22.