답변:
요청한 내용을 정확하게 수행하라는 명령은 없습니다.
다음은 일부 일치하는 항목입니다.
이 명령을 사용하여 단일 네임 스페이스에서 모든 포드를 삭제할 수 있습니다.
kubectl delete --all pods --namespace=foo
네임 스페이스에서 모든 배포를 삭제할 수도 있습니다. 그러면 네임 스페이스에 해당하는 배포에 연결된 모든 포드가 삭제됩니다.
kubectl delete --all deployments --namespace=foo
이 명령을 사용하여 모든 네임 스페이스와 모든 네임 스페이스의 모든 객체 (노드 및 일부 이벤트와 같은 네임 스페이스가없는 객체는 아님)를 삭제할 수 있습니다.
kubectl delete --all namespaces
그러나 후자의 명령은 kube-system 네임 스페이스의 항목을 삭제하여 클러스터를 사용할 수 없게하므로 원하는 작업이 아닐 수 있습니다.
이 명령은 kube-system을 제외한 모든 네임 스페이스를 삭제합니다.
for each in $(kubectl get ns -o jsonpath="{.items[*].metadata.name}" | grep -v kube-system);
do
kubectl delete ns $each
done
kubectl delete pods --all --all-namespaces
때로는 작동하는 것 같습니다 (일부 환경에서는 작동하지 않고 다른 환경에서는 작동하지 않는 이유) 내 요새 호스트에서는 잘 작동하지만 랩톱에서는 작동하지 않습니다. 데비안을 실행하고 동일한 버전의 kubectl (클러스터 버전 1.13)을 실행
kube-system
네임 스페이스에 있습니다. 메시지 예제에서 default
네임 스페이스를 볼 수 있습니다 . 가요 kube-system
당신이 첨부 명령으로 삭제?
kubectl delete daemonsets,replicasets,services,deployments,pods,rc --all
성가신 복제 컨트롤러도 제거하십시오.
ing
도 삭제 ingresses에
당신 sed
은 이것을해야합니다 :
kubectl get pods --no-headers=true --all-namespaces |sed -r 's/(\S+)\s+(\S+).*/kubectl --namespace \1 delete pod \2/e'
설명합니다 :
kubectl get pods --all-namespaces
모든 네임 스페이스의 모든 포드 목록을 가져 오려면 command 를 사용하십시오 .--no-headers=true
헤더를 숨기려면 옵션을 사용 하십시오.s
의 명령을 sed
나타내는 처음 두 단어 페치 namespace
하고 pod's name
각각 그 조합 delete
들을 사용하여 명령.delete
명령은 다음과 같습니다
kubectl --namespace kube-system delete pod heapster-eq3yw
.e
수정자를 사용하여 s
위에서 조립 한 명령을 실행하면 실제 delete
작업 이 수행됩니다 .kube-system
네임 스페이스에서 포드를 삭제하지 않으려면 명령 전에 네임 스페이스 grep -v kube-system
를 제외 하도록 추가해야합니다 .kube-system
sed
--all-namespaces
에서 포드를 삭제하지 않으려면 드롭 할 수도 있습니다.kube-system
당신은 단순히 실행할 수 있습니다
kubectl delete all --all --all-namespaces
첫 번째 all
는 공통 리소스 종류 (포드, 복제 세트, 배포 등)를 의미합니다.
kubectl get all == kubectl get pods,rs,deployments, ...
두 번째 --all
는 선택한 종류의 모든 자원을 선택하는 수단입니다.
참고 all
포함되지 않습니다 :
완벽하게 정리하려면
kubectl delete po,ing,svc,pv,pvc,sc,ep,rc,deploy,replicaset,daemonset --all -A
네임 스페이스에서 모두를 삭제하는 파이썬 코드를 만듭니다.
delall.py
import json,sys,os;
obj=json.load(sys.stdin);
for item in obj["items"]:
os.system("kubectl delete " + item["kind"] + "/" +item["metadata"]["name"] + " -n yournamespace")
그리고
kubectl get all -n kong -o json | python delall.py