1. 程式人生 > >科普DevOps趨勢下k8s環境應用自動釋出的實現

科普DevOps趨勢下k8s環境應用自動釋出的實現

  
  隨著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中的前端和後端屬性)。
  

  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;
 

  4.建立secrect儲存admin使用者和密碼;
  

  5.建立f5-cc-deployment.yaml,並apply;
  

        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官方公眾平臺上也有更多介紹,感興趣的話可以多關注,從而瞭解到更多相