本篇文章給大家分享的是有關(guān)Kubernetes中Ingress API如何使用,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)海陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
Ingress資源的設(shè)計和目的
Kubernetes集群的最簡單描述是在容器中運行應(yīng)用程序的一組受管節(jié)點。在大多數(shù)情況下,Kubernetes集群中的節(jié)點不會直接暴露于公共互聯(lián)網(wǎng)。這是有道理的,因為將所有服務(wù)公開在一個節(jié)點上會帶來不可思議的風(fēng)險。為了向公眾提供對選定服務(wù)的訪問,Kubernetes提供了Ingress資源。
Ingress資源公開了從群集外部到其中的選定服務(wù)的HTTP和HTTPS路由。Ingress資源還提供控制流量的規(guī)則。這使得Ingress資源成為處理大量獨立服務(wù)提供的各種API的理想解決方案。為此,它為所有客戶端提供一個入口點,然后處理對后端服務(wù)的請求。這通常稱為扇出配置。
還可以為基于名稱的虛擬主機設(shè)置Ingress資源,該資源將基于主機頭路由請求:
為了使Ingress資源正常工作,需要在Kubernetes集群上安裝Ingress控制器??刂破髟贙ubernetes集群和現(xiàn)有的各種面向公眾的接口之間建立了橋梁。例如,大多數(shù)托管Kubernetes的云提供商都提供了一個獨特的Ingress控制器,以與他們規(guī)定的面向公眾的方法對接。各個控制器的操作彼此不同,并且可以提供不同數(shù)量的附加功能。
使用Ingress通過CI / CD管道管理API生命周期的好處
Ingress資源是通過聲明性配置文件定義的,該文件通常在YAML中進行描述。這與所有Kubernetes資源一致,并允許直接集成到現(xiàn)代部署模式中,例如CI / CD的組合實踐。這就是快速,頻繁且安全地部署Ingress更改的能力。這樣,可以將Ingress資源與應(yīng)用程序本身合并到相同類型的軟件開發(fā)生命周期模式中。
開發(fā)人員如何使用Kong for Kubernetes完成Ingress
面向Kubernetes的Kong是一個流行的開源且與云無關(guān)的Ingress控制器。Kong for Kubernetes入口控制器是作為Kubernetes中的自定義資源定義(CRD)構(gòu)建的。這為那些已經(jīng)習(xí)慣在該平臺內(nèi)定義資源的人提供了Kubernetes原生體驗。
像您的應(yīng)用程序和服務(wù)一樣,可以通過Manifest,Helm或Kustomize安裝Kong for Kubernetes。
Kong for Kubernetes Ingress Controller通過提供廣泛的插件集來擴展Ingress資源的功能,這些插件涵蓋了包括身份驗證,分析,監(jiān)視以及請求和響應(yīng)轉(zhuǎn)換在內(nèi)的各種功能,僅舉幾例。通過在Ingress控制器上提供這些常見(有時不是很常見)的要求,Kong for Kubernetes可使開發(fā)人員將更多精力放在服務(wù)的核心要求上。當(dāng)組織從少數(shù)的單一應(yīng)用程序遷移到數(shù)百個(甚至數(shù)千個)微服務(wù)時,其價值變得尤為明顯。
有關(guān)常見插件的列表,請訪問 https://docs.konghq.com/hub/。
Kong插件被定義為Kubernetes資源,其中的config部分提供了各個插件的設(shè)置。以下是一個限速插件示例,該插件將流量限制為每分鐘五個請求:
通過在資源的元數(shù)據(jù)部分中的簡單注釋即可將Kong插件添加到Kubernetes資源中。這允許將插件應(yīng)用于不同的層。例如,您可以將一個插件應(yīng)用于整個Ingress資源,或者以一種更細粒度的方式將其應(yīng)用于單個服務(wù)資源。
這是將上述插件應(yīng)用于Ingress資源的示例:
Kong for Kubernetes還可以集成到Kong Enterprise產(chǎn)品的完整套件中,包括Kong Studio,Kong Dev Portal,Kong Manager, Kong Brain和Kong Immunity。這樣就可以使用更高級的Kong插件以及完整的API生命周期解決方案。這套產(chǎn)品涵蓋API規(guī)范的創(chuàng)作和發(fā)布,以及Kong資源的管理,甚至流量分析。
您可以采用“規(guī)范優(yōu)先”的方法來使用Kong Studio開發(fā)API。在該庫中,您將找到用于在標準OpenAPI規(guī)范中編寫文檔的工具以及用于立即反饋的測試工具。Kong Studio還提供了使用GraphQL的工具。Kong Studio直接同步到Git,這可以將您的規(guī)格文件集成到CI / CD工作流程中,從而可以自動更新Kong Dev Portal。
Kong Dev Portal托管您的API文檔(可以是私人的也可以是公共的)。它具有極高的可定制性,可讓您使其適應(yīng)組織的風(fēng)格和品牌。擁有完善文檔的API對于提高生產(chǎn)力很重要,并且在Kong Studio和Dev Portal之間進行良好管理的流程可以幫助確保文檔盡可能保持最新。
Kong Manager提供了圖形界面來觀察和管理整個Kong產(chǎn)品套件。從這里,您可以觀察路由,服務(wù)和插件之間的關(guān)系。您可以實時了解流量并跟蹤消費者。
Kong Brain會分析通過Ingress的流量,并創(chuàng)建服務(wù)間依賴關(guān)系的可視服務(wù)圖。它還具有根據(jù)生成的地圖自動生成OpenAPI規(guī)范文檔的功能。這是一項有價值的功能,因為即使出于最佳意圖,也可能無法正確記錄所部署的服務(wù)。
Kong Immunity會分析通過Ingress的所有流量,并學(xué)習(xí)識別異常的模式。這些通常是微妙的請求,它們并不引人注目,但可能會引起人們的興趣,例如不斷嘗試通過的未知參數(shù)。這也是一個非常有價值的功能,因為將這些針刺入成千上萬個日志條目的大海撈針并不容易。
充分利用Ingress
Kubernetes入口資源提供了從外部Kubernetes到內(nèi)部后端服務(wù)的單個入口點。通過利用聲明性定義文件,可以像對待所有其他形式的代碼一樣對待Ingress資源,并將其集成到常見的軟件開發(fā)生命周期中。
為了橋接Kubernetes之外的通信,需要一個Ingress控制器。Kong for Kubernetes是一個Ingress控制器,它使用自定義資源定義通過提供大量插件來極大地擴展Ingress資源的功能,從而使開發(fā)人員可以專注于核心業(yè)務(wù)價值。Kong擁有一套企業(yè)工具,可以在整個API生命周期內(nèi)極大地提高生產(chǎn)力和安全性。
以上就是Kubernetes中Ingress API如何使用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。