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

【K8S系列】Pod詳解

這篇具有很好參考價值的文章主要介紹了【K8S系列】Pod詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

序言

1 前言

2 為什么需要pod

3 什么是Pod?

3.1 Pod的組成

3.2 Pod的用途

3.3 Pod的生命周期

3.4 Pod的特點

4 Pod的使用

5 結(jié)論?

k8s下多個pod的作用,K8S系列,kubernetes,docker,容器,云原生

序言

任何一件事情,只要堅持六個月以上,你都可以看到質(zhì)的飛躍。

今天學習一下K8s-Pod相關(guān)內(nèi)容,希望此文,能幫助讀者對K8s-pod有一個進一步的了解

文章標記顏色說明:

  • 黃色:重要標題
  • 紅色:用來標記結(jié)論
  • 綠色:用來標記一級論點
  • 藍色:用來標記二級論點

1 前言

Kubernetes(簡稱k8s)是一個流行的開源容器編排系統(tǒng),它能夠簡化應用程序部署、管理和擴展。在Kubernetes中,Pod是最基本的部署單元。

本文將對Kubernetes Pod進行詳細介紹。

2 為什么需要pod

相信你在學習和使用 Kubernetes 項目的過程中,已經(jīng)不止一次地想要問這樣一個問題:

為什么我們會需要 Pod?

我們知道,容器的本質(zhì)是一種特殊的進程,如果映射到系統(tǒng)中,容器鏡像就是這個系統(tǒng)里的“.exe”安裝包。那么 Kubernetes 呢?Kubernetes 就是操作系統(tǒng)!

在一個真正的操作系統(tǒng)里,進程并不是“孤苦伶仃”地獨自運行的,而是以進程組的方式,“有原則地”組織在一起。

而 Kubernetes 項目所做的,其實就是將“進程組”的概念映射到了容器技術(shù)中,并使其成為了這個云計算“操作系統(tǒng)”里的“一等公民”。

Pod 是 Kubernetes 里的原子調(diào)度單位。這就意味著,Kubernetes 項目的調(diào)度器,是統(tǒng)一按照 Pod 而非容器的資源需求進行計算的。

關(guān)于 Pod 最重要的一個事實是:它只是一個邏輯概念。

也就是說,Kubernetes 真正處理的,還是宿主機操作系統(tǒng)上 Linux 容器的 Namespace 和 Cgroups,而并不存在一個所謂的 Pod 的邊界或者隔離環(huán)境。

那么,Pod 又是怎么被“創(chuàng)建”出來的呢?

答案是:Pod,其實是一組共享了某些資源的容器。

具體的說:

Pod 里的所有容器,共享的是同一個 Network Namespace,并且可以聲明共享同一個 Volume。

pod的實現(xiàn):

在 Kubernetes 項目里,Pod 的實現(xiàn)需要使用一個中間容器,這個容器叫作 Infra 容器。在這個 Pod 中,Infra 容器永遠都是第一個被創(chuàng)建的容器,

而其他用戶定義的容器,則通過 Join Network Namespace 的方式,與 Infra 容器關(guān)聯(lián)在一起。這樣的組織關(guān)系,叫做pod??梢杂孟旅孢@樣一個示意圖來表達:?

k8s下多個pod的作用,K8S系列,kubernetes,docker,容器,云原生

?如上圖所示,這個 Pod 里有兩個用戶容器 A 和 B,還有一個 Infra 容器。

Infra 容器一定要占用極少的資源,所以它使用的是一個非常特殊的鏡像,叫作:k8s.gcr.io/pause。這個鏡像是一個用匯編語言編寫的、永遠處于“暫停”狀態(tài)的容器,解壓后的大小也只有 100~200 KB 左右。

而在 Infra 容器“Hold 住”Network Namespace 后,用戶容器就可以加入到 Infra 容器的 Network Namespace 當中了。

所以,如果你查看這些容器在宿主機上的 Namespace 文件,它們指向的值一定是完全一樣的。

這也就意味著,對于 Pod 里的容器 A 和容器 B 來說:

  • 通信:它們可以直接使用 localhost 進行通信;
  • 網(wǎng)絡(luò):它們看到的網(wǎng)絡(luò)設(shè)備跟 Infra 容器看到的完全一樣;
  • IP地址:一個 Pod 只有一個 IP 地址,也就是這個 Pod 的 Network Namespace 對應的 IP 地址;
  • 其他網(wǎng)絡(luò)資源:其他的所有網(wǎng)絡(luò)資源,都是一個 Pod 一份,并且被該 Pod 中的所有容器共享;
  • 生命周期:Pod 的生命周期只跟 Infra 容器一致,而與容器 A 和 B 無關(guān)。

而對于同一個 Pod 里面的所有用戶容器來說,它們的進出流量,認為都是通過 Infra 容器完成的。

這一點很重要,因為將來如果你要為 Kubernetes 開發(fā)一個網(wǎng)絡(luò)插件時,應該重點考慮的是如何配置這個 Pod 的 Network Namespace,而不是每一個用戶容器如何使用你的網(wǎng)絡(luò)配置,這是沒有意義的。

有了這個設(shè)計之后,共享 Volume 就簡單多了:Kubernetes 項目只要把所有 Volume 的定義都設(shè)計在 Pod 層級即可。

3 什么是Pod?

Pod是Kubernetes中最小的可部署單元,它是一個或多個緊密關(guān)聯(lián)的容器的組合,這些容器共享同一個網(wǎng)絡(luò)命名空間和存儲卷。Pod提供了一個抽象層,它封裝了容器在節(jié)點上的運行環(huán)境,例如存儲、網(wǎng)絡(luò)和運行時環(huán)境。

3.1 Pod的組成

Pod由以下組件組成:

  • 容器:Pod中可以有一個或多個容器。
  • 共享存儲:Pod中的所有容器都可以訪問共享存儲卷。
  • 網(wǎng)絡(luò):Pod中的所有容器都共享相同的網(wǎng)絡(luò)命名空間和IP地址。

3.2 Pod的用途

Pod是K8s中最基本的計算單元,用于托管應用程序或服務。Pod可用于:

  • 運行單個容器應用程序。
  • 運行多個相關(guān)容器應用程序
  • 運行應用程序和sidecar容器,sidecar容器提供支持應用程序所需的其他功能,如日志記錄、監(jiān)視和調(diào)試。
  • 提供應用程序和其依賴項之間的網(wǎng)絡(luò)通信。
  • 提供應用程序和存儲之間的訪問。

3.3 Pod的生命周期

Pod具有以下生命周期:

  • 創(chuàng)建:當Pod定義被提交到K8s API服務器時,Pod被創(chuàng)建。
  • 運行:當Pod被調(diào)度到節(jié)點上時,Pod處于運行狀態(tài)。
  • 更新:可以通過更新Pod的定義來更新Pod中的容器和其他資源。
  • 擴展:可以通過創(chuàng)建更多的Pod實例來擴展應用程序。
  • 刪除:當Pod被刪除時,Pod中的容器被停止并且Pod中的資源被釋放。

3.4 Pod的特點

Pod具有以下特點:

  • Pod是最小的可部署單元,它封裝了一個或多個容器。
  • Pod提供了容器共享網(wǎng)絡(luò)和存儲的能力。
  • Pod具有自己的IP地址和DNS名稱,可以作為一個獨立的服務進行訪問。
  • Pod可以水平擴展,即可以通過副本集進行復制并進行負載均衡。
  • Pod可以使用親和性和反親和性進行節(jié)點調(diào)度,以滿足特定的調(diào)度需求。

4 Pod的使用

要創(chuàng)建一個Pod,必須定義一個Pod描述文件,該文件描述了Pod的規(guī)范、容器和相關(guān)的資源。下面是一個示例Pod描述文件:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

在上面的示例中,我們定義了一個名為nginx-pod的Pod,它包含一個名為nginx的容器,該容器使用最新的nginx鏡像,并監(jiān)聽80端口。

要創(chuàng)建該Pod,可以使用kubectl apply命令:

kubectl apply -f nginx-pod.yaml

該命令將會創(chuàng)建一個名為nginx-pod的Pod,并且啟動一個nginx容器。

5 結(jié)論

Pod是Kubernetes中最基本的部署單元,它封裝了一個或多個容器,并提供容器共享網(wǎng)絡(luò)和存儲的能力。

Pod也可以作為一個獨立的服務進行訪問,并且可以通過副本集進行復制并進行負載均衡。要使用Pod,必須定義一個Pod描述文件,并使用kubectl apply命令創(chuàng)建Pod。文章來源地址http://www.zghlxwxcb.cn/news/detail-791312.html

到了這里,關(guān)于【K8S系列】Pod詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • k8s之Pod詳解

    k8s之Pod詳解

    Pod是kubernetes中最小的資源管理組件 ,Pod也是最小化運行容器化應用的資源對象。 一個Pod代表著集群中運行的一個進程 。kubernetes中其他大多數(shù)組件都是圍繞著Pod來進行支撐和擴展Pod功能的,例如,用于管理Pod運行的StatefulSet和Deployment等控制器對象,用于暴露Pod應用的Service和

    2024年02月16日
    瀏覽(21)
  • k8s Pod狀態(tài)詳解

    在 Kubernetes 中,Pod 是最小的可部署的計算單元,它是一組容器的集合,共享同一個網(wǎng)絡(luò)命名空間、存儲卷等資源。 Kubernetes 中的 Pod 有以下幾種狀態(tài): Pending(掛起) :Pod 已經(jīng)被 Kubernetes API 接受,但它的容器鏡像還沒有被拉取,或者 Pod 所需的節(jié)點資源(CPU、內(nèi)存等)還沒有滿足

    2024年02月15日
    瀏覽(41)
  • 玩轉(zhuǎn)k8s:Pod詳解

    玩轉(zhuǎn)k8s:Pod詳解

    目錄 1 Pod詳解 1.1 Pod介紹 1.1.1 Pod結(jié)構(gòu) 1.1.2 Pod定義 1.2 Pod配置 1.2.1 基本配置 1.2.2 鏡像拉取 1.2.3 啟動命令 1.2.4 環(huán)境變量 1.2.5 端口設(shè)置 1.2.6 資源配額 1.3 Pod生命周期 1.3.1 創(chuàng)建和終止 1.3.2 初始化容器 1.3.3 鉤子函數(shù) 1.3.4 容器探測 1.3.5 重啟策略 1.4 Pod調(diào)度 1.4.1 定向調(diào)度 1.4.2 親和性

    2024年02月06日
    瀏覽(21)
  • 【K8s】Pod一文詳解

    【K8s】Pod一文詳解

    每個Pod中都可以包含一個或者多個容器 ,這些容器可以分為兩類: 1) 用戶容器 :用戶程序所在的容器,數(shù)量可多可少 2) 根容器 :Pause容器,由Kubernetes創(chuàng)建,這是每個Pod都會有的一個根容器,它的作用有兩個: 可以以它為依據(jù),評估整個Pod的健康狀態(tài) 可以在根容器上設(shè)

    2024年02月04日
    瀏覽(95)
  • K8S系列:刪除pod的4種方法

    #Kubernetes向進程發(fā)送一個SIGTERM信號并等待一定的秒數(shù)(默認為30),使其正常關(guān)閉。如果它沒有及時關(guān)閉,則通過SIGKILL終止該進程。因此,為了確保你的進程總是正常關(guān)閉,進程需要正確處理SIGTERM信號。 ? kubectl delete pod pod_name ? kubectl delete pod -l nio4444=true ? #刪除整個命名空

    2024年02月08日
    瀏覽(24)
  • (二)k8s實戰(zhàn)-深入Pod詳解

    (二)k8s實戰(zhàn)-深入Pod詳解

    創(chuàng)建Pod nginx樣例 參數(shù)名 類型 字段說明 apiVersion String K8S APl 的版本,可以用 kubectl api versions 命令查詢 kind String yam 文件定義的資源類型和角色 metadata Object 元數(shù)據(jù)對象,下面是它的屬性 metadata.name String 元數(shù)據(jù)對象的名字,比如 pod 的名字 metadata.namespace String 元數(shù)據(jù)對象的命名

    2024年02月11日
    瀏覽(21)
  • K8S之Pod詳解與進階

    1.pod定義 Pod 是 K8S 最小的創(chuàng)建和運行管理單元 2.pause容器作用 3.Pod 的 3 種類型 4.Pod 的 3 種容器 5.Pod 的 3 種鏡像拉取策略 6.Pod 的 3 種容器重啟策略 1.資源限制 2.Pod 容器的 3 種探針(健康檢查) 3.探針的 3 種探測方式 探針參數(shù) 4.Pod 應用容器生命周期的啟動動作和退出動作

    2024年02月13日
    瀏覽(22)
  • 關(guān)于K8s的Pod的詳解(一)

    關(guān)于K8s的Pod的詳解(一)

    Pod 作為k8s創(chuàng)建,調(diào)度,管理的基本單位。由上級的Controller對Node上安裝的Kubelet發(fā)送指令對Pod進行管理,因此我們需要詳細了解關(guān)于Pod。 其中最為基本的操作就是Pod的創(chuàng)建,刪除,調(diào)度,查看! 對于Pod的創(chuàng)建,相關(guān)聯(lián)的就有,對Pod的資源分配,資源限制;對Pod的創(chuàng)建調(diào)度,基

    2024年02月16日
    瀏覽(31)
  • Kubernetes(k8s)核心資源解析:Pod詳解

    Kubernetes(k8s)核心資源解析:Pod詳解

    ??The Begin??點點關(guān)注,收藏不迷路?? Pod是Kubernetes中最小的調(diào)度單元,它可以包含一個或多個容器。Pod中的所有容器共享網(wǎng)絡(luò)和存儲卷,它們一起運行在同一個節(jié)點上。Pod提供了一種抽象層,使得容器可以作為一個邏輯單元來管理。 Pod中的容器共享IP地址、端口空間和存儲

    2024年04月11日
    瀏覽(102)
  • [云原生] K8s之pod控制器詳解

    [云原生] K8s之pod控制器詳解

    Pod 是 Kubernetes 集群中能夠被創(chuàng)建和管理的最小部署單元。所以需要有工具去操作和管理它們的生命周期,這里就需要用到控制器了。 Pod 控制器由 master 的 kube-controller-manager 組件提供,常見的此類控制器有 Replication Controller、ReplicaSet、Deployment、DaemonSet、StatefulSet、Job 和 CronJo

    2024年03月11日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包