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

通過Annotation方式配置Sidecar Proxy

ASM支持通過Annotation方式修改Sidecar代理資源和配置。本文介紹如何通過添加資源注解和ProxyConfig字段的方式配置Sidecar Proxy。

前提條件

添加資源注解

ASM支持在Pod中添加注解的方式來修改Sidecar代理資源,本文以修改Sidecar代理的內存為例。關于其他更多注解的詳細介紹,請參見附錄一:Istio資源注解

  1. 為default命名空間啟用Sidecar網格代理自動注入。具體操作,請參見啟用自動注入

  2. 在default命名空間下部署應用。具體操作,請參見在ASM實例關聯的集群中部署應用

  3. 修改Sidecar代理最小的內存。

    1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 無狀態

    3. 無狀態頁面的操作列,單擊目標應用對應的更多 > 查看Yaml

    4. 編輯 YAML對話框的template參數下添加以下內容,然后單擊更新

      annotations:
        sidecar.istio.io/proxyMemory: 14Mi

      內存

  4. 驗證修改Sidecar代理的內存是否成功。

    1. 在集群管理頁左側導航欄,選擇工作負載 > 容器組

    2. 容器組頁面的操作列,單擊目標應用容器對應的詳情

    3. 容器頁簽,單擊istio-proxy

      可以看到istio-proxy所需資源為14Mi。所需資源

設置ProxyConfig字段

ASM支持在Pod中修改ProxyConfig字段的方式來定義Sidecar代理配置,關于ProxyConfig字段的更多使用介紹,請參見附錄二:ProxyConfig支持的字段

說明

proxy.istio.io/config的值可以使用YAML格式,也可以使用JSON格式。

設置ProxyConfig字段的操作方式和添加資源注解的操作相同,本文列舉了常用ProxyConfig字段示例,設置ProxyConfig字段的操作步驟,請參見上文。

示例一:設置中止排出時間

通過設置terminationDrainDuration修改中止排出時間。中止排出時間指當業務容器中止時,Istio Proxy最多等待時間。

在應用的YAML文件中添加以下內容,當業務容器中止時,Istio Proxy最多等待3秒。

annotations:
  proxy.istio.io/config: |
    terminationDrainDuration: 3s

中止排出時間

在容器組頁面單擊目標應用容器操作列下的詳情。在容器頁簽下單擊istio-proxy。可以看到中止排出時間為3s。proxy配置

示例二:設置Istio Proxy啟動順序

在ASM中默認全局設置了holdApplicationUntilProxyStartstrue,保證在應用容器啟動之前確保Istio Proxy已經啟動成功。如果應用容器就緒的時候,Istio Proxy容器沒有就緒,Pod接收流量會失敗。

holdApplicationUntilProxyStarts 是一個配置選項,用于控制應用程序容器在 Sidecar 代理注入后啟動的行為。holdApplicationUntilProxyStarts 設置為 true 時,Istio CNI 或 Sidecar 注入器會配置 Kubernetes Pod 以便在代理容器準備就緒并開始接收流量之前,阻止應用程序容器啟動。這有助于確保在 Pod 開始接收流量之前,所有的流量都會通過代理,從而使得流量管理、監控、安全策略等能夠立即生效。在大多數情況下,建議將 holdApplicationUntilProxyStarts 設置為 true,以確保網絡流量被正確管理。除非在考慮到某些特定情況時,設置為 false 可能是合適的選擇。

在容器組頁面單擊目標應用容器操作列下的詳情,單擊事件頁簽,可以看到先啟動業務容器,然后啟動Istio Proxy。啟動

附錄一:Istio資源注解

注解

說明

proxy.istio.io/config

覆蓋此Proxy的代理配置。

readiness.status.sidecar.istio.io/applicationPorts

指定應用程序容器公開的端口列表。由Sidecar代理就緒探測器使用,以確定Sidecar代理已配置并準備好接收流量。

readiness.status.sidecar.istio.io/failureThreshold

指定Sidecar代理就緒探測的失敗閾值。

readiness.status.sidecar.istio.io/initialDelaySeconds

指定Sidecar代理就緒探測的初始延遲(以秒為單位)。

readiness.status.sidecar.istio.io/periodSeconds

指定Sidecar代理就緒探測的周期(以秒為單位)。

sidecar.istio.io/componentLogLevel

指定Sidecar代理的組件日志級別。

sidecar.istio.io/enableCoreDump

指定Sidecar代理是否應啟用core dump。

sidecar.istio.io/extraStatTags

從Istio Proxy遙測中提取的附加標簽列表。每個附加標簽都需要出現在此列表中。

sidecar.istio.io/inject

指定是否使用Sidecar自動注入。

sidecar.istio.io/interceptionMode

指定用于將入流量重定向到Envoy的模式(REDIRECT或TPROXY)。

sidecar.istio.io/logLevel

為Sidecar代理設置日志級別。

sidecar.istio.io/proxyCPU

為Sidecar代理指定請求的CPU設置。

sidecar.istio.io/proxyCPULimit

指定Sidecar代理的CPU限制。

sidecar.istio.io/proxyMemory

為Sidecar代理指定請求的內存設置。

sidecar.istio.io/proxyMemoryLimit

指定Sidecar代理的內存限制。

sidecar.istio.io/rewriteAppHTTPProbers

將HTTP準備請求和活躍度探測請重定向到Sidecar代理。

status.sidecar.istio.io/port

指定Sidecar代理的HTTP狀態端口。如果為零,Sidecar將不提供狀態。

traffic.sidecar.istio.io/excludeInboundPorts

從重定向到Sidecar代理中排除的入站端口的逗號分隔列表。僅當所有入流量(即“*”)都被重定向時才適用。

traffic.sidecar.istio.io/excludeOutboundIPRanges

從重定向中排除的CIDR格式的IP范圍的逗號分隔列表。僅當所有出流量(即為“*”)被重定向時才適用。

traffic.sidecar.istio.io/excludeOutboundPorts

逗號分隔的字符串端口列表,表示禁止重定向到Sidecar代理中的出流量。

traffic.sidecar.istio.io/includeInboundPorts

將流量重定向到Sidecar代理的入站端口的逗號分隔列表。通配符“*”可用于為所有端口配置重定向。空列表將禁用所有入流量的重定向。

traffic.sidecar.istio.io/includeOutboundIPRanges

CIDR格式的IP范圍的逗號分隔列表,用于重定向到Sidecar代理。通配符“*”用于重定向所有出站流量。空列表將禁用所有出流量的重定向。

traffic.sidecar.istio.io/includeOutboundPorts

一個逗號分隔的出流量端口字符串列表,無論目標IP是什么,都將其流量重定向到Sidecar代理。

traffic.sidecar.istio.io/kubevirtInterfaces

以逗號分隔的虛擬接口列表,其入站流量將被視為出站流量。

附錄二:ProxyConfig支持的字段

字段

類型

描述

configPath

String

生成的配置文件目錄的路徑。Proxy agent生成實際配置并將其存儲在此目錄中。

statsdUdpAddress

String

statsd UDP 偵聽器的IP地址和端口。

proxyAdminPort

Int32

Envoy監聽管理命令的端口,默認端口為15000。

controlPlaneAuthPolicy

AuthenticationPolicy

AuthenticationPolicy定義了代理連接到控制平面時如何進行身份驗證。默認設置為MUTUAL_TLS

concurrency

Int32Value

運行的工作線程數。如果未設置,這將根據CPU請求和限制自動確定。如果設置為0,將使用機器上的所有內核。默認為2個工作線程。

interceptionMode

InboundInterceptionMode

設置將入流量重定向到Sidecar代理的模式。

tracing

Tracing

Sidecar代理使用的tracing配置。

sds

SDS

代理使用的Secret發現服務(SDS)配置。

proxyMetadata

Map<string, string>

代理的其他環境變量。以ISTIO_META_開頭的名稱將包含在生成的引導程序中并發送到XDS服務器。

statusPort

Map<string, string>

代理偵聽的管理(例如就緒探測)端口,默認設置為端口15020。

terminationDrainDuration

Duration

代理關閉時允許連接完成的時間。在收到SIGTERM或SIGINT時,istio-agent會告訴活動的Sidecar代理開始排空,阻止任何新連接并允許完成現有連接。然后會休眠termination_drain_duration,然后關閉所有剩余的活動Envoy進程。如果未設置,將應用默認值5s。

holdApplicationUntilProxyStarts

BoolValue

用于啟用或禁用holdApplicationUntilProxyStarts行為的boolean標志。此功能添加掛鉤以延遲應用程序啟動,直到Pod代理準備好接受流量,從而緩解一些啟動競爭條件。