随着DevOps成为一种趋势, PaaS平台集成解决方案也是热门话题之一,F5与PssS(k8s为例)集成的方案也是备受关注。这个方案有四个重要的方面,分别是管理平台的高可用安全、应用自动发布、蓝绿发布、可视化,今天与你们探讨的就是k8s环境下应用自动发布。前端
众所周知,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:1.在BIG-IP上配置哪些对象;2.BIG-IP对象所属的Kubernetes服务(分别是ConfigMap中的前端和后端属性)。
node
f5-k8s-controller监视Kubernetes中F5资源的建立和修改。当它发现更改时,它会相应地修改BIG-IP。例如,对于F5 virtualServer资源,CC-Kubernetes执行如下操做:1.建立对象以表示指定分区中BIG-IP上的VS;2.使用Kubernetes分配给服务端口的NodePort为Kubernetes集群中的每一个节点建立pool member;3.监控F5资源和连接的Kubernetes resources for changes并从新配置BIG-IP;4.而后,BIG-IP在指定的虚拟地址上处理服务的流量,并对集群中的全部节点进行负载平衡;在群集内,分配的NodePort负载均衡到服务的全部Pod。后端
下面将演示经过F5 CC(Container Connector)与F5 BIG-IP联动实现业务自动的对外发布。
1.在BIG-IP设备上建立新的partition,命名为kubernetes;
浏览器
2.建立serviceaccount;
安全
3.建立RBAC policy f5-k8s-sample-rbac.yaml,并apply;
app
4.建立secrect保存admin用户和密码;
负载均衡
5.建立f5-cc-deployment.yaml,并apply;
frontend
6.在k8s上建立应用,共包含三个yaml文件my-frontend-deployment.yaml,my-frontend-configmap.yaml,my-frontend-service.yaml;
编码
7.检查BIG-IP上配置,workernode 10.1.1.175的端口31752自动添加到BIG-IP配置中,经过浏览器打开页面。
设计
关于F5实现k8s环境下应用自动发布就探讨这么多,在F5官方公众平台上也有更多介绍,感兴趣的话能够多关注,从而了解到更多相关的专业知识。