# docker-keepalived

keepalived是一个双活方案，是用arp伪造的方式，确定一个虚拟IP对应到多台主机的当前的实际主机，keepalived采用集群方式部署，节点之间互相通讯和选举，确定某一台机器可用，然后伪造出arp，以达到双活的目的。可以直接在主机安装，也可以使用docker安装

参考网址：https://github.com/osixia/docker-keepalived

当我们搭建**高可用K8S**时，可以选择**kube-vip**方案，也可以选择**keepalived**方案

```yaml

version: '3'
services:
  keepalived:
    image: harbor.iovhm.com/hub/osixia/keepalived:2.0.20
    restart: always
    network_mode: host
    cap_add:
      - NET_ADMIN
      - NET_BROADCAST
      - NET_RAW
    environment:
      - KEEPALIVED_INTERFACE=eth0           # 网络接口
      # - KEEPALIVED_PASSWORD=d0cker        # 密码
      # - KEEPALIVED_PRIORITY=100           # 节点优先级
      # - KEEPALIVED_ROUTER_ID=51           # 路由ID
      - KEEPALIVED_UNICAST_PEERS="#PYTHON2BASH:['172.18.32.221','172.18.32.98','172.18.32.30']" # 主机列表
      - KEEPALIVED_VIRTUAL_IPS=172.18.32.41/24 # 虚拟IP

```