
ArgoCD Application 선언적으로 구성하기
최근 Kubernetes 환경에서 ArgoCD를 사용한 GitOps가 주목받고 있습니다. ArgoCD를 처음 접하는 경우, ArgoCD Web UI를 통해 배포하는 방식을 가장 먼저 배우는 경우가 많습니다. 하지만 배포할 애플리케이션이 많아질수록 Web UI를 통해 모든 Application을 생성하게 되면 Human Error의 발생 가능성이 증가하...

최근 Kubernetes 환경에서 ArgoCD를 사용한 GitOps가 주목받고 있습니다. ArgoCD를 처음 접하는 경우, ArgoCD Web UI를 통해 배포하는 방식을 가장 먼저 배우는 경우가 많습니다. 하지만 배포할 애플리케이션이 많아질수록 Web UI를 통해 모든 Application을 생성하게 되면 Human Error의 발생 가능성이 증가하...

AWS EKS를 사용하다 보면 아래와 같이 종종 노드의 CPU, Memory에는 여유가 있지만 max-pods limit 때문에 pod가 더 이상 프로비저닝되지 않는 문제를 만나게 됩니다. ❯ kubectl get po NAME ...

amd64와 arm64 이미지를 하나의 Job에서 만들면 QEMU 에뮬레이션을 거치게 되고 빌드 시간이 크게 늘어납니다. OS나 런타임 버전 조합을 늘릴 때도 Job을 복사해 붙이면 워크플로우 파일이 같은 내용으로 불어납니다. Matrix Strategy는 조합을 선언하면 GitHub Actions가 Job을 병렬로 펼쳐주는 기능입니다. 1. M...

GitHub Actions는 저장소 안에 YAML로 자동화 절차를 정의하고 GitHub 이벤트, 수동 실행, 일정에 따라 실행하는 자동화 플랫폼입니다. CI뿐 아니라 배포, 이슈 처리, 릴리스 준비처럼 GitHub의 변경 흐름과 연결된 작업에 사용할 수 있습니다. 중요한 것은 Workflow 파일을 작성하는 일보다, 어떤 이벤트가 신뢰할 수 있는 입력...

지난 글(IRSA (IAM Role for Service Account)란? 사용 방법)에서 IRSA를 통해 AWS 리소스 권한을 위임하는 방법을 설명했었습니다. Amazon EKS Pod Identity는 Pod 단위로 IAM 자격 증명을 제공하는 새로운 기능입니다. 기존 IRSA(IAM Role for Service Account)에서는 OIDC ...

Git을 사용하며 알게 된 CLI 명령어들을 공유합니다. 1. 사전 준비 (권장) git-delta는 git diff, git log, git show 등의 출력을 더 읽기 쉽게 만들어주는 도구입니다. 1.1. Ubuntu/Debian sudo apt-get update sudo apt-get install git-delta 1.2. m...

Legacy EC2 Instance에 설치되어 있는 InfluxDB 1.x를 새로운 EC2 Instance로 마이그레이션 하는 방법에 대해 정리해보았습니다. TL;DR InfluxDB 1.x를 다른 EC2로 옮길 때 CSV로 export하면 사람이 읽기는 편해도 그대로 import할 수 없습니다. influx_inspect expo...

JSON과 YAML 데이터를 처리하는 도구인 jq와 yq 사용하며 알게 된 CLI 명령어들을 공유합니다. 1. jq 기본 사용법 # 기본 구조 jq '.' file.json # JSON 파일 예쁘게 출력 jq '.' <<< '{"name":"John","age":3...

Kubernetes를 운영할 때 kubectl 명령을 매번 조합하면, 장애 초기에 필요한 기본 정보를 확인하는 속도가 느려지기 쉽습니다. Kubernetes Monitoring Tool(KMP)은 이벤트, 재시작, 이전 컨테이너 로그, Pod와 Node 상태, 리소스 사용량을 한 메뉴에 모아 빠르게 조회하려고 만든 Python CLI입니다. GitH...

Linux를 사용하며 알게 된 CLI 명령어들을 공유합니다. 1. 파일 및 디렉토리 관리 # 기본 파일 조작 ls # 현재 디렉토리 파일 목록 ls -la # 숨김 파일 포함...