k8s-pod

1. Pod的設(shè)計動機

1.1 玩法

容器介于操作系統(tǒng)和應(yīng)用之間,容器的推薦玩法是每個容器運行一個進程。

1.2 對外

Pod作為一個獨立的部署單位,支持橫向擴展和復(fù)制。共生(協(xié)同調(diào)度),命運共同體(例如被終結(jié)),協(xié)同復(fù)制,資源共享,依賴管理

1.3 對內(nèi)

Pod內(nèi)容器互相協(xié)作如下:

  • pod中的應(yīng)用必須協(xié)調(diào)端口占用。
    每個pod都有一個唯一的IP地址,跟物理機和其他pod都處于一個扁平的網(wǎng)絡(luò)空間中,它們之間可以直接連通。
  • Pod中應(yīng)用容器的hostname被設(shè)置成Pod的名字。
  • Pod中的應(yīng)用容器可以共享volume。
    Volume能夠保證pod重啟時使用的數(shù)據(jù)不丟失

1.4 Pod死掉

在以下幾種情況下都會死:

  • 調(diào)度失敗
  • 節(jié)點故障
  • 缺少資源
  • 節(jié)點維護
  • 用戶主動干掉Pod

2. lnit容器

  • 概念
    Init 容器是一種專用的容器,在應(yīng)用程序容器啟動之前運行??偸沁\行到成功完成為止。
    每個 Init 容器都必須在下一個 Init 容器啟動之前成功完成。

  • 作用

等待一個 Service 創(chuàng)建完成,通過類似如下 shell 命令:

for i in {1..100}; do sleep 1; if dig myservice; then exit 0; fi; exit 1

在啟動應(yīng)用容器之前等一段時間,使用類似 sleep 60 的命令

3. 鏡像拉取策略

imagePullPolicy選項參數(shù)如下:

  • Always
    總是拉取新鏡像
imagePullPolicy: Always
  • IfNotPresent
    本地有則使用本地鏡像,不拉取
imagePullPolicy: IfNotPresent
  • Never
    只使用本地鏡像,從不拉取
imagePullPolicy: Never

4. pod狀態(tài)狀態(tài)

  • Pending
    Pod已被K8S系統(tǒng)接收,但有一個或多個容器鏡像尚未創(chuàng)建。等待時間包括調(diào)庫Pod的時間和通過網(wǎng)絡(luò)下載鏡像的時間。
  • Running
    該Pod已經(jīng)綁定到一個節(jié)點上,Pod中所有容器都已被創(chuàng)建。至少有一個容器正在運行,或者正處于啟動或重啟狀態(tài)。
  • Successd
    Pod中所有容器都被成功終止并且不會再重啟。
  • Failed
    Pod中所有容器都已經(jīng)終止,并且至少有一個容器是因為失敗終止。也就是說,容器以非0狀態(tài)退出或被系統(tǒng)終止。
  • Unkonwn
    無法獲取Pod的狀態(tài),通常是因為與Pod所屬主機通信失敗

5. 容器重啟策略

字段Pod.spec.restartPolicy

  • Always(默認)
    exitCode=任何數(shù)字,執(zhí)行重啟操作

  • OnFailure
    exitCode!=0,執(zhí)行重啟操作

  • Never
    exitCode=任何數(shù)字,不容器。

6. pod狀態(tài)和重啟策略

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 快速創(chuàng)建一個pod 創(chuàng)建一個pod: 查看是否創(chuàng)建成功: 刪除pod: 使用命令創(chuàng)建一個deploy k8s的資源...
    會倒立的香飄飄閱讀 892評論 0 3
  • 這篇文章我們來深入了解Pod的基本概念及相關(guān)使用 一. Pod的設(shè)計思路 首先Pod是 Kubernetes 項目...
    Anson前行閱讀 2,419評論 0 4
  • “Pod” 這一詞是我們經(jīng)常聽到的一個詞語,我們知道Pod 是k8s 最基本的單元對象,Pod里邊包含著容器,容器...
    _1900閱讀 2,146評論 0 0
  • 什么是Pod Pod是Kubernetes中可以創(chuàng)建和部署的最小單位。 Pod為一個或多個container的組合...
    AlienPaul閱讀 5,329評論 0 3
  • Pod控制器之ReplicaSet 簡介:說到ReplicaSet對象,得先說說ReplicationContro...
    會倒立的香飄飄閱讀 3,653評論 0 1

友情鏈接更多精彩內(nèi)容