<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      k8s 關閉 enableServiceLink-Pod-CPU-內存占用過高

      <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

      特性說明:

      enableServiceLinks特性,是k8s提供給pod發現和訪問svc的兩種方案之一(另一種是DNS)。

      該特性在pod啟動時,kubelet會將active svc通過env {SVCNAME}_SERVICE_HOST、{SVCNAME}_SERVICE_PORT 形式注冊到container env,應用自身則可以通過env獲取svc訪問地址。

      kubectl exec   podxxx -nns -- printenv

       

       env的數量過大,一來加劇dockerd內存泄露,二來也會影響exec執行性能(執行前會加載所有env到exec主進程)

      <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

       

       1. 什么是enableServiceLinks

       enableServiceLinks 表示是否將 Service 的相關信息注入到 Pod 的環境變量中,默認是 true。

      2. 背景現場:

      在很多環境出現dockerd內存資源占用過高,導致整機內存吃緊

       

      過pprof分析,發現大部分內存消耗在exec env上,即在執行kubelet exec或probe時,dockerd會將container env 復制到exec obj上,當未釋放exec積累過多時,現象就是dockerd整體內存過高。

       

      對于解決該問題,分兩個方向解決:

      1.  probe超時透傳至dockerd,解決exec泄露問題。

      2.  當前pod默認都開啟了enableServiceLinks, 導致env過多(部分env 4000+),進一步惡化了該問題。

      3. 特性說明:

      enableServiceLinks特性,是k8s提供給pod發現和訪問svc的兩種方案之一(另一種是DNS)。

      該特性在pod啟動時,kubelet會將active svc通過env {SVCNAME}_SERVICE_HOST、{SVCNAME}_SERVICE_PORT 形式注冊到container env,應用自身則可以通過env獲取svc訪問地址。

      kubectl exec   podxxx -nns -- printenv

       

       env的數量過大,一來加劇dockerd內存泄露,二來也會影響exec執行性能(執行前會加載所有env到exec主進程)

      4. 如何關閉該特性

      該特性需要在pod.spec顯式關閉,在專有云場景下,可以在pod webhook中通過標簽過濾指定pod,并關閉該特性。

       

       

      環境

      1. kubernetes 1.20.4
      2. Spring Boot 2.5.0-M3

      目標

      enableServiceLinks 表示是否將 Service 的相關信息注入到 Pod 的環境變量中,默認是 true。

      示例

      Pod.yaml

      apiVersion: v1

      kind: Pod

      metadata:

      name: spring-k8s

      spec:

      containers:

      - name: spring-k8s

      image: jiangbo920827/spring-k8s:liveness

      ports:

      - containerPort: 8080

       

      查看環境變量

      [root@master ~]# kubectl exec spring-k8s -- printenv|grep PG

      SVC_PG_SERVICE_HOST=10.110.153.250

      SVC_PG_PORT_5432_TCP=tcp://10.110.153.250:5432

      SVC_PG_PORT_5432_TCP_PROTO=tcp

      SVC_PG_PORT_5432_TCP_ADDR=10.110.153.250

      SVC_PG_PORT=tcp://10.110.153.250:5432

      SVC_PG_SERVICE_PORT=5432

      SVC_PG_PORT_5432_TCP_PORT=5432

      刪除環境變量 yaml

      apiVersion: v1

      kind: Pod

      metadata:

      name: spring-k8s

      spec:

      enableServiceLinks: false

      containers:

      - name: spring-k8s

      image: jiangbo920827/spring-k8s:liveness

      ports:

      - containerPort: 8080

      再次通過命令 kubectl exec spring-k8s -- printenv|grep PG 查看,已經沒有相關的環境變量了。

      總結

      enableServiceLinks 可以設置 Service 環境變量是否注入 Pod 中,但是 k8s 自己默認的環境變量除外。

       

      posted @ 2024-07-09 11:44  david_cloud  閱讀(164)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美色欧美亚洲高清在线观看| 欧美xxxxhd高清| 日韩中文字幕av有码| 久久国产精品福利一区二区三区| 国产最大的福利精品自拍| 日本欧美一区二区三区在线播放| 欧美野外伦姧在线观看| 日本高清一区免费中文视频| 妇女性内射冈站hdwww000| 日本五十路熟女一区二区| 成人三级视频在线观看不卡 | 国产边打电话边被躁视频| 亚洲综合激情五月色一区| 黑巨人与欧美精品一区| 成人亚洲一级午夜激情网| 亚洲日韩精品无码av海量| 洛川县| 日韩丝袜人妻中文字幕| 精品久久人人做爽综合| 国产精品大片中文字幕| 国产喷水1区2区3区咪咪爱AV| 天堂影院一区二区三区四区 | 吉林省| 亚洲精品无码高潮喷水A| 亚洲AV永久天堂在线观看| 乱码中文字幕| 东京热人妻无码一区二区av| 国产欧美日韩在线在线播放| 四虎国产精品久久免费地址| 亚洲欧洲日韩国内高清| 沭阳县| 久久99久国产精品66| 日韩不卡无码精品一区高清视频| 99久久精品国产一区二区蜜芽| 天堂久久天堂av色综合| 真实国产乱啪福利露脸| 啪啪av一区二区三区| 中文字幕国产精品二区| 称多县| 久久大香萑太香蕉av黄软件 | 99在线精品国自产拍中文字幕 |