본문 바로가기

분류 전체보기714

[Ansible] Role 기초 Role 정의 : 플레이북 내용을 기능 단위로 나누어 공통 부품으로 관리/재사용하기 위한 구조 롤을 사용하면 사용자들이 잘 만들어놓은 Playbook의 조합을 가져다가 활용할 수 있음 앤서블 갤럭시를 통해 템플릿을 공유하고 다운받을 수 있음 이미 많은 사용자가 사용 중이고, 보안적으로 검증된 Playbook들을 파라미터 변경만으로 손쉽게 가져다 사용할 수 있기 때문에 안정성과 생산성을 높일 수 있음 여러 사람과 공유할 수 있으려면 표준화된 설정이 있어야 함. 앤서블의 롤도 사전에 정의된 디렉토리 구조와 설정들을 제공하고 이 가이드라인에 맞춰 롤을 작성해야함 롤을 실행하려면 반드시 Playbook을 통해서 실행해야함 Playbook에서 Role 사용 하나의 Playbook에서 여러 Role을 사용할 수도 .. 2024. 1. 28.
[Ansible 101 Study] Ansible Playbook 모듈 활용해보기 - 기초 2024년 첫 스터디이면서 믿고 참여하는 가시다님의 Ansible 스터디가 시작됐다. 1주차라서 기본 이론과 간단한 실습을 진행했고, 몇가지 도전 과제들을 기록해보려고 한다. 먼저 Ansible을 사용하기 위해서는 대상 서버들에 SSH로 접속이 가능해야하고 Python 설치가 되어 있어야 한다. 이 대상 서버들은 Inventory라는 이름으로 사전에 등록해놓고 활용하게 되는데 SSH 접속 시 인증으로 Key 파일을 사용하거나 Password를 사용할 수 있다. 테라폼처럼 Ansible에도 모듈의 개념이 있는데 미리 구현되어 있는 기능들을 자유롭게 참조해서 사용할 수 있다는 면에서 유사한 것 같다. 예를들어 서비스 모듈은 서버에 실행되고 있는 서비스를 Start/Stop/Restart/Reload 할 수 .. 2024. 1. 13.
[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 EKS를 사용하는 사례 정리 EKS + NLB + Istio 카카오 페이 사례 기존에 Gateway 역할로 nginx를 사용하다가 istio의 Gateway를 사용하기로 결정 트래픽이 증가할 경우 nginx 서버를 증설해야하고, 관리 부담이 있었음 istio의 경우 envoy가 트래픽 처리를 하고, 유연하게 확장될 수 있기 때문에 운영 부담이 줄어듦 카카오페이에서 3년간 istio 운영 경험이 있어서 handling 할 수 있는 영역에 한해 제한적으로 istio 적용 금융 업계의 보안 정책 준수를 위해 고정 IP를 사용해야 했기 때문에 NLB 선택 AWS 인프라 관리에 Terraform 사용 GitOps 도구인 atlantis로 배포 및 상태 관리 Git PR의 tag 정보로 배포 이력 관리 애플리케이션은 Jenkins와 Spinn.. 2023. 11. 19.