一键部署keepalived基于docker compose

在工作中需要使用keepalived的场景其实还是很多的,因此提供一种基于docker compose的方式一键部署keepalived方式。目标是,无脑直接使用,3分钟内完成搭建。

对于依赖的docker image我会尽量的跟随官方同步的进行更新,因此有需要的,特别是运维的同事可以收藏一下。

dockerhub: https://hub.docker.com/r/galtjay/keepalived

github: https://github.com/galtjay/keepalived-docker-compose

项目中包含两个文件夹 backup-compose及master-compose,分别用于在master节点和backup节点执行。

简单进行配置即可一键启动:

  • 修改chk_svc.sh中的端口,修改成你需要守护的端口,默认为443。同时请chmod +x chk_svc.sh,赋予脚本执行权限。

  • 请修改keepalived.conf.master及keepalived.conf.backup中网卡名称,默认为ens33,修改interface,将网卡名称和你本机的业务网卡匹配。

  • 按需修改keepalived.conf.master及keepalived.conf.backup中auth_pass密码。

修改完成之后,直接docker-compose up -d即可。

如遇到错误,docker logs -f 就可以看到输出的日志。

假如不想使用compose运行,直接docker run,可参考:
docker run -d --name ka --network host -v /home/keepalived/keepalived.conf:/etc/keepalived/keepalived.conf --cap-add=NET_ADMIN --cap-add=NET_BROADCAST --cap-add=NET_RAW  galtjay/keepalived:latest
其中网络权限的部分,可以直接使用docker run --privileged,进行替换。


假如想要使用kubernetes运行keepalived容器,参考如下:
apiVersion: v1
kind: Pod
metadata:
  name: xxx
spec:
  containers:
  - name: keepalived
    image: galtjay/keepalived:latest
    securityContext:
      capabilities:
        add: ["NET_ADMIN", "NET_BROADCAST", "NET_RAW"]

其中securityContext部分,可以直接使用privileged替换。

本文关键词:docker keeplived compose 一键 部署 k8s kubernetes