国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

K8s之Pod生命周期、啟動(dòng)停止鉤子

這篇具有很好參考價(jià)值的文章主要介紹了K8s之Pod生命周期、啟動(dòng)停止鉤子。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、Pod生命周期流程

Pod生命周期整個(gè)過程 如下圖:

K8s之Pod生命周期、啟動(dòng)停止鉤子

1、在啟動(dòng)任何容器之前,前創(chuàng)建 pause 容器,它初始化Pod的環(huán)境并為后續(xù)加入的容器提供共享名稱空間。

2、初始化容器(initContainers):一個(gè)Pod可以定義任意個(gè)初始化容器,如上圖就定義了兩個(gè)初始化容器,初始化會(huì)按照YAML清單中順序執(zhí)行,當(dāng)最后一個(gè)初始化容器執(zhí)行成功后,才會(huì)去啟動(dòng)主容器。

3、啟動(dòng)鉤子(postStart):容器啟動(dòng)后執(zhí)行的一些操作。

4、容器探測(cè):

  • 啟動(dòng)探測(cè)(Startupprobe):探測(cè)容器是否正常運(yùn)行。
  • 存活探測(cè)(Livenessprobe):探測(cè)容器是否處于Running 狀態(tài),如果不是根據(jù)重啟策略進(jìn)行響應(yīng)操作。
  • 就緒探測(cè)(Readinessprobe):探測(cè)容器是否就緒對(duì)外提供服務(wù)。

5、停止鉤子(preStop):容器關(guān)閉前執(zhí)行的一些操作

二、初始化容器-initContainers

初始化容器官方參考文檔:

初始化容器指,在啟動(dòng)主容器前的一些操作,使用 pod.spec.initContainers 來定義初始化容器,可以定義多個(gè)初始化容器,會(huì)按照順序一次執(zhí)行,執(zhí)行完成后依次關(guān)閉初始化容器。當(dāng)所有初始化容器執(zhí)行完成且正常關(guān)閉后,才會(huì)去啟動(dòng)主容器。

實(shí)例:定義Pod資源,創(chuàng)建兩個(gè)初始化容器,初始化容器執(zhí)行 sleep 2,也就是說我們要等定義的兩個(gè)初始化容器都睡眠2秒后,才創(chuàng)建主容器

cat pod-init.yaml 

---
apiVersion: v1
kind: Pod
metadata:
  name: init-pod
  labels:
    env: uat
spec:
  initContainers:
  - name: init-1
    image: busybox:1.28
    imagePullPolicy: IfNotPresent
    command: ["sh", "-c", "sleep 2"]

  - name: init-2
    image: busybox:1.28
    imagePullPolicy: IfNotPresent
    command: ["sh", "-c", "sleep 2"]

  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent

執(zhí)行YAML文件 && 實(shí)時(shí)觀察Pod狀態(tài):

kubectl apply -f pod-init.yaml
kubectl get pods init-pod -w

K8s之Pod生命周期、啟動(dòng)停止鉤子

三、主容器操作-containers

查看幫助命令:

kubectl explain pod.spec.containers.lifecycle.preStop

參數(shù):

  • exec:執(zhí)行命令
  • httpGet:向容器IP地址的某指定端口的path發(fā)起HTTP GET請(qǐng)求
  • tcpSocket:在容器啟動(dòng)前等待一個(gè)TCP端口打開

1、啟動(dòng)鉤子-lifecycle.postStart

該鉤子創(chuàng)建容器后立即被執(zhí)行,如果執(zhí)行失敗,則會(huì)根據(jù)重啟測(cè)試判斷是否重啟,這個(gè)鉤子不需要傳遞任何參數(shù)。

實(shí)例:定義Pod啟動(dòng)鉤子,容器運(yùn)行后記錄容器運(yùn)行時(shí)間

cat pod-1.yaml 

---
apiVersion: v1
kind: Pod
metadata:
  name: nginx-1
  namespace: default
  labels:
    env: uat
    app: nginx
spec:
  containers:
  - name: nginx-container
    image: nginx
    lifecycle:
      postStart:
        exec:
          command: ['/bin/bash', '-c', 'echo "Start Time: $(date +%F)" > /root/time.txt']

執(zhí)行YAML文件:

kubectl apply -f pod-1.yaml

進(jìn)入容器,查看容器啟動(dòng)時(shí)間

kubectl exec -it nginx-1 -- /bin/bash

# cat /root/time.txt
Start Time: 2023-05-21

2、停止鉤子-lifecycle.preStop

容器停止前執(zhí)行操作,比如容器停止前發(fā)送信號(hào)告訴監(jiān)控系統(tǒng)此Pod將要停止等。

實(shí)例:創(chuàng)建Pod定義停止鉤子,在容器停止前,優(yōu)雅的關(guān)閉容器內(nèi)服務(wù)

cat pod-2.yaml 

---
apiVersion: v1
kind: Pod
metadata:
  name: nginx-2
  namespace: default
  labels:
    env: uat
    app: nginx
spec:
  containers:
  - name: nginx-container
    image: nginx
    lifecycle:
      preStop:
        exec:
          command: ['/bin/bash', '-c', 'nginx -s stop']

執(zhí)行YAML清單:文章來源地址http://www.zghlxwxcb.cn/news/detail-454433.html

kubectl apply -f pod-2.yaml

到了這里,關(guān)于K8s之Pod生命周期、啟動(dòng)停止鉤子的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【云原生】深入掌握k8s中Pod和生命周期

    【云原生】深入掌握k8s中Pod和生命周期

    ? ? 個(gè)人主頁: 征服bug-CSDN博客 kubernetes專欄: kubernetes_征服bug的博客-CSDN博客? 1 什么是 Pod 2 Pod 基本操作 3 Pod 運(yùn)行多個(gè)容器 4 Pod 的 Labels(標(biāo)簽) 5 Pod 的生命周期 1 什么是 Pod 摘取官網(wǎng): Pod | Kubernetes 1.1 簡(jiǎn)介 ????????Pod 是可以在 Kubernetes 中 創(chuàng)建和管理的、最小的可部署的計(jì)

    2024年02月14日
    瀏覽(59)
  • 飛天使-k8s知識(shí)點(diǎn)18-kubernetes實(shí)操3-pod的生命周期

    飛天使-k8s知識(shí)點(diǎn)18-kubernetes實(shí)操3-pod的生命周期

    探針的生命周期 docker 創(chuàng)建:在創(chuàng)建階段,你需要選擇一個(gè)鏡像來運(yùn)行你的應(yīng)用。這個(gè)鏡像可以是公開的,如 Docker Hub 上的鏡像,也可以是你自己創(chuàng)建的自定義鏡像。創(chuàng)建自己的鏡像通常需要編寫一個(gè) Dockerfile,這個(gè)文件定義了創(chuàng)建鏡像所需的所有步驟,包括基礎(chǔ)鏡像、需要安

    2024年02月20日
    瀏覽(24)
  • K8s Pod親和性、污點(diǎn)、容忍度、生命周期與健康探測(cè)詳解(下)

    K8s Pod親和性、污點(diǎn)、容忍度、生命周期與健康探測(cè)詳解(下)

    ??明明跟你說過:個(gè)人主頁 ??個(gè)人專欄:《Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者》??? ??行路有良友,便是天堂?? 目錄 五、健康探測(cè) 1、健康探測(cè)的概念 2、Pod啟動(dòng)探測(cè)(Startup Probe) 3、Pod存活探測(cè)(Liveness Probe) 4、Pod就緒探測(cè)(Readiness Probe) 5、Pod健康探測(cè)在故障轉(zhuǎn)移與

    2024年04月08日
    瀏覽(30)
  • K8S基本概念+pod生命周期+容器重啟策略+Init容器和邊車容器+pod探針+postStart和preStop

    Kubernetes是谷歌以Borg為前身,基于谷歌15年生產(chǎn)環(huán)境經(jīng)驗(yàn)的基礎(chǔ)上開源的一個(gè)項(xiàng)目,Kubernetes致力于提供跨主機(jī)集群的自動(dòng)部署、擴(kuò)展、高可用以及運(yùn)行應(yīng)用程序容器的平臺(tái)。 kube-APIServer:集群的控制中樞,各個(gè)模塊之間信息交互都需要經(jīng)過Kube-APIServer,同時(shí)它也是集群管理、資

    2024年04月15日
    瀏覽(41)
  • 【k8s】Pod 的鉤子

    Kubernetes(K8s)中的 Pod 可以使用以下幾種勾子(鉤子)來執(zhí)行在容器生命周期的不同階段運(yùn)行的操作: PostStart (啟動(dòng)后):該勾子在容器啟動(dòng)之后立即運(yùn)行。它可以用于在容器內(nèi)執(zhí)行一些初始化任務(wù)、啟動(dòng)服務(wù)或設(shè)置環(huán)境。例如,進(jìn)行一些文件操作、加載配置文件或注冊(cè)服

    2024年02月07日
    瀏覽(14)
  • k8s-kubectl命令詳解、Pod創(chuàng)建過程、Pod的生命周期、定制Pod、資源對(duì)象文件

    k8s-kubectl命令詳解、Pod創(chuàng)建過程、Pod的生命周期、定制Pod、資源對(duì)象文件

    kubectl是用于管理Kubernetes集群的命令行工具 kubectl [command] [TYPE] [NAME] [flags] command:子命令,如create,get,describe,delete type:資源類型,可以表示為單數(shù),復(fù)數(shù)或縮寫形式 name:資源的名稱,如果省略,則顯示所有資源信息 flags:指定可選標(biāo)志,或附加的參數(shù) 子命令 說明 help

    2024年03月22日
    瀏覽(24)
  • 【云原生】k8s中Contrainer 生命周期回調(diào)/策略/指針學(xué)習(xí)

    【云原生】k8s中Contrainer 生命周期回調(diào)/策略/指針學(xué)習(xí)

    個(gè)人主頁: 征服bug-CSDN博客 kubernetes專欄: kubernetes_征服bug的博客-CSDN博客? 目錄 1 容器生命周期 2 容器生命周期回調(diào)/事件/鉤子 3 容器重啟策略 4 自定義容器啟動(dòng)命令 5 容器探針 1 容器生命周期 Kubernetes 會(huì)跟蹤 Pod 中每個(gè)容器的狀態(tài),就像它跟蹤 Pod 總體上的階段一樣。 你可

    2024年02月14日
    瀏覽(22)
  • k8s 啟動(dòng)和刪除pod

    k8s 啟動(dòng)和刪除pod

    流程圖 運(yùn)維人員向kube-apiserver發(fā)出指令(我想干什么,我期望事情是什么狀態(tài)) api響應(yīng)命令,通過一系列認(rèn)證授權(quán),把pod數(shù)據(jù)存儲(chǔ)到etcd,創(chuàng)建deployment資源并初始化。(期望狀態(tài)) controller通過list-watch機(jī)制,監(jiān)聽api server讀取etcd,發(fā)現(xiàn)新的deployment,將該資源加入到內(nèi)部工作隊(duì)列,發(fā)現(xiàn)該

    2024年02月10日
    瀏覽(25)
  • k8s pod 無法啟動(dòng)一直ContainerCreating

    k8s pod 無法啟動(dòng)一直ContainerCreating

    查看詳細(xì)信息如下 Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container “334d991a478b9640c66c67b46305122d7f0eefc98b2b4e671301f1981d9b9bc6” network for pod “yupay-vip-5c4bb7db5c-s6m52”: networkPlugin cni failed to set up pod “yupay-vip-5c4bb7db5c-s6m52_yupay” network: error getting ClusterInforma

    2024年04月28日
    瀏覽(13)
  • k8s deployment創(chuàng)建pod流程圖

    k8s deployment創(chuàng)建pod流程圖

    k8s 創(chuàng)建pod和deployment的流程 - SoulChild隨筆記

    2024年02月11日
    瀏覽(86)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包