모든 kubernetes 네임 스페이스의 모든 포드를 삭제하는 명령
문서를 보면 'a'pod를 삭제하는 api 호출이 있습니다. 모든 네임 스페이스의 모든 pod를 죽이는 방법이 있습니까?
당신이 요청한 것을 정확히 수행하라는 명령은 없습니다.
다음은 몇 가지 밀접한 일치입니다.
다음 명령을 사용하여 단일 네임 스페이스의 모든 포드를 삭제할 수 있습니다.
kubectl delete --all pods --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 daemonsets,replicasets,services,deployments,pods,rc --all
성가신 복제 컨트롤러도 제거합니다.
다음 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
을 사용 하여 모든 네임 스페이스의 모든 포드 목록을 가져옵니다. --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
다음은 grep으로 확장하여 이름별로 필터링 할 수있는 한 줄짜리입니다.
kubectl get pods -o jsonpath="{.items[*].metadata.name}" | \
tr " " "\n" | \
xargs -i -P 0 kubectl delete pods {}
다시 생성 된 포드가 이미있는 경우 먼저 모든 배포를 삭제하는 것이 좋습니다.
kubectl delete -n *NAMESPACE deployment *DEPLOYMENT
NAMSPACE 및 DEPLOYMENT를 해당 항목으로 바꾸면 다음 명령으로 모든 배포 정보를 얻을 수 있습니다.
kubectl get deployments --all-namespaces
Kubectl bulk (bulk-action on krew) 플러그인이 유용 할 수 있으며 선택한 리소스에 대한 대량 작업을 제공합니다. 포드를 삭제하는 명령입니다.
' kubectl bulk pods -n namespace delete '
당신의 세부 사항 확인할 수 있습니다 이
네임 스페이스에서 모두 삭제하는 파이썬 코드를 만듭니다.
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
참고 URL : https://stackoverflow.com/questions/33509194/command-to-delete-all-pods-in-all-kubernetes-namespaces
'Programing' 카테고리의 다른 글
'#selector'는 Objective-C에 노출되지 않는 메소드를 나타냅니다. (0) | 2020.08.17 |
---|---|
GAC에서 폴더 및 파일을 보는 방법은 무엇입니까? (0) | 2020.08.17 |
버텍스 셰이더 대 프래그먼트 셰이더 (0) | 2020.08.17 |
스크립트에서 / etc / sudoers를 어떻게 편집합니까? (0) | 2020.08.17 |
마지막으로 편집 한 날짜별로 파일 나열 (0) | 2020.08.17 |