隨着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官方公衆平臺上也有更多介紹,感興趣的話能夠多關注,從而瞭解到更多相關的專業知識。