DevOps研习社:PaaS平台集成解决方案——F5实现k8s环境下应用自动发布
原创: F5顾问晏顺 F5Networks
本期看点:
关于PaaS平台集成解决方案,作者侧重F5与PaaS(K8S为例)集成的方案,将从管理平面的高可用安全、应用自动发布、蓝绿发布、可视化4点论述。本文详细阐述了观点之一,即应用自动发布。
本文作者:
晏顺
F5解决方案顾问
拥有十多年运营商和金融行业从业经验,2012年加入F5。 熟悉运营商核心网和金融信息系统架构,专注于客户整体架构设计和应用的快速灵捷的交付。主要研究方向为云计算,容器及DevOps。涵盖多云环境下资源的弹性扩展,应用交付的自动化部署,运维自动化;以及云环境中安全高可用架构的实现。具有丰富的数据中心架构设计以及自动化平台对接经验,完成了多家互联网金融企业自动化运维平台的对接上线。
Kubernetes设计角度灵活的利于了clusterip实现了集群内部的服务互访,然而针对面向互联网的应用,需要实现基于集群外部的发布。满足DevOps的趋势,需要实现k8s环境下应用的自动发布。
Container Connector包含f5-k8s-controller和用户定义的“F5资源”。f5-k8s-controller是一个可以在Kubernetes Pod中运行的Docker容器。
“F5资源”是Kubernetes ConfigMap资源,它将编码数据传递给f5-k8s-controller。这些资源告诉f5-k8s-controller:
- 在BIG-IP上配置哪些对象;
- BIG-IP对象所属的Kubernetes服务(分别是ConfigMap中的前端和后端属性
f5-k8s-controller监视Kubernetes中F5资源的创建和修改。当它发现更改时,它会相应地修改BIG-IP。例如,对于F5 virtualServer资源,CC-Kubernetes执行以下操作:
- 创建对象以表示指定分区中BIG-IP上的VS;
- 使用Kubernetes分配给服务端口的NodePort