日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ASM配置建議

更新時(shí)間:

本文介紹ASM的配置建議,包括網(wǎng)格診斷、網(wǎng)關(guān)、網(wǎng)格、API、服務(wù)治理等,幫助您規(guī)避錯(cuò)誤的配置。

網(wǎng)格診斷

ASM支持對(duì)實(shí)例進(jìn)行網(wǎng)格診斷。診斷項(xiàng)包括數(shù)據(jù)平面版本檢查、服務(wù)端口檢查、服務(wù)關(guān)聯(lián)檢查等。建議您經(jīng)常使用網(wǎng)格診斷功能對(duì)配置進(jìn)行診斷。對(duì)于未通過的檢查項(xiàng),請(qǐng)按照相關(guān)提示進(jìn)行配置修改。具體操作,請(qǐng)參見使用ASM網(wǎng)格診斷網(wǎng)格診斷..png

網(wǎng)關(guān)

  • 一個(gè)域名對(duì)應(yīng)一個(gè)Gateway資源。不建議多個(gè)Gateway CR關(guān)聯(lián)同一個(gè)域名。

  • 一個(gè)Gateway對(duì)應(yīng)一個(gè)VirtualService。若需要使用多個(gè)VirtualSerice關(guān)聯(lián)同一個(gè)Gateway,請(qǐng)勿在多個(gè)VirtualService下針對(duì)同一個(gè)URI或者同一個(gè)URI范圍進(jìn)行配置,避免因合并的順序?qū)е虏环项A(yù)期的路由優(yōu)先級(jí)問題。

    • 若VirtualService下配置條目過多,需要拆分為多個(gè)VirtualService進(jìn)行配置。建議按照路由的目標(biāo)服務(wù)(Destination)進(jìn)行拆分,一個(gè)目標(biāo)服務(wù)對(duì)應(yīng)一個(gè)子VirtualService。

    • 使用VirtualService Delegate功能時(shí),需滿足CI/CD單獨(dú)上線一個(gè)服務(wù)并關(guān)聯(lián)配置一條路由。

  • 一個(gè)后端應(yīng)用服務(wù)建議對(duì)應(yīng)一個(gè)DestinationRule。多個(gè)DestinationRule低版本可能會(huì)導(dǎo)致配置同步(xDS)不一致的問題。

網(wǎng)格

  • 同一個(gè)Host的流控規(guī)則(VirtualService)不支持分布到多個(gè)VirtualService資源下。如果同一個(gè)Host存在多個(gè)VirtualService,僅生效最新創(chuàng)建的一個(gè)VirtualService。

  • 一個(gè)后端應(yīng)用服務(wù)對(duì)應(yīng)一個(gè)VirtualService和DestinationRule。VirtualService和DestinationRule需創(chuàng)建在服務(wù)對(duì)應(yīng)的Namespace下。不建議資源跨Namespace進(jìn)行配置。

  • 針對(duì)同一個(gè)服務(wù),若該服務(wù)也暴露在入口網(wǎng)關(guān)下,東西向流量(針對(duì)Sidecar的路由配置)和南北向(針對(duì)Gateway的路由配置)建議分開配置。

API

通用規(guī)則

  • istio-system空間下未包含WorkLoadSelector的CR配置,一般針對(duì)當(dāng)前整個(gè)集群生效。

  • 非istio-system空間下未包含WorkLoadSelector的CR配置,一般針對(duì)當(dāng)前Namespace生效。

ServiceEntry

  • 必須密切監(jiān)控服務(wù)項(xiàng)目的添加,以確保不向命名空間提供任意的外部訪問權(quán)限。

  • HostName

    • 一個(gè)給定的主機(jī)名只能有一個(gè)服務(wù)條目。同一主機(jī)名的多個(gè)服務(wù)條目將導(dǎo)致未定義的行為。

    • 不建議有多個(gè)服務(wù)條目在主機(jī)名上重疊。例如,兩個(gè)帶有主機(jī)xx.example.com和example.com的服務(wù)條目將在運(yùn)行時(shí)導(dǎo)致未定義的行為。

    • 必須使用完全符合格式規(guī)范的域名作為主機(jī)名。不建議使用沒有英文半角句號(hào)(.)的短名稱。

  • Address

  • 除非地址字段有一個(gè)CIDR塊,否則避免使用NONE解析模式。一個(gè)沒有地址字段的NONE解析的服務(wù)條目,將會(huì)允許在服務(wù)條目中指定端口上的任何IP的流量。

VirtualService

  • 虛擬服務(wù)不能被繼承。因此,針對(duì)xx.example.com的虛擬服務(wù)的設(shè)置與example.com的虛擬服務(wù)的設(shè)置無關(guān)。如果具有不同通配符主機(jī)的多個(gè)虛擬服務(wù)與給定的主機(jī)名相匹配,在運(yùn)行時(shí)將只應(yīng)用最具體的虛擬服務(wù)的設(shè)置。

  • 對(duì)于HTTP規(guī)則,首選精確或前綴的URL匹配,而不是正則表達(dá)式。基于正則表達(dá)式的匹配速度較慢,還可能導(dǎo)致不符合預(yù)期的行為。

  • 網(wǎng)格內(nèi)部,對(duì)于一個(gè)給定的主機(jī)名,應(yīng)該只有一個(gè)虛擬服務(wù)。多個(gè)虛擬服務(wù)將導(dǎo)致不符合預(yù)期的行為。請(qǐng)避免使用短名稱來指代虛擬服務(wù)中的主機(jī),因?yàn)橹鳈C(jī)名稱解釋受制于運(yùn)行時(shí)的上下文,短名稱可能會(huì)造成名稱模糊,不具有唯一性。

DestinationRule

DestinationRule定義在路由發(fā)生之后如何為網(wǎng)絡(luò)流量提供服務(wù)的策略。在DestinationRule中可以配置如下內(nèi)容:

  • 網(wǎng)絡(luò)流量策略

  • 負(fù)載均衡策略

  • 連接池設(shè)置

  • mTLS

  • 回彈性

  • 使用標(biāo)簽(label)指定服務(wù)的子集(subsets),這些子集將在VirtualService中用到。

配置Destination Rule時(shí),請(qǐng)注意如下內(nèi)容:

  • 在創(chuàng)建流量轉(zhuǎn)移的子集時(shí),在創(chuàng)建帶有子集的目標(biāo)規(guī)則和創(chuàng)建指向這些子集的虛擬服務(wù)之間需要留有幾秒的延遲。這個(gè)延遲可以確保在Pilot發(fā)送指向這些子集的路由配置時(shí),對(duì)應(yīng)的Envoy上游配置已經(jīng)就緒。

  • 可以使用通配符目標(biāo)規(guī)則在一系列的主機(jī)上指定一個(gè)單一的目標(biāo)規(guī)則。例如,istio-config根命名空間中的全局目標(biāo)規(guī)則將所有與.local主機(jī)名匹配的服務(wù)配置為mTLS。當(dāng)為一個(gè)更具體的主機(jī)名創(chuàng)建目標(biāo)規(guī)則時(shí)(例如.ns1.svc.cluster.localsvc1.ns1.svc.cluster.local),會(huì)選擇最具體的目標(biāo)規(guī)則。其他通配符目標(biāo)規(guī)則的設(shè)置不會(huì)被繼承。因此,您編寫的任意目標(biāo)規(guī)則都必須攜帶全局目標(biāo)規(guī)則中的所有必選項(xiàng),例如mTLS。

VirtualService和DestinationRule的可見性

若訪問的權(quán)限未嚴(yán)格控制,網(wǎng)格運(yùn)維人員可能會(huì)在客戶端命名空間中編寫導(dǎo)出值為'.'的規(guī)則以覆蓋服務(wù)器指定的目標(biāo)規(guī)則和虛擬服務(wù)。服務(wù)的目標(biāo)規(guī)則和虛擬服務(wù)(在Kubernetes或Service Entry中)會(huì)影響到與該服務(wù)對(duì)話的所有Sidecar,例如離群值檢測、重試策略等設(shè)置,將在客戶端側(cè)的Sidecar上執(zhí)行。雖然讓每個(gè)服務(wù)消費(fèi)者命名空間為另一個(gè)命名空間的服務(wù)編寫自己的虛擬服務(wù)和目標(biāo)規(guī)則可能較為便捷,但如果不限制這種自定義配置的可見性,就會(huì)導(dǎo)致未定義的行為。

Sidecar

  • 若訪問的權(quán)限未嚴(yán)格控制,命名空間所有者可能會(huì)通過在egress.hosts部分聲明對(duì)*/*的依賴,或者通過從具有潛在沖突配置的多個(gè)命名空間導(dǎo)入服務(wù)和配置,來覆蓋全局指定的Sidecar,導(dǎo)致與沒有Sidecar系統(tǒng)的效果一致。

  • 建議使用Istio中的Sidecar API來限制每個(gè)工作負(fù)載對(duì)系統(tǒng)中其他工作負(fù)載的依賴性。整個(gè)命名空間有一個(gè)Sidecar資源即可,無需工作負(fù)載選擇器來配置整個(gè)命名空間的默認(rèn)值。每個(gè)Sidecar資源都指定了命名空間中工作負(fù)載所需要的主機(jī),這些主機(jī)對(duì)應(yīng)Kubernetes服務(wù)、Istio服務(wù)條目和Istio VirtualServices中的主機(jī)名。基于導(dǎo)入的服務(wù)主機(jī)名,適當(dāng)?shù)哪繕?biāo)規(guī)則也會(huì)自動(dòng)從服務(wù)的命名空間導(dǎo)入。Sidecars在egress.hosts字段中聲明對(duì)其他命名空間的服務(wù)的依賴性。聲明對(duì)主機(jī)名的依賴(無論是否有通配符)將導(dǎo)致Pilot嘗試搜索所有存在上述主機(jī)的命名空間,并從所有匹配的命名空間導(dǎo)入。

    #示例一
    egress:
    - hosts:
      - "_/_"
     
    #示例二
    egress:
    - hosts:
      - foo.example.com
      - .fun.com

    如果在多個(gè)命名空間中存在同一主機(jī)相沖突的服務(wù)條目,或者在多個(gè)命名空間中存在與同一主機(jī)相沖突的虛擬服務(wù)(例如有exportTo: *),則特定資源的選擇基于這些資源的創(chuàng)建順序。這種行為可能會(huì)在生產(chǎn)中造成未知的后果。

    • Sidecars不支持繼承。如果一個(gè)命名空間聲明了一個(gè)Sidecar資源,命名空間的本地Sidecar會(huì)優(yōu)先于全局默認(rèn)的Sidecar。

    • 當(dāng)多個(gè)Sidecars有重疊的工作負(fù)載選擇器時(shí),將隨機(jī)選擇一個(gè)Pod的Sidecar資源。因此,請(qǐng)確保在編寫帶有工作負(fù)載選擇器的Sidecars時(shí),每個(gè)Sidecar都針對(duì)其命名空間中的一組不同的Pod。

Telemetry

  • 同一個(gè)Namespace下,不能配置兩個(gè)未定義workLoadSelector的Telemetry CR。如果定義了多個(gè),則無法確定哪個(gè)生效。

  • 同一個(gè)Namespace下,若Telemetry CR包含workLoadSelector,不能存在兩個(gè)重疊的workLoadSelector CR。若發(fā)生重疊,則無法確定哪個(gè)生效。

服務(wù)治理

服務(wù)治理支持基于全局、命名空間、工作負(fù)載三個(gè)維度進(jìn)行配置。例如您可以在全局(istio-system命名空間)創(chuàng)建一個(gè)較為寬松的規(guī)則,然后在特定命名空間基于業(yè)務(wù)特點(diǎn)進(jìn)行更細(xì)化的配置用以覆蓋全局配置。若存在一些需要重點(diǎn)關(guān)注的應(yīng)用,您還可以使用工作負(fù)載級(jí)別的配置,對(duì)其進(jìn)行特定配置。

功能

說明

超時(shí)、重試

無需顯式配置。Istio默認(rèn)配置中下發(fā)了超時(shí)、重試規(guī)則,默認(rèn)會(huì)重試兩次,但未配置超時(shí)時(shí)間。您可以通過Envoy的config_dump接口查看默認(rèn)配置。

熔斷

Istio社區(qū)提供基于異常值檢測的熔斷機(jī)制,可以通過DestinationRule下的TrafficPolicy進(jìn)行配置,但有一定的局限性。ASM對(duì)熔斷功能進(jìn)行了增強(qiáng),提供更細(xì)粒度的路由級(jí)熔斷功能。具體操作,請(qǐng)參見使用ASM路由級(jí)熔斷功能

限流

Istio的限流功能與提供原生API的VirtualService、Telemetry等功能不同,需要采用EnvoyFilter方式進(jìn)行配置。采用EnvoyFilter配置有一定的復(fù)雜度,還需考慮版本兼容性等問題,容易出錯(cuò)。ASM提供抽象程度更高的ASMLocalRateLimiter CRD,可以簡化配置。具體操作,請(qǐng)參見使用ASM本地限流功能