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

k8s的namespace一直處于terminating的解法

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

先試了強(qiáng)制替換,無法替換掉,強(qiáng)制刪除,也刪除不掉namespace

[root@master k8s-study]# vi ns-demo.yaml
[root@master k8s-study]# kubectl create -f ns-demo.yaml
namespace/demo created
[root@master k8s-study]# kubectl get -f ns-demo.yaml
NAME   STATUS   AGE
demo   Active   17s
[root@master k8s-study]# cp ns-demo.yaml ns-demo-v2.yaml
[root@master k8s-study]# vi ns-demo-v2.yaml
[root@master k8s-study]# kubectl replace -f ns-demo-v2.yaml
namespace/demo replaced
[root@master k8s-study]# kubectl get -f ns-demo.yaml
NAME   STATUS   AGE
demo   Active   102s
[root@master k8s-study]# kubectl get -f ns-demo.yaml -o yaml
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2023-07-26T13:22:49Z"
  labels:
    kubernetes.io/metadata.name: demo
  name: demo
  resourceVersion: "42052444"
  uid: 5ff91497-0bb6-448a-8fb2-0aacb017bacc
spec:
  finalizers:
  - kubernetes
status:
  phase: Active
[root@master k8s-study]# kubectl get -f ns-demo-v2.yaml -o yaml
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2023-07-26T13:22:49Z"
  labels:
    kubernetes.io/metadata.name: demo
  name: demo
  resourceVersion: "42052444"
  uid: 5ff91497-0bb6-448a-8fb2-0aacb017bacc
spec:
  finalizers:
  - kubernetes
status:
  phase: Active
[root@master k8s-study]# kubectl replace --force -f ns-demo-v2.yaml
namespace "demo" deleted

^C
[root@master k8s-study]# kubectl replace --force=true -f ns-demo-v2.yaml
namespace "demo" deleted
^C
[root@master k8s-study]# kubectl replace --force=true --grace-period=0 -f ns-demo-v2.yaml
namespace "demo" deleted
^C
[root@master k8s-study]# kubectl get ns/demo
NAME   STATUS        AGE
demo   Terminating   10m
[root@master k8s-study]# kubectl get ns/demo -o json
{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "creationTimestamp": "2023-07-26T13:22:49Z",
        "deletionTimestamp": "2023-07-26T13:25:24Z",
        "labels": {
            "kubernetes.io/metadata.name": "demo"
        },
        "name": "demo",
        "resourceVersion": "42052458",
        "uid": "5ff91497-0bb6-448a-8fb2-0aacb017bacc"
    },
    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },
    "status": {
        "phase": "Terminating"
    }
}
[root@master k8s-study]# kubectl edit ns/demo -o yaml
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2023-07-26T13:22:49Z"
  deletionTimestamp: "2023-07-26T13:25:24Z"
  labels:
    kubernetes.io/metadata.name: demo
  name: demo
  resourceVersion: "42052458"
  uid: 5ff91497-0bb6-448a-8fb2-0aacb017bacc
spec:
  finalizers:
  - kubernetes
status:
  phase: Terminating
[root@master k8s-study]# kubectl get ns/demo
NAME   STATUS        AGE
demo   Terminating   11m
[root@master k8s-study]# kubectl delete ns/demo
namespace "demo" deleted
^C
[root@master k8s-study]# kubectl delete --force ns/demo
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
namespace "demo" force deleted
^C
[root@master k8s-study]# kubectl delete --force --grace-period=0 ns/demo
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
namespace "demo" force deleted
^C



[root@master k8s-study]# curl -H "Content-Type: application/json" -XPUT -d '{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"demo"},"spec":{"finalizers":[]}}' http://localhost:10249/api/v1/namespaces/delete-me/finalize
404 page not found
[root@master k8s-study]# curl -H "Content-Type: application/json" -XPUT -d '{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"demo"},"spec":{"finalizers":[]}}' http://localhost:31811/api/v1/namespaces/delete-me/finalize
curl: (52) Empty reply from server
[root@master k8s-study]# kubectl get ns/demo -o yaml
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2023-07-26T13:22:49Z"
  deletionTimestamp: "2023-07-26T13:25:24Z"
  labels:
    kubernetes.io/metadata.name: demo
  name: demo
  resourceVersion: "42052458"
  uid: 5ff91497-0bb6-448a-8fb2-0aacb017bacc
spec:
  finalizers:
  - kubernetes
status:
  phase: Terminating
[root@master k8s-study]# kubectl get ns/demo -o json
{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "creationTimestamp": "2023-07-26T13:22:49Z",
        "deletionTimestamp": "2023-07-26T13:25:24Z",
        "labels": {
            "kubernetes.io/metadata.name": "demo"
        },
        "name": "demo",
        "resourceVersion": "42052458",
        "uid": "5ff91497-0bb6-448a-8fb2-0aacb017bacc"
    },
    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },
    "status": {
        "phase": "Terminating"
    }
}
[root@master k8s-study]# curl -H "Content-Type: application/json" -XPUT -d '{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"demo"},"spec":{"finalizers":[]}}' http://localhost:31811/api/v1/namespaces/demo/finalize
curl: (52) Empty reply from server
[root@master k8s-study]# curl -H "Content-Type: application/json" -H “Expect:” -XPUT -d '{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"demo"},"spec":{"finalizers":[]}}' http://localhost:31811/api/v1/namespaces/demo/finalize
curl: (52) Empty reply from server
[root@master k8s-study]# curl -H "Content-Type: application/json" -XPUT -d '{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"demo"},"spec":{"finalizers":[]}}' http://localhost:10249/api/v1/namespaces/demo/finalize
404 page not found
NAMESPACE=demo
kubectl get ns $NAMESPACE -o json | jq '.spec.finalizers=[]' > ns.json
kubectl proxy --port=8899 &
PID=$!
curl -X PUT http://localhost:8899/api/v1/namespaces/$NAMESPACE/finalize -H "Content-Type: application/json" --data-binary @ns.json
kill $PID

這段代碼的含義是在 Kubernetes 環(huán)境中刪除一個(gè)命名空間(Namespace)及其關(guān)聯(lián)的資源,包括在命名空間中運(yùn)行的所有容器、服務(wù)、持久卷等。讓我們逐行解釋代碼的作用:

  1. NAMESPACE=demo 這一行指定了要?jiǎng)h除的命名空間的名稱,代碼中將其設(shè)置為 "demo"。你可以根據(jù)需要將 "demo" 替換為你要?jiǎng)h除的特定命名空間的名稱。

  2. kubectl get ns $NAMESPACE -o json | jq '.spec.finalizers=[]' > ns.json 這一行代碼使用 kubectl 命令獲取指定命名空間的詳細(xì)信息,并將其以 JSON 格式輸出。然后通過 jq 工具(一個(gè)命令行 JSON 處理工具)將 .spec.finalizers 的值設(shè)置為空數(shù)組,這樣做的目的是將命名空間中的 finalizer 清空。finalizer 是用于在刪除命名空間時(shí)執(zhí)行清理操作的機(jī)制。

  3. kubectl proxy --port=8899 & 這一行代碼啟動(dòng)了一個(gè) kubectl 代理服務(wù)器,并監(jiān)聽在本地的 8899 端口上。代理服務(wù)器的目的是允許后續(xù)的 curl 請(qǐng)求與 Kubernetes API 進(jìn)行交互,從而繞過直接與集群通信的需求。

  4. PID=$! 這一行代碼將 kubectl 代理服務(wù)器的進(jìn)程 ID 存儲(chǔ)在變量 PID 中。這樣做是為了在后續(xù)操作中能夠終止該進(jìn)程,以便清理代理服務(wù)器。

  5. curl -X PUT http://localhost:8899/api/v1/namespaces/$NAMESPACE/finalize -H "Content-Type: application/json" --data-binary @ns.json 這一行代碼使用 curl 命令向 Kubernetes API 發(fā)出 PUT 請(qǐng)求,調(diào)用命名空間的 finalize 操作。在這個(gè)請(qǐng)求中,通過將之前生成的 ns.json 文件的內(nèi)容作為請(qǐng)求體,來執(zhí)行對(duì)命名空間的最終清理。由于之前已經(jīng)將 finalizer 清空,這個(gè)操作將立即刪除命名空間和其所有資源。

  6. kill $PID 最后,這一行代碼終止之前啟動(dòng)的 kubectl 代理服務(wù)器,釋放占用的端口和資源。

需要注意的是,這段代碼執(zhí)行時(shí)需要確保當(dāng)前的環(huán)境配置有足夠的權(quán)限來刪除命名空間及其資源,否則可能會(huì)失敗。同時(shí),謹(jǐn)慎使用這樣的代碼,因?yàn)閯h除命名空間將導(dǎo)致其中的所有資源永久丟失,無法恢復(fù)。在生產(chǎn)環(huán)境中,務(wù)必謹(jǐn)慎執(zhí)行類似的操作,并確認(rèn)執(zhí)行之前的后果。文章來源地址http://www.zghlxwxcb.cn/news/detail-610166.html

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

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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)文章

  • k8s delete namespace Terminating

    k8s delete namespace Terminating

    版本情況 當(dāng)時(shí)Terminating截圖 前段時(shí)間pod的數(shù)量增加,懷疑是master節(jié)點(diǎn)機(jī)器資源不足導(dǎo)致處理效率問題 目前運(yùn)行的pod數(shù)量 查看Prometheus監(jiān)控,可以看到master節(jié)點(diǎn)的使用率都很低,排除資源不足問題 執(zhí)行查看資源情況, 沒有發(fā)現(xiàn)依賴資源未釋放情況,排查依賴資源沒有釋放問題

    2024年02月10日
    瀏覽(16)
  • k8s pod 處于Terminating的原因分析和解決處理——筑夢(mèng)之路

    之前整理了一下各種資源長(zhǎng)時(shí)間無法回收,解決處理的命令行 k8s 各種資源Terminationg狀態(tài)處理 —— 筑夢(mèng)之路_k8s自定義資源修改狀態(tài)-CSDN博客 這里具體整理下pod長(zhǎng)時(shí)間處于Terminating狀態(tài)的相關(guān)知識(shí),主要是對(duì)前面的補(bǔ)充和完善,作為筆記記錄。 當(dāng)我們要?jiǎng)h除一個(gè)Pod時(shí),Kuberne

    2024年02月03日
    瀏覽(25)
  • k8s默認(rèn)StorageClass,解決pvc一直處于“Pending”

    k8s默認(rèn)StorageClass,解決pvc一直處于“Pending”

    報(bào)錯(cuò)詳情 排查思路 查看 pvc 詳細(xì)屬性 persistentvolume-controller waiting for a volume to be created, either by external provisioner \\\"nfs-provisioner-01\\\" or manually created by system administrator 從persistentvolume-controller反饋出來的信息是 沒有權(quán)限來創(chuàng)建出pvc。 查看 nfs-provisioner pod日志 遠(yuǎn)程N(yùn)FS服務(wù)器上的動(dòng)態(tài)子

    2023年04月27日
    瀏覽(20)
  • k8s pod一直處于pending狀態(tài)一般有哪些情況,怎么排查?

    一個(gè)pod一開始創(chuàng)建的時(shí)候,它本身就是會(huì)處于pending狀態(tài),這時(shí)可能是正在拉取鏡像,正在創(chuàng)建容器的過程。 如果等了一會(huì)發(fā)現(xiàn)pod一直處于pending狀態(tài), 那么我們可以使用kubectl describe命令查看一下pod的Events詳細(xì)信息。一般可能會(huì)有這么幾種情況導(dǎo)致pod一直處于pending狀態(tài): 1、

    2024年01月17日
    瀏覽(33)
  • Kubernetes(k8s):Namespace詳解

    Kubernetes(k8s):Namespace詳解

    ??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路?? 在Kubernetes(K8s)中,Namespace是一種用于在集群中創(chuàng)建多個(gè)虛擬集群的方式。它將集群資源進(jìn)行邏輯分組,使得不同的團(tuán)隊(duì)或項(xiàng)目可以獨(dú)立地使用資源,避免資源沖突和混亂。本篇博客將詳細(xì)介紹Kubernetes的Namespace概念、用法和實(shí)戰(zhàn)應(yīng)用場(chǎng)

    2024年02月03日
    瀏覽(19)
  • k8s部署解成功解決node節(jié)點(diǎn)一直處于NotReady狀態(tài)的問題,報(bào)錯(cuò)failed to load Kubelet config file /var/lib/kubelet/config.yaml

    k8s部署解成功解決node節(jié)點(diǎn)一直處于NotReady狀態(tài)的問題,報(bào)錯(cuò)failed to load Kubelet config file /var/lib/kubelet/config.yaml

    我在部署k8s的時(shí)候host1節(jié)點(diǎn)一直顯示NotReady 報(bào)錯(cuò)便報(bào),直接經(jīng)典看日志解決問題思路哈哈哈 看日志找報(bào)錯(cuò)點(diǎn),找問題解決問題,思路一定要清晰。 在host1節(jié)點(diǎn)中查看報(bào)錯(cuò)信息,代碼: 由日志信息可知,報(bào)錯(cuò)原因是不能從/var/llib/kubelet/config.yaml下載到kubelet的配置。 錯(cuò)誤原因估計(jì)

    2024年02月11日
    瀏覽(22)
  • namespace,pv 一直Terminating狀態(tài)處理

    在k8s集群中進(jìn)行測(cè)試刪除namespace是經(jīng)常的事件,而為了方便操作,一般都是直接對(duì)整個(gè)名稱空間進(jìn)行刪除操作。 ? ? 補(bǔ)充:刪除rancher的相關(guān)namespace(謹(jǐn)慎操作!?。。?? (1)可以執(zhí)行如下命令強(qiáng)制刪除(PV-NAME?替換成實(shí)際需要?jiǎng)h除的?pv?名稱): ? (2)再次查看可以發(fā)現(xiàn)

    2024年02月08日
    瀏覽(16)
  • k8s的Namespace詳解

    簡(jiǎn)介 在一個(gè)K8s集群中可以擁有多個(gè)命名空間,它們?cè)谶壿嬌媳舜烁綦x namespaces是對(duì)一組資源和對(duì)象的抽象集合,比如可以將系統(tǒng)內(nèi)部的對(duì)象劃分為不同的項(xiàng)目組或用戶組 K8s在集群?jiǎn)?dòng)之后,會(huì)默認(rèn)創(chuàng)建幾個(gè)namespace 默認(rèn)namespace default:所有未指定Namespace的對(duì)象都會(huì)被分配在de

    2024年02月14日
    瀏覽(20)
  • k8s 大量 pod 處于 ContainerStatusUnknown 狀態(tài)

    k8s 大量 pod 處于 ContainerStatusUnknown 狀態(tài)

    如圖所示,nexus 正常運(yùn)行,但產(chǎn)生了大量的狀態(tài)不明的 pod,原因也無從所知 解決辦法,刪除多余的 pod,一個(gè)一個(gè)刪除,非常費(fèi)勁 獲取 namespace 中狀態(tài)為 ContainerStatusUnknown 的 pod,并刪除 獲取所有非 Running 狀態(tài)下的 pod,并刪除

    2024年02月07日
    瀏覽(28)
  • K8S 跨 namespace 訪問服務(wù)

    在K8S中,同一個(gè)命名空間(namespace)下的服務(wù)之間調(diào)用,之間通過服務(wù)名(service name)調(diào)用即可。不過在更多時(shí)候,我們可能會(huì)將一些服務(wù)單獨(dú)隔離在一個(gè)命名空間中(比如我們將中間件服務(wù)統(tǒng)一放在 middleware 命名空間中,將業(yè)務(wù)服務(wù)放在 business 命名空間中)。 遇到這種情

    2024年02月14日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包