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

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

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

      32-容器的生命周期postStart和preStop

      一、容器的生命周期postStart和preStop

      [root@master231 probe]# cat 09-deploy-lifecycle-postStart-preStop.yaml 
      apiVersion: v1
      kind: Pod
      metadata:
        name: lifecycle-poststart-prestop-001
      spec:
        volumes:
        - name: data
          hostPath:
            path: /dingzhiyan-linux
        # 在pod優雅終止時,定義延遲發送kill信號的時間,此時間可用于pod處理完未處理的請求等狀況。
        # 默認單位是秒,若不設置默認值為30s。
        #terminationGracePeriodSeconds: 60
        terminationGracePeriodSeconds: 3
        containers:
        - name: c1
          image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
          volumeMounts:
          - name: data
            mountPath: /data
          # 定義容器的生命周期。
          lifecycle:
            # 容器啟動之后做的事情,如果次函數未執行完成,容器始終處于:' ContainerCreating'狀態。
            postStart:
              exec:
                command: 
                - "/bin/sh"
                - "-c"
                - "sleep 30;echo \"postStart at $(date +%F_%T)\" >> /data/postStart.log"
            # 容器停止之前做的事情
            preStop:
              exec:
               command: 
               - "/bin/sh"
               - "-c"
               - "sleep 20;echo \"preStop at $(date +%F_%T)\" >> /data/preStop.log"
      

      二、kubelet啟動容器的原理圖解

      1.kubelet創建Pod的全流程

      • 1.kubelet調用CRI接口創建容器,底層支持docker|containerd作為容器運行時;
      • 2.底層基于runc(符合OCI規范)創建容器:
      • 3.優先創建pause基礎鏡像;
      • 4.創建初始化容器
      • 5.業務容器,業務容器如果定義了優雅終止,探針則順序如下:
        • 5.1 啟動命令【COMMAND】
        • 5.2 啟動postStart;
        • 5.3 Probe
          - StartupProbe
          - LivenessProbe | readinessProbe
        • 5.4 啟動PreStop
          受限于優雅終止時間(默認30s)。

      2.測試案例

      [root@master231 pods]# cat 25-shaonao-workflow.yaml 
      apiVersion: v1
      kind: Pod
      metadata:
        name: pods-workflow-001
      spec:
        volumes:
        - name: data
          hostPath:
            path: /dingzhiyan-shaonao
        initContainers:
        - name: init01
          image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
          volumeMounts:
          - name: data
            mountPath: /dingzhiyan
          command:
          - "/bin/sh"
          - "-c"
          - "echo \"initContainer at $(date +%F_%T)\" > /dingzhiyan/haha.log"
        terminationGracePeriodSeconds: 3
        containers:
        - name: c1
          image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v3
          command:
          - /bin/sh
          - -c
          - "echo \"command at $(date +%F_%T)\" >> /usr/share/nginx/html/haha.log; sleep 600"
          volumeMounts:
          - name: data
            mountPath: /usr/share/nginx/html
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - "/bin/sh"
              - "-c"
              - "echo \"livenessProbe at $(date +%F_%T)\" >> /usr/share/nginx/html/haha.log"
            failureThreshold: 3
            initialDelaySeconds: 0
            periodSeconds: 3
            successThreshold: 1
            timeoutSeconds: 1
          readinessProbe:
            exec:
              command:
              - "/bin/sh"
              - "-c"
              - "echo \"readinessProbe at $(date +%F_%T)\" >> /usr/share/nginx/html/haha.log"
            failureThreshold: 3
            initialDelaySeconds: 0
            periodSeconds: 3
            successThreshold: 1
            timeoutSeconds: 1
          startupProbe:
            exec:
              command:
              - "/bin/sh"
              - "-c"
              - "echo \"startupProbe at $(date +%F_%T)\" >> /usr/share/nginx/html/haha.log"
            failureThreshold: 3
            initialDelaySeconds: 0
            periodSeconds: 3
            successThreshold: 1
            timeoutSeconds: 1
          lifecycle:
            postStart:
              exec:
                command: 
                - "/bin/sh"
                - "-c"
                - "sleep 10;echo \"postStart at $(date +%F_%T)\" >> /usr/share/nginx/html/haha.log"
            preStop:
              exec:
                command: 
                - "/bin/sh"
                - "-c"
                - "echo \"preStop at $(date +%F_%T)\" >> /usr/share/nginx/html/haha.log;sleep 30"
      [root@master231 pods]# 	
      
      

      3.測試驗證

      [root@worker233 ~]# tail -100f  /dingzhiyan-shaonao/haha.log 
      initContainer at 2025-04-20_07:34:44
      command at 2025-04-20_07:34:45
      postStart at 2025-04-20_07:34:55
      startupProbe at 2025-04-20_07:34:56
      readinessProbe at 2025-04-20_07:34:56
      livenessProbe at 2025-04-20_07:34:59
      readinessProbe at 2025-04-20_07:34:59
      readinessProbe at 2025-04-20_07:35:02
      livenessProbe at 2025-04-20_07:35:02
      livenessProbe at 2025-04-20_07:35:05
      ...
      preStop at 2025-04-20_07:36:29
      

      三、實現端口轉發

      1.準備Pod

      [root@master231 scheduler]# kubectl get pods -o wide
      NAME                                      READY   STATUS    RESTARTS   AGE   IP               NODE        NOMINATED NODE   READINESS GATES
      scheduler-nodeselector-774bf9875f-8hs2f   1/1     Running   0          28s   10.100.203.133   worker232   <none>           <none>
      scheduler-nodeselector-774bf9875f-mr8zf   1/1     Running   0          28s   10.100.203.147   worker232   <none>           <none>
      scheduler-nodeselector-774bf9875f-tn5rp   1/1     Running   0          28s   10.100.203.140   worker232   <none>           <none>
      scheduler-nodeselector-774bf9875f-vbzs2   1/1     Running   0          28s   10.100.203.141   worker232   <none>           <none>
      scheduler-nodeselector-774bf9875f-wstzv   1/1     Running   0          28s   10.100.203.144   worker232   <none>           <none>
      [root@master231 scheduler]# 
      

      2.端口轉發

      [root@master231 scheduler]# kubectl port-forward po/scheduler-nodeselector-774bf9875f-8hs2f 9999:80 --address=0.0.0.0
      Forwarding from 0.0.0.0:9999 -> 80
      Handling connection for 9999
      Handling connection for 9999
      

      3.測試驗證

      http://10.0.0.231:9999/
      
      posted @ 2025-05-21 13:19  丁志巖  閱讀(31)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久99国产精品久久99小说| 国产在线观看免费观看| 一区二区三区国产偷拍| 久久精品国产亚洲av高| 亚洲女同精品久久女同| 四虎成人精品永久网站| 精品久久久久国产免费| 激情综合网激情国产av| 久久中文字幕av第二页| 国产美女久久久亚洲综合| 国产成人高清亚洲综合| 97人妻精品一区二区三区| 国产a级三级三级三级| 无码国产偷倩在线播放| 四虎国产精品免费久久| 九九热精品在线观看视频| 国产蜜臀在线一区二区三区| 久久久av男人的天堂| 蜜臀精品一区二区三区四区| 亚洲国产成人精品无码区蜜柚| 樱花草视频www日本韩国| 久久99久国产精品66| 在线播放国产女同闺蜜| 国产精品亚洲二区在线播放| 精品无码人妻| 亚洲精品综合第一国产综合| 2021亚洲国产精品无码| 亚洲精品久久久久成人2007| 国产精品任我爽爆在线播放6080| 亚洲国家av一区二区| 国产系列丝袜熟女精品视频| 99久久国产成人免费网站| 亚洲区中文字幕日韩精品| 婷婷色婷婷深深爱播五月| 四虎永久精品在线视频| 欧洲精品码一区二区三区| 日韩人妻无码精品久久| 亚洲成人av综合一区| 任我爽精品视频在线播放| 最近中文字幕mv免费视频| 少妇人妻真实偷人精品|