μ΄ μ΄λ―Έμ§λ IP κΈ°λ° μΈν°νμ΄μ€ μλ κ°μ§ λ° νκ²½ λ³μ μ€μ μ μ§μνλ 컀μ€ν Keepalived μ΄λ―Έμ§μ λλ€.
컨ν
μ΄λ μ€ν μ 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κ° μ€λ³΅λλ©΄ ν¨ν· μΆ©λμ΄ λ°μν©λλ€. μλ λͺ©λ‘μ μ°Έκ³ νμ¬ μ€λ³΅λμ§ μλ IDλ₯Ό μ¬μ©νμΈμ.
- 51: OpenStack
- 52: APM Nginx
- 53: APM Backend (κ΅¬λΆ νμ)
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