行至水穷处 坐看“云”起时

Cloud Native ADN -> CNadn.Net

如何为CIS发现的服务提供备份访问服务

需求:

K8S中的服务不可用的时候(假定k8s的某个服务出现完全不可用,理论上k8s本身会避免这个问题的出现,这里姑且认为客户需求是合理的),需要为通过CIS已经发布的VS 提供备份访问,及该vs将自动把业务导向其它静态vm提供的服务。

Solution:

需借助BIGIP AS3来实现该需求。即CIS通过部署AS3的方式来部署服务,通过在AS3里直接配置静态的低优先级组member来实现备份,一个例子如下:

上述配置中的pool members部分是重点,静态添加低优先级组member,高优先级组由CIS自动化发现

最终在F5上产生的配置效果如下:

测试:

如果删除相关svc:
[root@k8s-master f5-k8s]# kubectl delete -f nginx-deploy-svc.yaml
CIS将只留下静态部分的pool member

恢复相关svc:

[root@k8s-master f5-k8s][root@k8s-master f5-k8s]# kubectl create -f nginx-deploy-svc.yaml

pod再次被自动添加

其它:

此方法需要用户采用AS3来进行配置,用户应充分理解AS3本身的特性和用法,以及了解AS3在与CIS配合时的一些限制。具体可参考以下内容:

https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/

https://clouddocs.f5.com/containers/v2/kubernetes/kctlr-k8s-as3.html

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据