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

優化Terway模式下conntrack配置

conntrack是連接跟蹤機制的一種實現,用于跟蹤和記錄網絡連接的狀態,例如TCP連接的狀態(SYN、ESTABLISHED、CLOSED等)。在Terway Datapath V2或者IPvlan模式下,容器內流量對應的conntrack信息在eBPF map內存儲,其他模式下conntrack信息在Linux conntrack存儲。本文介紹如何調整eBPF conntrack大小。

檢查當前conntrack大小上限

eBPF記錄的conntrack表大小依據節點內存而不同,

若您需要查看一個節點當前conntrack表大小,您可以執行下面命令

  1. 獲取節點terway-eniip pod名稱

# kubectl describe node <nodename>  | grep terway-eniip
  kube-system                 terway-eniip-xxxx         350m (8%)     1100m (28%)  200Mi (3%)       256Mi (3%)     16h
  1. 檢查conntrack表大小

# kubectl exec -it -nkube-system terway-eniip-xxxx -c policy -- cilium status --verbose
...
BPF Maps:   dynamic sizing: on (ratio: 0.002500)
  Name                          Size
  Auth                          524288
  Non-TCP connection tracking   65536
  TCP connection tracking       131072
  Endpoint policy               65535
...

顯示內容說明

ratio: 0.002500根據系統總內存比例確定eBPF Map的上限

Non-TCP connection tracking非TCP連接跟蹤表上限

TCP connection trackingTCP連接跟蹤表上限

檢查當前conntrack占用數量

每個節點默認會暴露一個Promtheus metric端口。默認端口為9962。您可以通過監控采集組件采集下面的指標。

指標

標簽與值

cilium_datapath_conntrack_gc_entries

family: IP地址類型。可選值:ipv4,ipv6

protocol: 協議類型。可選值:non-TCPTCP

status: 清理狀態。將全部狀態統計在一起,可以得出清理前,Conntrack條目數。可選值:aliveddeleted

調整默認監控端口

配置參數

說明

prometheus-serve-addr

prometheus接口監聽地址。設置\"\"來關閉此接口。

默認值::9962

修改參數方式請參考自定義Terway配置參數章節操作cilium_args部分。

調整eBPF conntrack大小配置

在eBPF的conntrack和Linux的conntrack在功能上相同,默認配置可以滿足大部分業務場景的需要,無需調整。

當您的業務符合下面場景時,需要更具業務需要調整配置

  • 大量長鏈接

  • Pod直接暴露到公網的,可能存在大量半開鏈接場景

重要

調整conntrack大小為高危操作,請充分驗證后應用到生產環境。配置后可按照檢查當前conntrack大小部分驗證是否生效。

配置參數

說明

bpf-map-dynamic-size-ratio

根據系統總內存比例確定eBPF Map的上限

默認值:0.0025

例如,在15 GiB節點內存下,CT 大小為131072條

bpf-ct-timeout-regular-any

非TCP連接跟蹤表中條目的超時時間

默認值:1m0s

bpf-ct-timeout-regular-tcp

TCP連接跟蹤表中已建立連接的條目的超時時間

默認值:6h0m0s

bpf-ct-timeout-regular-tcp-fin

TCP連接跟蹤表中關閉中連接的超時時間

默認值:10s

bpf-ct-timeout-regular-tcp-syn

TCP連接跟蹤表中建立連接的超時時間

默認值:1m0s

bpf-ct-timeout-service-any

非TCP服務連接跟蹤表中條目的超時時間

默認值:1m0s

bpf-ct-timeout-service-tcp

TCP服務連接跟蹤表中已建立服務連接的超時時間

默認值:6h0m0s

bpf-ct-timeout-service-tcp-grace

TCP服務連接跟蹤表中優雅關閉服務的超時時間

默認值:1m0s

conntrack-gc-interval

conntrack 清理周期

默認值:5m0s

說明

cilium-agent主動清理conntrack的周期,您配置的時間,不應該大于默認值。

配置較短的清理周期,將消耗cilium-agent更多CPU,但可以避免conntrack滿。您可以在控制臺調整Terway容器CPU Limit配置。

修改參數方式請參考自定義Terway配置參數章節操作cilium_args部分。

示例

bpf-map-dynamic-size-ratio調整為0.003,將bpf-ct-timeout-regular-tcp調整為1h

10-terway.conf: |
{
  "cniVersion": "0.4.0",
  "name": "terway",
  "capabilities": {"bandwidth": true},
  "eniip_virtual_type": "IPvlan",
  "cilium_args": "--bpf-map-dynamic-size-ratio=0.003 --bpf-ct-timeout-regular-tcp=1h",
  "type": "terway"
}