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

配置Sidecar注入策略

ASM自帶一個Sidecar注入器,能夠自動為新建的Pod添加Sidecar代理。您可以配置注入器的策略以滿足特定需求,通過標簽選擇哪些Pod需要加入Sidecar,從而更有效地使用資源并簡化管理。根據集群的大小和負載,您也可以調整注入器的資源配置,確保其有充足的運行資源。

前提條件

已添加集群到ASM實例

配置自動注入策略

您可以通過Pod所在命名空間的標簽、Pod自身的標簽或注解,匹配需要注入Sidecar的Pod。

  1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理。

  2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇數據面組件管理 > 注入策略配置。

  3. 注入策略配置頁面的注入策略配置管理區域,配置自動注入策略。

    只有當Pod同時匹配Pod所在命名空間的標簽需要滿足條件Pod自身的標簽/注解需要滿足條件時,Pod才會被自動注入Sidecar。

    匹配條件

    說明

    Pod所在命名空間的標簽需要滿足條件

    Sidecar自動注入對Pod所在命名空間的標簽的匹配條件。

    • 包含 istio-injection: enabled:當Pod所在的命名空間包含istio-injection: enabled標簽時,Pod匹配自動注入條件。

    • 不包含 istio-injection: disabled:當Pod所在的命名空間不包含istio-injection: disabled標簽時,Pod能夠匹配自動注入條件。

    Pod自身的標簽/注解需要滿足條件

    Sidecar自動注入對Pod自身標簽或注解的匹配條件。

    • 不包含 sidecar.istio.io/inject: "false":當Pod不包含sidecar.istio.io/inject: "false"標簽或注解時,Pod能夠匹配自動注入條件。

    • 包含 sidecar.istio.io/inject: "true":當Pod包含sidecar.istio.io/inject: "true"的標簽或注解時,Pod匹配自動注入條件。

      說明
      • ASM實例版本為1.12以下,僅支持通過匹配Pod注解的方式進行自動注入。

      • ASM實例版本為1.12及以上,支持通過匹配Pod標簽和匹配Pod注解兩種方式進行自動注入。

        標簽的匹配優先級大于注解。例如,Pod同時帶有sidecar.istio.io/inject: "true"的標簽和sidecar.istio.io/inject: "false"的注解,Pod將被標記為含有sidecar.istio.io/inject: "true"標簽,而不是sidecar.istio.io/inject: "false"注解。

  4. (可選)在注入策略配置管理區域下方,單擊展開高級選項,配置相關信息。

    配置項

    說明

    注入Sidecar的Pod標簽選擇器(AlwaysInjectSelector)

    AlwaysInjectSelector是一個可配置的Pod標簽選擇器。被AlwaysInjectSelector選中的Pod,將被視為包含sidecar.istio.io/inject:"true"標簽或注解。

    不注入Sidecar的Pod標簽選擇器(NeverInjectSelector)

    NeverInjectSelector是一個可配置的Pod標簽選擇器。被NeverInjectSelector選中的Pod,將被視為包含sidecar.istio.io/inject:"false"標簽或注解。

    說明

    AlwaysInjectSelector與NeverInjectSelector都是Pod標簽選擇器,配置方法相同,都分為多行,每一行是一個標簽選擇表達式,Pod的標簽只要匹配其中任意一個標簽選擇表達式,就可以被Pod標簽選擇器選中。

    每個標簽選擇表達式包含以下三個部分:

    • 鍵:表達式匹配時所使用的Pod標簽中的鍵。

    • 操作:表達式匹配Pod標簽的操作,可以選擇以下四種操作:

      • In:表達式根據Pod的標簽值是否在給定的值中來判斷是否匹配Pod。

      • NotIn:表達式根據Pod的標簽值是否不在給定的值中來判斷是否匹配Pod。

      • Exists:表達式根據Pod中給定的鍵是否存在來判斷是否匹配Pod。

      • DoesNotExist:表達式根據Pod中給定的鍵是否不存在來判斷是否匹配Pod。

    • 值:如果表達式的操作選擇In或NotIn,可以在此設定一系列的值,以判斷是否匹配Pod。

  5. 在頁面下方,單擊更新設置。

配置Sidecar注入器

Sidecar注入器是一個部署在數據面Kubernetes集群的準入Webhook服務(并非Sidecar代理),負責Sidecar代理的自動注入。Sidecar注入器的服務和工作負載均部署在Kubernetes集群的istio-system命名空間,名稱以istio-sidecar-injector開頭。您可以調整Sidecar注入器組件的資源設置與副本數,以保證Sidecar注入器在同時注入大量Pod時的可用性。建議您參考容器服務報警管理kube-apiserver組件監控,配置Sidecar注入器準入Webhook服務的指標監控和報警規則。

  1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇數據面組件管理 > 注入策略配置。

  3. 注入策略配置頁面的Sidecar注入器配置管理區域,配置Sidecar注入器,然后在頁面下方,單擊更新設置。

    配置項

    說明

    Sidecar注入器資源配置

    配置Sidecar注入器容器的資源限制所需資源。

    • 資源限制:配置Sidecar注入器容器的CPU和內存資源限制,其中CPU資源限制的單位為核(Core),內存資源限制的單位為MiB。

    • 所需資源:配置Sidecar注入器容器的CPU和內存所需資源,其中CPU所需資源的單位為核(Core),內存所需資源的單位為MiB。

    Pod副本數

    配置Sidecar注入器Pod的副本數量。

    說明

    增加Sidecar注入器的副本數量可以提高Sidecar注入服務在同時注入大量Pod時的可用性。推薦您將Pod副本數設定為2個或以上。

    重寫健康檢查

    是否在注入時為Pod重寫健康檢查。您可以參考為網格內應用開啟健康檢查重定向,確定是否需要啟用健康檢查重寫。

    Sidecar-injector部署節點選擇

    通過匹配標簽的方式選擇Sidecar注入器Pod部署的節點。

    單擊新增匹配標簽,輸入數據面集群節點標簽的名稱,匹配具體的部署節點。

示例一:為命名空間下的指定Pod關閉自動注入,其他Pod開啟自動注入

  1. 配置自動注入策略。

    1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理。

    2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇數據面組件管理 > 注入策略配置。

    3. 注入策略配置頁面的注入策略配置管理區域,配置相關信息。

      以下配置表示只要命名空間帶有istio-injection: enabled標簽,命名空間內的Pod就都會被自動注入Sidecar,除非Pod帶有sidecar.istio.io/injection: "false"的標簽或注解。

      配置項

      說明

      Pod所在命名空間的標簽需要滿足條件

      選擇包含istio-injection:enabled。

      Pod自身的標簽/注解需要滿足條件

      選擇不包含sidecar.istio.io/injection: "false"。

  2. 創建全局命名空間,為命名空間開啟自動注入。

    1. 在網格詳情頁面左側導航欄,選擇網格實例 > 全局命名空間,然后在右側頁面,單擊新建

    2. 新建命名空間面板,輸入命名空間的名稱(本示例為test1),在標簽右側單擊添加,配置名稱istio-injectionenabled,然后單擊確定。

    3. 在頁面上方,單擊同步自動注入至Kubernetes集群,將全局命名空間同步至數據面Kubernetes集群。

  3. 創建應用。

    1. 在數據平面ACK集群的test1命名空間下創建details應用。具體操作,請參見在ASM實例關聯的集群中部署應用。

    2. 驗證應用的Pod是否注入Sidecar代理。

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

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

      3. 無狀態頁面頂部,設置命名空間test1,單擊details應用名稱。

        容器組頁簽下可以看到Pod包含Proxy鏡像,表明自動注入Sidecar代理成功。1D58EF1F-DE30-4d90-954D-EE00D88C592B

  4. 在Pod中添加標簽,使Pod關閉自動注入。

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

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

    3. 無狀態頁面的test1命名空間下,在details應用右側的操作列,單擊更多 > 查看Yaml。

    4. 編輯 YAML對話框,修改YAML配置,然后單擊更新。

      • ASM版本為1.12.4及以上:在labels參數下添加Key為sidecar.istio.io/inject、Value為"false"的標簽,即sidecar.istio.io/inject: 'false'769D1622-11DE-41c8-9DD6-757C6BD97F19

      • ASM版本為1.12.4以下:在annotations參數下添加Key為sidecar.istio.io/inject、Value為"false"的注解,即sidecar.istio.io/inject: "false"。

  5. 驗證test1命名空間開啟自動注入的情況下,details服務的Pod不進行自動注入是否成功。

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

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

    3. 無狀態頁面頂部,設置命名空間test1,單擊details應用名稱。

      容器組頁簽下可以看到Pod不包含Proxy鏡像,表明在test1命名空間開啟自動注入的情況下,details服務的Pod不進行自動注入成功。驗證details不進行自動注入..png

示例二:以Pod為單位,單獨為Pod設置自動注入策略

若您不想以命名空間為維度批量設置自動注入策略,也可以單獨為Pod設置自動注入策略,具體操作步驟如下。

  1. 為命名空間開啟自動注入。

    1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理。

    2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇數據面組件管理 > 注入策略配置。

    3. 注入策略配置管理頁面的注入策略配置管理區域,配置相關信息,然后在頁面下方,單擊更新設置。

      以下配置表示默認所有命名空間下帶有sidecar.istio.io/injection: "true"標簽的Pod都會被自動注入Sidecar,但是帶有istio-injection:disabled標簽的命名空間中所有Pod都不會被自動注入Sidecar。

      配置項

      說明

      Pod所在命名空間的標簽需要滿足條件

      選擇不包含istio-injection:disabled。

      Pod自身的標簽/注解需要滿足條件

      選擇包含sidecar.istio.io/injection: "true"。

  2. 在ACK集群中創建名為test2的命名空間,且不帶有任何標簽。具體操作,請參見管理命名空間與配額。

  3. 在ACK集群的test2命名空間下創建reviews應用。具體操作,請參見在ASM實例關聯的集群中部署應用

  4. 為Pod添加標簽,使Pod開啟自動注入。

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

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

    3. 無狀態頁面頂部,設置命名空間test2,在reviews服務右側的操作列,單擊更多 > 查看Yaml。

    4. 編輯 YAML對話框的labels參數下,添加sidecar.istio.io/inject: "true"標簽,然后單擊更新。

      說明

      使用標簽設置Pod自動注入功能,服務網格ASM版本需為1.12.4及以上。關于升級實例的具體操作,請參見升級ASM實例

      修改YAML..png

  5. 驗證為Pod設置自動注入策略是否成功。

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

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

    3. 無狀態頁面頂部,設置命名空間test2,單擊reviews應用名稱。

      容器組頁簽下可以看到Pod中包含Proxy鏡像,表明為Pod設置自動注入策略成功。場景二驗證..png

相關文檔

  • 對于正在運行的Pod,需要重新啟動才能使Sidecar注入策略生效。具體操作,請參見重新啟動Pod

  • 若您控制平面升級后,已經啟用Istio的應用程序仍使用舊版本的Sidecar代理,請參照升級Sidecar代理進行升級。

  • 您可以按照不同的級別(例如全局、命名空間、工作負載、Pod范圍)對Sidecar代理的資源占用、流量攔截策略、DNS代理、生命周期等方面進行配置。具體操作,請參見配置Sidecar代理。