Notice
Recent Posts
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- reverse v.s. reversed
- ds_store
- 쿼리
- functools.wraps
- timestamp
- sort(reverse=True) v.s. reverse
- blinker
- Chatbot
- 순수함수
- slicing [::-1]
- [초급(예비) 개발자 오픈소스 실무 역량강화 교육]
- 생각
- Python
- Airflow
- pandas
- OS
- 코딩 테스트
- Rag
- selenium-wire
- sort v.s. sorted
- boto3
- 함수형 프로그래밍
- CI/CD
- mongoDB
- decorator
- S3
- 고차함수
- r-string
- os.path
- PIP
Archives
- Today
- Total
공부일지
시나리오: Docker 엔진 업그레이드 및 장애 복구(Rollback) 절차 본문
배경
- 현재 운영 중인 Docker 엔진(v1.13)의 노후화로 인한 극단적인 버전 차이와 최신 docker-compose.yml 스펙과의 호환성 문제 발생.
- missing validation key 파싱 에러 발생으로 인프라 최적화 및 설정 업데이트가 불가능한 상태를 해소하고, 최신 보안 패치를 적용하고자 함.
- Docker 패키지 출처가 상이해 환경 일관성 및 호환성을 위해 Docker Community Edition(CE) 통일하고자 함.


대상 GCE
- de-airflow-master, de-airflow-standby
- Docker v1.13 - 업그레이드 대상
- CentOS 7 기본 레포지토리 제공 에디션 - 패키지 변경 대상
- de-airflow-worker
- v26.x - 버전 동기화 대상
- Docker CE - 패키지 변경 불필요
작업
Docker Image 백업
점검
docker images
아카이브 생성(이미지 복사본 백업)
- 외부 경로에 별도의 파일로 내보내기
# 여러 이미지를 하나의 파일로 한꺼번에 백업
docker save -o total_airflow_backup.tar \
postgres:13 \
redis:latest \
airflow-custom-scheduler:v1.0 \
airflow-custom-worker:v1.0
Volume 및 설정 파일 백업
- Volume, Bind Mount된 로컬 디렉토리에 있는 데이터 백업
- GCS에 백업본 업로드
gsutil cp total_airflow_backup.tar gs://your-backup-bucket/infra/20260224/
GCP 인스턴스 스냅
- 해당 인스턴스 디스크 스냅샷
- 문제 발생 시 원상복구를 위한 준비
Docker Version 업데이트
기존 패키지 및 찌꺼기 정리
구버전의 바이너리가 남아있으면 새 버전 설치 후 docker compose 명령 꼬이거나 엔진 시작하지 않는 문제 발생할 수 있으므로 정리해준다.
# 점검
docker version
# 기존 패키지 정리
sudo apt-get remove docker docker-engine docker.io containerd runc
# 기존 패키지 + 설정파일까지 정리(단, volume 데이터 백업한 뒤)
sudo apt-get purge -y docker-ce docker-ce-cli cnotainerd.io
# 이미지/컨테이너 잔재 삭제
sudo rm -rf /var/lib/docker
공식 CE 레포지토리 등록
# HTTPS 통신 위한 필수 패키지 설치
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
# GPG 키 등록
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 레포지토리 경로 추가
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
최신 Docker 엔진 및 Compose 설치
# 설치
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 점검
# 'Docker Engine version 27.x','Docker Compose version v2.x.x' 출력되는지 확인
docker version
점검
Docker 서비스 상태 확인
sudo systemctl status docker
(선택) 사용자 권한 부여
sudo 없이 docker 명령어를 쓰기 위해 현재 유저를 docker 그룹에 넣기.
단, 적용을 위해 로그아웃 후 다시 로그인하거나 newgrp docker 명령어를 입력해야 함.
sudo usermod -aG docker $USER
서비스 업로드
백업된 이미지 업로드
docker save 로 추출했던 이미지를 새 엔진에 등록.
docker load -i total_airflow_backup.tar
# 점검
# airflow 관련 이미지들이 리스트에 정상적으로 출력되는지 확인
docker images
권한 및 서비스 상태 재점검
업데이트 후 Docker 그룹 권한이 풀려있거나 서비스 비활성화 가능성 있으므로 다음 설정
권한 재설정
sudo usermod -aG docker $USER
엔진 실행
sudo systemctl enable --now docker
서비스 실행
기존 docker-compose.yml 파일이 있는 위치에서 다음 실행.
missing validation key 에러 해결됐는지 확인.
docker compose up -d
사후 검증
Airflow 정상적으로 동작하는지 점검
컨테이너 상태 확인
webserver, scheduler, worker, postgres, … 컨테이너들이 Up(healthy) 인지 확인.
docker compose ps
로그 모니터링
에러 메시지 발생하는지 실시간 모니터링.
docker compose logs -f
Airflow UI 접속
웹 브라우저에서 Airflow UI에 접속하여 기존 DAG들이 정상적으로 보이는지, 과거 이력(Metadata)이 잘 보존되었는지 확인.
혹시 문제가 발생한다면?
GCP 인스턴스 스냅샷으로 완전 복구.
기대효과
- missing validation key 에러 해결.
- 인프라 설정 최적화 및 유지보수 효율성 증대.
- 최신 보안 취약점 해결 및 컨테이너 실행 성능 개선.
'Computer > 도전기' 카테고리의 다른 글
| MongoDB Vector Search를 활용한 사내 문서 검색 도우미 구현 및 성능 검증(PoC)_(3)결과 및 향후 과제(完) (1) | 2026.03.07 |
|---|---|
| MongoDB Vector Search를 활용한 사내 문서 검색 도우미 구현 및 성능 검증(PoC)_(2)구현 및 검증과정 (0) | 2026.03.07 |
| Airflow Metadata DB 최적화 및 디스크 용량 회수 (0) | 2026.03.01 |
| Airflow 서버 부하 줄이기(로컬, GCE 시범 적용) (0) | 2026.03.01 |
| MongoDB Vector Search를 활용한 사내 문서 검색 도우미 구현 및 성능 검증(PoC)_배경과 아이디어 (1) | 2026.01.07 |