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

k8s 啟動(dòng)和刪除pod

這篇具有很好參考價(jià)值的文章主要介紹了k8s 啟動(dòng)和刪除pod。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

k8s創(chuàng)建pod

pod的啟動(dòng)流程

流程圖

k8s 啟動(dòng)和刪除pod,kubernetes,docker,容器

運(yùn)維人員向kube-apiserver發(fā)出指令(我想干什么,我期望事情是什么狀態(tài))

api響應(yīng)命令,通過一系列認(rèn)證授權(quán),把pod數(shù)據(jù)存儲(chǔ)到etcd,創(chuàng)建deployment資源并初始化。(期望狀態(tài))

controller通過list-watch機(jī)制,監(jiān)聽api server讀取etcd,發(fā)現(xiàn)新的deployment,將該資源加入到內(nèi)部工作隊(duì)列,發(fā)現(xiàn)該資源沒有關(guān)聯(lián)的pod和replicaset,啟用deployment controller創(chuàng)建replicaset資源,再啟用replicaset controller創(chuàng)建pod。所有controller被創(chuàng)建完成后.將deployment,replicaset,pod資源更新存儲(chǔ)到etcd。

scheduler通過list-watch機(jī)制,監(jiān)聽api server讀取etcd,發(fā)現(xiàn)新的pod,經(jīng)過主機(jī)過濾、主機(jī)打分規(guī)則,將pod綁定(binding)到合適的主機(jī),并將綁定結(jié)果存儲(chǔ)到etcd。

kubelet每隔 20s(可以自定義)向apiserver獲取自身Node上所要運(yùn)行的pod清單.通過與自己的內(nèi)部緩存進(jìn)行比較,用容器運(yùn)行時(shí)軟件(docker或containerd)拉取鏡像創(chuàng)建pod。

kube-proxy為新創(chuàng)建的pod注冊動(dòng)態(tài)DNS到CoreOS。給pod的service添加iptables/ipvs規(guī)則,用于服務(wù)發(fā)現(xiàn)和負(fù)載均衡。

controller通過control loop(控制循環(huán))將當(dāng)前pod狀態(tài)與用戶所期望的狀態(tài)做對(duì)比,如果當(dāng)前狀態(tài)與用戶期望狀態(tài)不同,則controller會(huì)將pod修改為用戶期望狀態(tài),實(shí)在不行會(huì)將此pod刪掉,然后重新創(chuàng)建pod。
?

實(shí)踐案例:控制器的方式創(chuàng)建nginx的pod

流程圖

k8s 啟動(dòng)和刪除pod,kubernetes,docker,容器

1.使用kubectl創(chuàng)建nginx的pod

[root@k8s-master ~]# kubectl create deployment k8s-nginx --image=nginx -r 3


?

相當(dāng)于docker run去啟動(dòng)容器,背后一樣要去拉取鏡像

  • create deployment,創(chuàng)建部署控制器
  • k8s-nginx,命名部署控制器
  • –image,指定使用的鏡像
  • -r 3,建立三個(gè)副本,刪除后也會(huì)自動(dòng)補(bǔ)充

2.查看部署控制器

[root@k8s-master ~]# kubectl get deployment
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
k8s-nginx   3/3     3            3           14m

?3.查看副本控制器

[root@k8s-master ~]# kubectl get replicaset
NAME                   DESIRED   CURRENT   READY   AGE
k8s-nginx-75f95db655   3         3         3       15m

4.查看pod的詳細(xì)信息

[root@k8s-master ~]# kubectl get pod -o wide
NAME                         READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES
k8s-nginx-75f95db655-24mfb   1/1     Running   0          17m   10.244.140.73   k8s-node-2   <none>           <none>
k8s-nginx-75f95db655-fl5cc   1/1     Running   0          17m   10.244.109.81   k8s-node-1   <none>           <none>
k8s-nginx-75f95db655-txf25   1/1     Running   0          17m   10.244.109.80   k8s-node-1   <none>           <none>

?

參數(shù)的含義

status

  • Running,正常運(yùn)行
  • Terminating,正在終止
  • Container Created,正在創(chuàng)建容器
pod的命名規(guī)則
k8s-nginx-75f95db655-24mfb
  • 部署控制器名+副本控制器名+pod名

5.進(jìn)入pod容器

[root@k8s-master ~]# kubectl exec -it k8s-nginx-75f95db655-24mfb -- bash
root@k8s-nginx-75f95db655-24mfb:/#
  • kubectl exec 進(jìn)入pod容器
  • -it 交互式進(jìn)入容器
  • – bash指定解釋器

6.刪除pod容器

[root@k8s-master ~]# kubectl delete pod k9s-nginx-68df494c64-529qk
  • delete,刪除指定pod

刪除一個(gè)pod后,因?yàn)楦北究刂破髦付?,盡管刪除一個(gè)后,也會(huì)自動(dòng)補(bǔ)充一個(gè)pod

7.刪除部署控制器

[root@k8s-master ~]# kubectl delete ployment k8s-nginx-75f95db655

刪除部署控制器后,就會(huì)徹底刪除所有的副本控制器以及pod

二、刪除pod

在日常的k8s運(yùn)維過程中,避免不了會(huì)對(duì)某些pod進(jìn)行剔除,那么如何才能正確的剔除不需要的pod呢?

首先,需要查出想要?jiǎng)h除的pod
# 可通過任意方式進(jìn)行查詢
kubectl get pods -A |grep <podname>
kubectl get pods -n <namespace>
kubectl get pods --all-namespaces |grep <podname>?
kubectl 刪除pod命令
kubectl delete pod <podname> -n <namespace>

例如:kubectl delete pod nginx-web-460776586-f6nf0 -n yundoc?
可是這里你會(huì)發(fā)現(xiàn),在進(jìn)行刪除delete pod后,并不會(huì)直接刪除。該pod會(huì)自動(dòng)重新構(gòu)建(可以理解為重啟、重構(gòu)),原因是k8s誤認(rèn)為我們要?jiǎng)h除的pod異常掛了,會(huì)啟用容災(zāi)機(jī)制,導(dǎo)致重新再拉起一個(gè)新的pod。

我們想要正常且徹底的刪除一個(gè)pod,必須要先破壞掉他的容災(zāi)機(jī)制,即刪除deployment機(jī)制。

查看deployment信息
#可理解是調(diào)度管理pod的
kubectl get deployment --all-namespaces
kubectl get deployment -n kube-system
刪除deployment配置
kubectl delete deployment <deployment名> -n <namespace>

例如:kubectl delete deployment nginx-web -n yundoc
刪除deployment,pod會(huì)隨之刪除。

可通過再次查看pod狀態(tài),然后進(jìn)行刪除pod命令即可,通常情況下刪除deployment后,再次查詢pod發(fā)現(xiàn),pod已經(jīng)開始自行刪除了(這步可酌情處理)。
?

當(dāng)然,也可以導(dǎo)出yaml文件,進(jìn)行修改重啟策略,重新啟動(dòng)pod , 我在之前的文章中也提到了。

然后再去刪除pod 也是可以的。這個(gè)場景使用再測試環(huán)境或者生產(chǎn)環(huán)境都有可能。文章來源地址http://www.zghlxwxcb.cn/news/detail-688939.html

到了這里,關(guān)于k8s 啟動(dòng)和刪除pod的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

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

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

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

    2024年04月11日
    瀏覽(99)
  • k8s通過命令批量刪除pod

    k8s批量刪除失敗的pod 查看所有的pod 選擇STATUS列,查看某namespace的非Running的記錄,比如: 解析: 獲取所有的pods及其狀態(tài) 篩選出命名空間kube-system的記錄,默認(rèn)視default grep選出帶有Evicted字段pod 通過awk,獲取第一列信息,也就是NAME 使用xargs指令,循環(huán)刪除失敗的pod

    2024年02月11日
    瀏覽(18)
  • k8s中如何正確刪除pod

    --- ? 在日常的k8s運(yùn)維過程中,避免不了會(huì)對(duì)某些pod進(jìn)行剔除,那么如何才能正確的剔除不需要的pod呢? 首先,需要查出想要?jiǎng)h除的pod kubectl 刪除pod命令 可是這里你會(huì)發(fā)現(xiàn),在進(jìn)行刪除delete pod后,并不會(huì)直接刪除。該pod會(huì)自動(dòng)重新構(gòu)建(可以理解為重啟、重構(gòu)),原因是k

    2023年04月27日
    瀏覽(23)
  • k8s中強(qiáng)制刪除pod方法

    刪除pod的時(shí)候發(fā)現(xiàn) pod 一直處于 terminating 狀態(tài),而且使用 delete 命令刪除的時(shí)候一直會(huì)卡的沒反應(yīng)。 可以使用強(qiáng)制刪除的方法解決: 篩選出集群中狀態(tài)是 Terminating 的 pod,隨后進(jìn)行刪除 如果依舊無法解決,可以從ETCD中刪除源數(shù)據(jù)

    2024年02月11日
    瀏覽(15)
  • k8s刪除pod或deployment

    deployment: pod: 刪除pod: 可是,此時(shí)你會(huì)發(fā)現(xiàn)剛剛刪除的pod開始重構(gòu)。那是因?yàn)閜od的上級(jí)deployment仍然存在,k8s會(huì)啟動(dòng)容災(zāi)機(jī)智,再拉一個(gè)新pod。 想要徹底刪除pod,直接干掉它上層的deployment就可以 刪除deployment: 干掉deployment,里面的pod自然就被一起刪除了

    2024年02月11日
    瀏覽(24)
  • Kubernetes(k8s):精通 Pod 操作的關(guān)鍵命令

    Kubernetes(k8s):精通 Pod 操作的關(guān)鍵命令

    ??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路?? Kubernetes 是一個(gè)強(qiáng)大的容器編排平臺(tái),其中的核心概念之一就是 Pod。Pod 是 Kubernetes 中最小的可部署單元,它由一個(gè)或多個(gè)容器組成,共享網(wǎng)絡(luò)和存儲(chǔ)資源。 在本篇博客中,我們將深入探討 Kubernetes 集群中與 Pod 相關(guān)的一些重要命令,幫

    2024年04月14日
    瀏覽(1096)
  • Kubernetes(k8s)容器編排Pod介紹和使用

    Kubernetes(k8s)容器編排Pod介紹和使用

    Pod是kubernetes中你可以創(chuàng)建和部署的最小也是最簡的單位,一個(gè)Pod代表著集群中運(yùn)行的一個(gè)進(jìn)程。 Pod有兩個(gè)必須知道的特點(diǎn) 通過yaml文件或者json描述Pod和其內(nèi)容器的運(yùn)行環(huán)境和期望狀態(tài),例如一個(gè)最簡單的運(yùn)行nginx應(yīng)用的pod,定義如下 3.1.1 參數(shù)描述 下面簡要分析一下上面的

    2024年02月08日
    瀏覽(114)
  • 【Kubernetes】 從基礎(chǔ)認(rèn)識(shí) k8s核心pod相關(guān)概念

    【Kubernetes】 從基礎(chǔ)認(rèn)識(shí) k8s核心pod相關(guān)概念

    提示:此篇幫助朋友們,養(yǎng)成從0到1不斷延伸知識(shí)的一種方法 最簡單的創(chuàng)建pod入手 訪問官方文檔,直接使用案例,進(jìn)行修改即可! 官網(wǎng)地址:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes/ 刪除不需要的部分,根據(jù)規(guī)則添加需要的參數(shù)即可得到需要的,代碼如

    2024年01月25日
    瀏覽(122)
  • K8s(Kubernetes)學(xué)習(xí)(三):pod概念及相關(guān)操作

    K8s(Kubernetes)學(xué)習(xí)(三):pod概念及相關(guān)操作

    摘取官網(wǎng): https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/#working-with-pods 1.1 簡介 Pod 是可以在 Kubernetes 中 創(chuàng)建和管理的、最小的可部署的計(jì)算單元 。 Pod (就像在鯨魚莢或者豌豆莢中) 是一組(一個(gè)或多個(gè))容器 ; 這些容器共享存儲(chǔ)、網(wǎng)絡(luò)、以及怎樣運(yùn)行這些容器的聲明。 P

    2024年02月13日
    瀏覽(87)
  • kubernetes(k8s)為容器和 Pod 分配內(nèi)存資源

    kubernetes(k8s)為容器和 Pod 分配內(nèi)存資源

    展示如何將內(nèi)存請(qǐng)求(request)和內(nèi)存限制(limit)分配給一個(gè)容器。 我們保障容器擁有它請(qǐng)求數(shù)量的內(nèi)存,但不允許使用超過限制數(shù)量的內(nèi)存。 創(chuàng)建新的命名空間 編輯yaml文件 配置文件的 args 部分提供了容器啟動(dòng)時(shí)的參數(shù)。 “–vm-bytes”, “150M” 參數(shù)告知容器嘗試分配 15

    2024年02月15日
    瀏覽(105)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包