전체 글

· Cloud
1. IRSA란IRSA는 AWS의 OpenID Connect(OIDC) 공급자와 EKS의 통합을 활용하여 Kubernetes 서비스 계정(Service Account)이 IAM 역할을 수행할 수 있도록 지원하는 기능이다. 이를 통해 공유 자격 증명이나 광범위한 권한을 가진 EC2 인스턴스 역할(Node Role)에 의존할 필요가 없어진다.각 서비스 계정은 특정 AWS 권한을 정의하는 IAM 역할에 바인딩된다. 파드는 이 서비스 계정을 통해 자신에게 허용된 AWS 리소스에만 접근할 수 있게 되며, 다음과 같은 이점을 얻는다.강화된 보안: 정적 AWS 자격 증명이나 과도한 권한이 부여된 인스턴스 역할을 제거한다.세분화된 권한 제어: 각 파드는 역할에 따라 전용 최소 권한 액세스만 획득한다.향상된 감사 기능:..
시스템 운영 및 모니터링 도구를 개발할 때, 특정 사용자가 실행한 프로세스가 어떤 외부 IP와 통신 중인지 확인해야 하는 경우가 있다. 이 글에서는 psutil을 사용하여 특정 프로세스를 필터링하고, 현재 TCP 연결이 수립(ESTABLISHED)된 세션 정보만 추출하는 방법을 알아본다. 1. psutil 개요psutil (Python System and Process Utilities)은 실행 중인 프로세스와 시스템 활용률(CPU, 메모리, 디스크, 네트워크 등) 정보를 수집하는 크로스 플랫폼 라이브러리다. 시스템 모니터링, 프로파일링, 프로세스 관리 도구 개발에 주로 사용된다.설치: pip install psutil 2. 코드 예시다음은 사용자(user), 프로세스명(process_name), 감시 ..
· Data/Airflow
Kubernetes 환경에 배포된 Airflow에서 SSHOperator를 테스트하던 중, 파드(Pod)가 재시작되거나 작업이 종료된 후 로그가 사라지는 현상을 확인했다. 이를 해결하기 위해 로그 영구 저장(Persistence) 설정을 적용하는 과정과, 그 과정에서 발생한 airflow-triggerer StatefulSet 업데이트 에러를 해결하는 방법을 정리한다.1. SSHOperator 테스트 환경 구성먼저 외부 서버에 명령을 수행하기 위해 Admin Connection을 생성하고 DAG를 작성한다.1-1. Connection 생성 1-2. DAG 작성DAG PVC를 nfs로 지정했기 때문에 해당 nfs 위치에서 파일 생성 진행함. from datetime import datetimefrom ai..
· Linux/K8s
Kubernetes 환경에서 기본적으로 제공하는 CPU, Memory 메트릭이 아닌, 애플리케이션 고유의 메트릭(Custom Metric)을 기반으로 HPA(Horizontal Pod Autoscaler)를 구성하는 방법을 정리한다. 본 예제에서는 Apache HTTP Server(httpd)의 busy_workers 메트릭을 사용하여 트래픽 증가 시 자동으로 파드를 스케일 아웃하는 과정을 다룬다. 테스트한 전체 구조는 다음과 같다.1. Prometheus Adapter 설치Kubernetes의 HPA가 Prometheus의 메트릭을 이해할 수 있도록 prometheus-adapter를 설치한다. 이를 통해 Prometheus 쿼리 결과를 Kubernetes Custom Metrics API로 변환할 수..
hundredragon
다음엔 무엇을 할까