日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

干货分享:如何使用Kubernetes的Ingress API

發布時間:2023/12/4 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 干货分享:如何使用Kubernetes的Ingress API 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導語

以Kubernetes的Kong為例,聊聊當前流行的開源且與云無關的Ingress控制器。

正文

您可以通過使用諸如Kong for Kubernetes的Ingress控制器(使用自定義資源定義并提供許多插件)來極大地擴展Ingress資源的功能。

Kubernetes正在整個技術行業中得到采用,并且正逐漸成為現代云服務交付的實際編排平臺。Kubernetes不僅提供了用于在云中部署微服務的原語,而且更進一步,幫助開發人員定義交互并管理其API的生命周期。?

Kubernetes中的Ingress API允許您將微服務公開給外部世界,并為南北流量(即進入虛擬數據中心的流量)定義路由策略。使用Ingress 使用持續集成和持續交付(CI / CD)管道來管理API生命周期的好處很多,但是在我們介紹這些之前,讓我們從一些基礎知識開始。

Ingress資源的設計和目的

Kubernetes集群的最簡單描述是在容器中運行應用程序的一組受管節點。在大多數情況下,Kubernetes集群中的節點不會直接暴露于公共互聯網。這是有道理的,因為將所有服務公開在一個節點上會帶來不可思議的風險。為了向公眾提供對選定服務的訪問,Kubernetes提供了Ingress資源。

Ingress資源公開了從群集外部到其中的選定服務的HTTP和HTTPS路由。Ingress資源還提供控制流量的規則。這使得Ingress資源成為處理大量獨立服務提供的各種API的理想解決方案。為此,它為所有客戶端提供一個入口點,然后處理對后端服務的請求。這通常稱為扇出配置。

還可以為基于名稱的虛擬主機設置Ingress資源,該資源將基于主機頭路由請求:

為了使Ingress資源正常工作,需要在Kubernetes集群上安裝Ingress控制器。控制器在Kubernetes集群和現有的各種面向公眾的接口之間建立了橋梁。例如,大多數托管Kubernetes的云提供商都提供了一個獨特的Ingress控制器,以與他們規定的面向公眾的方法對接。各個控制器的操作彼此不同,并且可以提供不同數量的附加功能。

使用Ingress通過CI / CD管道管理API生命周期的好處

Ingress資源是通過聲明性配置文件定義的,該文件通常在YAML中進行描述。這與所有Kubernetes資源一致,并允許直接集成到現代部署模式中,例如CI / CD的組合實踐。這就是快速,頻繁且安全地部署Ingress更改的能力。這樣,可以將Ingress資源與應用程序本身合并到相同類型的軟件開發生命周期模式中。

開發人員如何使用Kong for Kubernetes完成Ingress

面向Kubernetes的Kong是一個流行的開源且與云無關的Ingress控制器。Kong for Kubernetes入口控制器是作為Kubernetes中的自定義資源定義(CRD)構建的。這為那些已經習慣在該平臺內定義資源的人提供了Kubernetes原生體驗。

像您的應用程序和服務一樣,可以通過Manifest,Helm或Kustomize安裝Kong for Kubernetes。

Kong for Kubernetes Ingress Controller通過提供廣泛的插件集來擴展Ingress資源的功能,這些插件涵蓋了包括身份驗證,分析,監視以及請求和響應轉換在內的各種功能,僅舉幾例。通過在Ingress控制器上提供這些常見(有時不是很常見)的要求,Kong for Kubernetes可使開發人員將更多精力放在服務的核心要求上。當組織從少數的單一應用程序遷移到數百個(甚至數千個)微服務時,其價值變得尤為明顯。

有關常見插件的列表,請訪問 https://docs.konghq.com/hub/。

Kong插件被定義為Kubernetes資源,其中的config部分提供了各個插件的設置。以下是一個限速插件示例,該插件將流量限制為每分鐘五個請求:

通過在資源的元數據部分中的簡單注釋即可將Kong插件添加到Kubernetes資源中。這允許將插件應用于不同的層。例如,您可以將一個插件應用于整個Ingress資源,或者以一種更細粒度的方式將其應用于單個服務資源。

這是將上述插件應用于Ingress資源的示例:

Kong for Kubernetes還可以集成到Kong Enterprise產品的完整套件中,包括Kong Studio,Kong Dev Portal,Kong Manager,? Kong Brain和Kong Immunity。這樣就可以使用更高級的Kong插件以及完整的API生命周期解決方案。這套產品涵蓋API規范的創作和發布,以及Kong資源的管理,甚至流量分析。

您可以采用“規范優先”的方法來使用Kong Studio開發API。在該庫中,您將找到用于在標準OpenAPI規范中編寫文檔的工具以及用于立即反饋的測試工具。Kong Studio還提供了使用GraphQL的工具。Kong Studio直接同步到Git,這可以將您的規格文件集成到CI / CD工作流程中,從而可以自動更新Kong Dev Portal。

Kong Dev Portal托管您的API文檔(可以是私人的也可以是公共的)。它具有極高的可定制性,可讓您使其適應組織的風格和品牌。擁有完善文檔的API對于提高生產力很重要,并且在Kong Studio和Dev Portal之間進行良好管理的流程可以幫助確保文檔盡可能保持最新。

Kong Manager提供了圖形界面來觀察和管理整個Kong產品套件。從這里,您可以觀察路由,服務和插件之間的關系。您可以實時了解流量并跟蹤消費者。

Kong Brain會分析通過Ingress的流量,并創建服務間依賴關系的可視服務圖。它還具有根據生成的地圖自動生成OpenAPI規范文檔的功能。這是一項有價值的功能,因為即使出于最佳意圖,也可能無法正確記錄所部署的服務。?

Kong Immunity會分析通過Ingress的所有流量,并學習識別異常的模式。這些通常是微妙的請求,它們并不引人注目,但可能會引起人們的興趣,例如不斷嘗試通過的未知參數。這也是一個非常有價值的功能,因為將這些針刺入成千上萬個日志條目的大海撈針并不容易。

充分利用Ingress

Kubernetes入口資源提供了從外部Kubernetes到內部后端服務的單個入口點。通過利用聲明性定義文件,可以像對待所有其他形式的代碼一樣對待Ingress資源,并將其集成到常見的軟件開發生命周期中。

為了橋接Kubernetes之外的通信,需要一個Ingress控制器。Kong for Kubernetes是一個Ingress控制器,它使用自定義資源定義通過提供大量插件來極大地擴展Ingress資源的功能,從而使開發人員可以專注于核心業務價值。Kong擁有一套企業工具,可以在整個API生命周期內極大地提高生產力和安全性。

總結

以上是生活随笔為你收集整理的干货分享:如何使用Kubernetes的Ingress API的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。