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

Kubernetes-Init容器的六個特性

云計算
本文主要從以下四個方面介紹Init容器:Init容器作用、Init容器特性、Init容器與應用容器的區別、Init容器實戰。

本文主要從以下4個方面介紹Init容器:Init容器作用、Init容器特性、Init容器與應用容器的區別、Init容器實戰。

Kubernetes中的Pod內可以運行多個容器,主要分為2種:Init容器、應用容器,Sidecar容器也是一種特殊的Init容器。

Init容器的作用

Init 容器是一種特殊容器,在Pod內的應用容器啟動之前運行。用于執行一些初始化的任務或設置,或者用于延遲執行應用容器。

有不少場景都需要在應用容器啟動之前進行部分初始化操作,比如:等待某個服務需要等待其關聯的服務可用后才啟動、從配置中心獲取配置后再啟動 等。

Init容器的特性

  • Pod中的所有Init容器按定義的順序串行運行,直到它們全部成功結束后,才能啟動應用容器。
  • Init容器通常很小,執行簡單的邏輯,它們以輕量的方式快速運行。
  • Init容器與編程語言中的初始化對象類似,只會執行一次。
  • 在所有的 Init 容器沒有成功完成之前,Pod不會變成 Ready 狀態。
  • 某個Init容器運行失敗后,會導致整個Pod重新啟動(重啟策略為 Never 時例外)。如果 Pod 對應的重啟策略為Never,并且 Pod 的 Init 容器失敗,則Kubernetes會將Pod狀態設置為失敗。
  • Pod重啟后,初始化容器也會再次運行,因此需要確保所有Init容器的操作具有冪等性。這一點與應用開發中要保證某個接口的冪等性類似。

Init容器與應用容器的關系

Init 容器與應用容器非常像,Init容器支持應用容器的全部字段和特性,包括資源限制、數據卷和安全設置,Init容器與應用容器共享數據卷和網絡。關系如下圖:

但是Init容器與應用容器也有三點不同:

  • 應用容器運行后沒有特殊情況不會停止,他們持續提供服務,沒有運行完成的概念。但是Init容器的存在就是為了初始化任務,所以必須是一個從開始到結束的過程。
  • 應用容器可以多個并行運行。但是Init容器必須當前這個啟動完成后,才能啟動下一個。
  • Init容器的設計是為了完成初始化任務,所以Init容器必須要在 Pod 就緒之前運行完成。自然的Init容器就不支持 生命周期、存活探針、就緒探針。

Init容器使用實戰

實戰描述

  • 定義一個Pod,Pod里定義了Init容器和應用容器。
  • Pod里的Init容器先從網絡上下載數據,將下載的數據放到emptyDir。
  • 等待init容器執行完畢后,應用容器會自動啟動,在應用容器中掛載emptyDir,此時應用容器可以看到Init容器之前下載的數據。

yaml編排文件如下

apiVersion: v1
kind: Pod
metadata:
  name: init-container-test
  namespace: demo
  labels:
    app: init-container-test
spec:
  nodeName: k8s-worker-1
  initContainers:
    - name: download
      image: busybox
      command:
        - wget
        - -O
        - /temp-dir/index.html
        - http://www.baidu.com
      volumeMounts:
        - name: temp-dir
          mountPath: /temp-dir
  containers:
    - name: web-app
      image: nginx
      ports:
        - containerPort: 80
          hostPort: 8082
      volumeMounts:
        - name: temp-dir
          mountPath: /usr/share/nginx/html
  volumes:
    - name: temp-dir
      emptyDir: {}

執行kubectl describe pod init-container-test -n demo命令,可以看到有兩處容器:

如果Init容器執行有異常,可以看到Pod會被不停地重啟。

總結

本文主要從以下四個方面介紹Init容器:Init容器作用、Init容器特性、Init容器與應用容器的區別、Init容器實戰。

重點要注意:

  • Init容器按定義的順序串行運行。
  • 確保所有Init容器的操作具有冪等性。
責任編輯:趙寧寧 來源: 不焦躁的程序員
相關推薦

2012-06-15 11:30:55

ibmdw

2021-10-27 10:15:25

Python新特性編程語言

2021-12-02 10:17:07

Kubernetes公共云云計算

2022-02-10 19:46:19

Kubernetes云原生云安全

2023-08-04 12:07:11

2022-05-26 11:11:19

Kubernetes容器云安全

2020-07-02 15:43:26

Kubernetes容器工作負載

2023-04-19 15:26:52

JavaScriptES13開發

2021-11-11 15:13:15

人工智能容器技術

2022-11-15 16:54:54

2023-05-16 16:03:10

2022-06-28 10:17:23

安全職位首席信息安全官

2024-03-06 10:50:30

云計算云實例云提供商

2016-12-15 09:53:07

自學編程技巧

2016-07-25 18:10:55

2023-09-28 13:27:40

Tailwind瀏覽器CSS

2022-04-07 12:03:28

云安全CSPM云計算

2012-09-19 16:09:43

2024-03-11 14:34:04

JavaScript開發

2021-07-16 10:27:07

ITIT領導IT管理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线一区二区三区 | 国内精品久久久久久 | 国产视频久久久久 | 国产亚洲精品久久久久久豆腐 | 欧美一级在线观看 | 国产在线成人 | 免费在线播放黄色 | 夜夜撸av | av中文网 | 欧美日韩在线一区二区三区 | 日韩精品在线一区 | 日韩欧美一区二区在线播放 | 亚洲成人激情在线观看 | 自拍偷拍精品 | 成人av播放 | 欧美乱大交xxxxx另类电影 | 亚洲国产中文字幕 | 中文字幕在线观看成人 | 午夜寂寞福利视频 | 国产午夜精品久久久久 | 欧美中国少妇xxx性高请视频 | 国产激情91久久精品导航 | 国产成人精品久久久 | 亚洲播放 | 成人性生交大片 | 久久久久久国产精品 | 亚洲视频欧美视频 | 精品成人| 欧美亚洲日本 | 欧美专区在线 | 亚洲欧美中文日韩在线 | 91精品综合久久久久久五月天 | 国产美女一区二区 | 亚洲精品中文字幕在线观看 | 久久国产精品一区二区三区 | 国产在线观看福利 | 久久男人 | 精品一区二区三区免费毛片 | 中文字幕av一区二区三区 | 精品国产一区二区久久 | 国产高清av免费观看 |