Skip to content

Aolda/keepalived-docker-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Aolda Keepalived Docker Image

이 이미지는 IP 기반 인터페이스 자동 감지 및 환경 변수 설정을 지원하는 커스텀 Keepalived 이미지입니다.

1. 환경 변수 설정 (Environment Variables)

컨테이너 실행 시 compose.yml 또는 docker run 명령어에 다음 환경 변수를 설정해주세요.

필수 및 주요 변수

변수명 설명 예시
KEEPALIVED_INTERFACE_IP (권장) 이 IP를 가진 인터페이스를 자동으로 찾아 VIP를 할당합니다. 172.16.50.222
KEEPALIVED_INTERFACE (선택) 인터페이스 이름을 직접 지정합니다. INTERFACE_IP가 설정되면 이 값은 무시될 수 있습니다. eth0
KEEPALIVED_ROUTER_ID VRRP Router ID (0~255). 네트워크 내 유일한 값이어야 합니다. 52
KEEPALIVED_PRIORITY 노드 우선순위. 숫자가 높을수록 MASTER가 될 확률이 높습니다. 100
KEEPALIVED_PASSWORD Peer 간 인증 패스워드. 모든 노드가 동일해야 합니다. apm
KEEPALIVED_VIRTUAL_IPS 서비스할 가상 IP (VIP). 반드시 서브넷 마스크(CIDR)를 포함해야 합니다. 172.16.50.12/24
KEEPALIVED_UNICAST_PEERS 클러스터링할 상대방 노드들의 실제 IP 목록 (콤마 구분). 172.16.50.221,172.16.50.223
KEEPALIVED_STATE 초기 상태 (MASTER or BACKUP). nopreempt 사용 시 모든 노드를 BACKUP으로 설정하세요. BACKUP

⚠️ 주의사항: Router ID 관리

같은 네트워크 대역 내에서 Router ID가 중복되면 패킷 충돌이 발생합니다. 아래 목록을 참고하여 중복되지 않는 ID를 사용하세요.

  • 51: OpenStack
  • 52: APM Nginx
  • 53: APM Backend (구분 필수)

📝 compose.yml 예시

services:
  keepalived:
    image: my-custom-keepalived:latest
    network_mode: "service:nginx"  # 타겟 컨테이너의 네트워크 사용
    cap_add:
      - NET_ADMIN
      - NET_BROADCAST
    environment:
      - KEEPALIVED_INTERFACE_IP=172.16.50.222
      - KEEPALIVED_ROUTER_ID=52
      - KEEPALIVED_PRIORITY=100
      - KEEPALIVED_PASSWORD=password
      - KEEPALIVED_VIRTUAL_IPS=172.16.50.12/24  # /24 누락 주의!
      - KEEPALIVED_UNICAST_PEERS=172.16.50.221,172.16.50.223
      - KEEPALIVED_STATE=BACKUP

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors