成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kubernetes中鉤子函數(shù)詳解、實(shí)例

云計(jì)算 云原生
kubernetes在主容器的啟動(dòng)之后和停止之前提供了兩個(gè)鉤子函數(shù),post start:容器創(chuàng)建之后執(zhí)行,如果失敗了會(huì)重啟容器,pre stop :容器終止之前執(zhí)行,執(zhí)行完成之后容器將成功終止,在其完成之前會(huì)阻塞刪除容器的操作。

1、概述

鉤子函數(shù)能夠感知自身生命周期中的事件,并在相應(yīng)的時(shí)刻到來時(shí)運(yùn)行用戶指定的程序代碼。

kubernetes在主容器的啟動(dòng)之后和停止之前提供了兩個(gè)鉤子函數(shù):

  • post start:容器創(chuàng)建之后執(zhí)行,如果失敗了會(huì)重啟容器。
  • pre stop :容器終止之前執(zhí)行,執(zhí)行完成之后容器將成功終止,在其完成之前會(huì)阻塞刪除容器的操作。

鉤子處理器支持使用下面三種方式定義動(dòng)作:

  • Exec命令:在容器內(nèi)執(zhí)行一次命令。
……
  lifecycle:
    postStart: 
      exec:
        command:
        - cat
        - /tmp/healthy
……
  • TCPSocket:在當(dāng)前容器嘗試訪問指定的socket。
……      
  lifecycle:
    postStart:
      tcpSocket:
        port: 8080
……

  • HTTPGet:在當(dāng)前容器中向某url發(fā)起http請(qǐng)求
……
  lifecycle:
    postStart:
      httpGet:
        path: / #URI地址
        port: 80 #端口號(hào)
        host: 192.168.5.3 #主機(jī)地址
        scheme: HTTP #支持的協(xié)議,http或者h(yuǎn)ttps
……

2、以exec方式為例,演示鉤子函數(shù)的使用

創(chuàng)建pod-hook-exec.yaml文件,內(nèi)容如下:

apiVersion: v1
kind: Pod
metadata:
  name: pod-hook-exec
  namespace: dev
spec:
  containers:
  - name: main-container
    image: nginx
    ports:
    - name: nginx-port
      containerPort: 80
    lifecycle:
      postStart: 
        exec: # 在容器啟動(dòng)的時(shí)候執(zhí)行一個(gè)命令,修改掉nginx的默認(rèn)首頁內(nèi)容
          command: ["/bin/sh", "-c", "echo postStart... > /usr/share/nginx/html/index.html"]
      preStop:
        exec: # 在容器停止之前停止nginx服務(wù)
          command: ["/usr/sbin/nginx","-s","quit"]

# 創(chuàng)建pod
[root@k8s-master01 ~]# kubectl create -f pod-hook-exec.yaml
pod/pod-hook-exec created

# 查看pod
[root@k8s-master01 ~]# kubectl get pods  pod-hook-exec -n dev -o wide
NAME           READY   STATUS     RESTARTS   AGE    IP               NODE    
pod-hook-exec  1/1     Running    0          29s    172.17.169.187   k8s-node2 

# 訪問pod
[root@k8s-master01 ~]# curl 172.17.169.187
postStart...

效果:

3、總結(jié)

  • PostStart hook是在容器創(chuàng)建(created)之后立馬被調(diào)用,并且PostStart跟容器的ENTRYPOINT是異步執(zhí)行的,無法保證它們之間的順序。
  • PreStop hook是容器處于Terminated狀態(tài)時(shí)立馬被調(diào)用(也就是說要是Job任務(wù)的話,執(zhí)行完之后其狀態(tài)為completed,所以不會(huì)觸發(fā)PreStop的鉤子),同時(shí)PreStop是同步阻塞的,PreStop執(zhí)行完才會(huì)執(zhí)行刪除Pod的操作。
  • PostStart會(huì)阻塞容器成為Running狀。
  • PreStop會(huì)阻塞容器的刪除,但是過了terminationGracePeriodSeconds時(shí)間后,容器會(huì)被強(qiáng)制刪除。
  • 如果PreStop或者PostStart失敗的話, 容器會(huì)被殺死。
責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2021-05-24 11:55:55

網(wǎng)絡(luò)安全Windows鉤子函數(shù)

2011-05-20 17:59:06

回調(diào)函數(shù)

2020-12-01 12:44:44

PythonHook鉤子函數(shù)

2025-02-04 10:00:30

Spring支付系統(tǒng)

2023-06-14 08:49:22

PodKubernetes

2023-09-14 12:25:58

2024-10-12 10:39:36

函數(shù)緩存activated

2009-12-09 11:40:02

Linux防火墻

2025-03-06 03:00:00

hook??復(fù)數(shù)函數(shù)

2024-11-07 12:47:51

hook函數(shù)git

2023-12-25 15:40:55

React開發(fā)

2010-06-18 10:33:03

Linux Acces

2024-07-10 10:38:58

Vue組件函數(shù)

2009-09-04 18:09:12

C# Main函數(shù)

2009-09-01 15:47:20

C#取整函數(shù)

2022-07-24 09:46:48

優(yōu)雅停機(jī)代碼

2010-09-08 14:03:41

SQL函數(shù)CONVERT

2025-02-26 10:49:14

2023-04-28 08:35:22

Vue 3Vue 2

2009-07-09 15:05:45

Servlet實(shí)例
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人免费一区二区 | 1区2区3区视频 | 羞羞视频免费在线观看 | 欧美色性 | 国产精品久久影院 | 国产麻豆乱码精品一区二区三区 | 中文字幕一区二区三区四区五区 | 中文字幕一区二区三区四区 | wwww.8888久久爱站网 | 综合自拍 | 亚洲视频一区在线观看 | 日韩一级电影免费观看 | 九久久 | 国产亚洲精品久久19p | 黄网站涩免费蜜桃网站 | 国产高清久久久 | 色噜噜亚洲男人的天堂 | 亚洲人va欧美va人人爽 | 久久中文字幕一区 | 九九热在线视频 | 精品乱码一区二区三四区视频 | 欧美一区二区三区久久精品 | 国产成人精品久久二区二区91 | 亚洲精品一二区 | 亚洲一区二区av | 亚洲第一天堂 | 中文字幕av网站 | 成人av免费 | 日韩在线中文字幕 | 亚洲欧美一区二区三区情侣bbw | 天天草av | 视频在线日韩 | 欧美视频在线一区 | 黄a网站| 午夜精品一区二区三区在线视 | 久久久久久91 | 日本视频中文字幕 | 久久久久亚洲精品 | 亚洲福利免费 | 欧美一级二级三级 | 午夜a区 |