作者 | 路瑞强
阅读时间 | 3分钟
在生产级环境下,需考虑BIG-IP高可用。此时需CES对接BIG-IP AFM多实例集群。CES对接AFM集群有两种方式:
1 多CES方式
每个CES分别对接自己所管理的AFM,各自下发策略即可。策略的配置上依然是一份配置,各实例在配置上独立自动下发。
2 单CES方式
使用1个CES对接AFM集群的floating IP,同时集群AFM自身配置自动化同步。CES下发配置到其中一台AFM,这一台AFM将配置自动同步到其他AFM。
多CES方式配置
01 下载安装脚本
wget https://raw.githubusercontent.com/f5devcentral/container-egress-service/master/dist/install.sh
02 在执行安装前,编辑安装脚本,配置各个CES控制器。参考安装部分修改对应AFM的IP地址、用户名、密码、网关地址等。
# IP address of Big-IP server. CES pod will connect this IP.
BIGIP_URL=${BIGIP_URL:-192.168.50.254}
# BigIP username
BIGIP_USERNAME=${BIGIP_USERNAME:-admin}
# BigIP password
BIGIP_PASSWORD=${BIGIP_PASSWORD:-yourpassword}
gwPool:
serverAddresses:
- "10.5.0.254"
同时还需修改CES deployment名称,确保每个CES的部署名称不同:
CES_DEPLOMENT_NAME=${CES_DEPLOMENT_NAME:-ces-controller-1}
在多次执行安装脚本时候,会出现资源已存在提示,这是由于公用资源对象第一次执行安装脚本时已产生,可忽略这些提示,或自行直接通过控制器的Deployment资源手工创建第二个CES控制器的部署。
03 部署策略后,可以看到各AFM实例已自动被配置
由于是通过两个CES分别对两台AFM进行配置下发,所以会看到两台AFM配置待同步的提示。可忽略该提示。
单CES安装方式
首先应参考F5管理手册正确配置BIG-IP双机配置,并启用自动配置同步功能。CES将通过浮动IP进行配置下发。
01
下载安装脚本
wget https://raw.githubusercontent.com/f5devcentral/container-egress-service/master/dist/install.sh
02
在执行安装前,编辑安装脚本,配置CES控制器。参考安装部分修改对应AFM的浮动IP地址、用户名、密码、网关地址等。
# IP address of Big-IP server. CES pod will connect this IP.
BIGIP_URL=${BIGIP_URL:-192.168.50.254}
# BigIP username
BIGIP_USERNAME=${BIGIP_USERNAME:-admin}
# BigIP password
BIGIP_PASSWORD=${BIGIP_PASSWORD:-yourpassword}
gwPool:
serverAddresses:
- "10.5.0.254"
同时还需修改CES deployment名称:
CES_DEPLOMENT_NAME=${CES_DEPLOMENT_NAME:-ces-controller}
03
此方式下,作为Active的AFM实例将收到CES下发的配置。配置通过AFM自身自动同步。系统会提示正常的In sync标记。
04
配置清除命令也会产生上述同样的效果。
05
对AFM进行主备切换后,再次进行配置下发和清除,可以看到同样的效果。
配置方式对比
01
多CES方式
各个CES彼此不影响,独立管理配置。由于配置的下发源依然是k8s自身,因此source of truth是唯一的。
AFM系统上会提示配置待同步信息。在运维中可忽略该信息。
建议优先采用该方式。
02
单CES方式
可节省k8s系统资源。但需要F5管理员提前配置好自动同步能力。在大规模弹性模式下,可能会频繁触发AFM系统间的自动同步。