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

【云原生】Kubernetes臨時容器

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

臨時容器

特性狀態(tài): Kubernetes v1.25 [stable]
本頁面概述了臨時容器:一種特殊的容器,該容器在現(xiàn)有 Pod 中臨時運行,以便完成用戶發(fā)起的操作,例如故障排查。 你會使用臨時容器來檢查服務,而不是用它來構(gòu)建應用程序

了解臨時容器

Pod 是 Kubernetes 應用程序的基本構(gòu)建塊。 由于 Pod 是一次性且可替換的,因此一旦 Pod 創(chuàng)建,就無法將容器加入到 Pod 中。 取而代之的是,通常使用 Deployment 以受控的方式來刪除并替換 Pod

有時有必要檢查現(xiàn)有 Pod 的狀態(tài)。例如,對于難以復現(xiàn)的故障進行排查。 在這些場景中,可以在現(xiàn)有 Pod 中運行臨時容器來檢查其狀態(tài)并運行任意命令

什么是臨時容器

臨時容器與其他容器的不同之處在于,它們?nèi)鄙賹Y源或執(zhí)行的保證,并且永遠不會自動重啟, 因此不適用于構(gòu)建應用程序。 臨時容器使用與常規(guī)容器相同的 ContainerSpec 節(jié)來描述,但許多字段是不兼容和不允許的

  • 臨時容器沒有端口配置,因此像 ports、livenessProbe、readinessProbe 這樣的字段是不允許的。
  • Pod 資源分配是不可變的,因此 resources 配置是不允許的

臨時容器是使用 API 中的一種特殊的 ephemeralcontainers 處理器進行創(chuàng)建的, 而不是直接添加到 pod.spec 段,因此無法使用 kubectl edit 來添加一個臨時容器

與常規(guī)容器一樣,將臨時容器添加到 Pod 后,將不能更改或刪除臨時容器

臨時容器的用途

當由于容器崩潰或容器鏡像不包含調(diào)試工具而導致 kubectl exec 無用時, 臨時容器對于交互式故障排查很有用。

尤其是,Distroless 鏡像 允許用戶部署最小的容器鏡像,從而減少攻擊面并減少故障和漏洞的暴露。 由于 distroless 鏡像不包含 Shell 或任何的調(diào)試工具,因此很難單獨使用 kubectl exec 命令進行故障排查。

使用臨時容器時, 啟用進程名字空間共享很有幫助, 可以查看其他容器中的進程

使用臨時調(diào)試容器來進行調(diào)試

特性狀態(tài): Kubernetes v1.25 [stable]
當由于容器崩潰或容器鏡像不包含調(diào)試程序(例如無發(fā)行版鏡像等) 而導致 kubectl exec 無法運行時,臨時容器對于排除交互式故障很有用

使用臨時容器來調(diào)試的例子

你可以使用 kubectl debug 命令來給正在運行中的 Pod 增加一個臨時容器。 首先,像示例一樣創(chuàng)建一個 pod:

kubectl run ephemeral-demo --image=registry.k8s.io/pause:3.1 --restart=Never

本示例中使用 pause 容器鏡像,因為它不包含調(diào)試程序,但是這個方法適用于所有容器鏡像。

如果你嘗試使用 kubectl exec 來創(chuàng)建一個 shell,你將會看到一個錯誤,因為這個容器鏡像中沒有 shell

kubectl exec -it ephemeral-demo -- sh

OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown

你可以改為使用 kubectl debug 添加調(diào)試容器。 如果你指定 -i 或者 --interactive 參數(shù),kubectl 將自動掛接到臨時容器的控制臺

kubectl debug -it ephemeral-demo --image=busybox:1.28 --target=ephemeral-demo

Defaulting debug container name to debugger-8xzrl.
If you don't see a command prompt, try pressing enter.
/ #

此命令添加一個新的 busybox 容器并將其掛接到該容器。–target 參數(shù)指定另一個容器的進程命名空間。 這個指定進程命名空間的操作是必需的,因為 kubectl run 不能在它創(chuàng)建的 Pod 中啟用共享進程命名空間

可以使用 kubectl describe 查看新創(chuàng)建的臨時容器的狀態(tài)

kubectl describe pod ephemeral-demo

使用 kubectl delete 來移除已經(jīng)結(jié)束掉的 Pod:文章來源地址http://www.zghlxwxcb.cn/news/detail-558333.html

kubectl delete pod ephemeral-demo

到了這里,關(guān)于【云原生】Kubernetes臨時容器的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【云原生】kubernetes中容器的資源限制

    【云原生】kubernetes中容器的資源限制

    目錄 1 metrics-server 2 指定內(nèi)存請求和限制 3 指定 CPU 請求和限制 資源限制 在k8s中對于容器資源限制主要分為以下兩類: 內(nèi)存資源限制: 內(nèi)存 請求 (request)和內(nèi)存 限制 (limit)分配給一個容器。 我們保障容器擁有它請求數(shù)量的內(nèi)存,但不允許使用超過限制數(shù)量的內(nèi)存。 官網(wǎng)參

    2024年02月14日
    瀏覽(24)
  • 云原生Kubernetes:CRI 容器運行時接口

    云原生Kubernetes:CRI 容器運行時接口

    目錄 一、理論 1.?CRI 2.容器運行時層級 3.容器運行時比較 二、總結(jié) (1)概念 ? ? ? Kubernetes Node (kubelet) 的主要功能就是啟動和停止容器的組件,我們 稱之為容器運行時( Container Runtime) ,其中最知名的就是 Docker 。為了 更具擴展性, Kubernetes 1.5 版本開始就加入了容器運行

    2024年02月09日
    瀏覽(27)
  • 【云原生|Kubernetes】08-Pod中的Init容器

    Init 容器是一種特殊容器,在 Pod內(nèi)的應用容器啟動之前運行。Init 容器可以包括一些應用鏡像中不存在的實用工具和安裝腳本。 你可以在 Pod 的spec中與用來描述應用容器的 containers 數(shù)組平行的位置指定 Init 容器。 Init 容器的狀態(tài)在 status.initContainerStatuses 字段中以容器狀態(tài)數(shù)組

    2024年02月09日
    瀏覽(50)
  • 容器和云原生(三):kubernetes搭建與使用

    容器和云原生(三):kubernetes搭建與使用

    ? ? ? ? 目錄 單機K8S docker containerd image依賴 kubeadm初始化 驗證 crictl工具 K8S核心組件 上文安裝單機docker是很簡單docker,但是生產(chǎn)環(huán)境需要多個主機,主機上啟動多個docker容器,相同容器會綁定形成1個服務service,微服務場景中多個service會互相調(diào)用,那么就需要保證多個servi

    2024年02月11日
    瀏覽(28)
  • 【云原生-深入理解Kubernetes-1】容器的本質(zhì)是進程

    【云原生-深入理解Kubernetes-1】容器的本質(zhì)是進程

    大家好,我是秋意零。 ?? CSDN作者主頁 ?? 博客主頁 ?? 簡介 ?? 普通本科生在讀 在校期間參與眾多計算機相關(guān)比賽,如:?? “省賽”、“國賽” ,斬獲多項獎項榮譽證書 ?? 各個平臺, 秋意零/秋意臨 賬號創(chuàng)作者 ?? 云社區(qū) 創(chuàng)建者 點贊、收藏+關(guān)注下次不迷路! 歡迎加

    2024年02月02日
    瀏覽(29)
  • 云原生小疑問 ?? - Kubernetes 下重啟容器會丟失數(shù)據(jù)嗎?

    在 docker 環(huán)境下,容器重啟后還是原來的容器,數(shù)據(jù)并沒有丟失。那是不是 k8s 環(huán)境下,重啟也不會丟失呢? 在kubernetes/RainBond環(huán)境下, 最小化的管理單元是 Pod 。 對 Pod 的重啟,本質(zhì)上是先刪除,然后啟動新的容器 。所以原本容器中的數(shù)據(jù)會丟失。 java程序中一般如下數(shù)據(jù)需

    2024年04月25日
    瀏覽(26)
  • 【云原生】kubernetes在Pod中init容器的作用和使用

    【云原生】kubernetes在Pod中init容器的作用和使用

    目錄 Pod 中 init 容器 1 init 容器特點 2 使用 init 容器 Pod 中 init 容器 Init 容器是一種特殊容器,在Pod 內(nèi)的應用容器啟動之前運行。Init 容器可以包括一些應用鏡像中不存在的實用工具和安裝腳本。 1 init 容器特點 init 容器與普通的容器非常像,除了如下幾點: 它們總是運行到完

    2024年02月14日
    瀏覽(31)
  • 【云原生|Kubernetes】12-容器生命周期的回調(diào)(PreStart和PreStop)

    我們知道,K8S可以在應用容器啟動之前先執(zhí)行一些預定義的操作,比如事先生成一些數(shù)據(jù),以便于應用容器在啟動的時候使用。這種方式可以通過init container技術(shù)實現(xiàn)。 那么事實上,在實際生產(chǎn)中,還有一種需求,就是我們需要在應用容器啟動后執(zhí)行一些初始化操作,比如設(shè)

    2024年02月12日
    瀏覽(28)
  • 【云原生-深入理解 Kubernetes 系列 3】深入理解容器進程的文件系統(tǒng)

    【云原生-深入理解 Kubernetes 系列 3】深入理解容器進程的文件系統(tǒng)

    【云原生-深入理解Kubernetes-1】容器的本質(zhì)是進程 【云原生-深入理解Kubernetes-2】容器 Linux Cgroups 限制 大家好,我是秋意零。 ?? CSDN作者主頁 ?? 博客主頁 ?? 簡介 ?? 普通本科生在讀 在校期間參與眾多計算機相關(guān)比賽,如:?? “省賽”、“國賽” ,斬獲多項獎項榮譽證書

    2024年02月06日
    瀏覽(52)
  • 云原生之深入解析如何正確計算Kubernetes容器CPU使用率

    使用 Prometheus 配置 kubernetes 環(huán)境中 Container 的 CPU 使用率時,會經(jīng)常遇到 CPU 使用超出 100%,現(xiàn)在來分析一下: container_spec_cpu_period:當對容器進行 CPU 限制時,CFS 調(diào)度的時間窗口,又稱容器 CPU 的時鐘周期通常是 100000 微秒 container_spec_cpu_quota:是指容器的使用 CPU 時間周期總量

    2024年02月10日
    瀏覽(37)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包