분리된 ConfigMap 찾기 및 삭제
2647 단어 kubernetestutorial
이 게시물에서는 분리된 ConfigMap을 찾고 제거하는 방법에 중점을 둘 것입니다.
ConfigMaps 소량의 가시적 구성 데이터를 보유하기 위해 생성된 API 객체입니다. 이러한 개체는 애플리케이션의 최적 이식성을 위해 컨테이너 이미지 및 애플리케이션 코드에서 구성 데이터의 바인딩 해제를 지원하지만 비밀/암호화된 데이터를 보유할 수는 없습니다.
ConfigMap은 지원하기 위해 생성된 배포에서 격리된 상태로 남아 있거나 해당 소유자가 삭제된 경우 고아가 될 수 있습니다. 고아가 되면 이러한 ConfigMap은 임시 스토리지를 낭비하고 클러스터 불안정의 위험을 증가시킵니다.
분리된 ConfigMap 찾기 및 삭제
분리된 ConfigMap을 찾아 제거하기 위해 수행할 수 있는 몇 가지 단계는 다음과 같습니다.
1단계: 모든 ConfigMap 찾기
먼저 다음 명령을 사용하여 모든 ConfigMap 목록을 생성할 수 있습니다.
kubectl get configmaps –all-namespaces -o json
이 명령은 모든 네임스페이스에서 ConfigMap 목록을 반환하지만 보시다시피 ConfigMap 객체는 소유자를 참조하지 않습니다. 소유자가 있고 사용 중인 ConfigMap을 식별하려면 다른 명령을 실행해야 합니다.
2단계: 사용된 ConfigMap 목록과 비교
분리된 ConfigMap을 찾으려면 클러스터 전체에서 포드 목록을 가져와 사용 중인 모든 ConfigMap을 나열해야 합니다. 또는 다음을 사용하여 ConfigMap 목록과 사용된 ConfigMap을 비교하고 사용하지 않은 ConfigMap을 가져올 수 있습니다.
volumesCM=$( kubectl get pods -o
jsonpath='{.items[*].spec.volumes[*].configMap.name}' | xargs -n1)
volumesProjectedCM=$( kubectl get pods -o
jsonpath='{.items[*].spec.volumes[*].projected.sources[*].configMap.name}' | xargs -n1)
envCM=$( kubectl get pods -o
jsonpath='{.items[*].spec.containers[*].env[*].ValueFrom.configMapKeyRef.name}' | xargs -n1)
envFromCM=$( kubectl get pods -o
jsonpath='{.items[*].spec.containers[*].envFrom[*].configMapKeyRef.name}' | xargs -n1)
diff \
<(echo "$volumesCM\n$volumesProjectedCM\n$envCM\n$envFromCM" | sort | uniq) \
<(kubectl get configmaps -o jsonpath='{.items[*].metadata.name}' | xargs -n1 | sort | uniq)
마지막으로 두 목록을 비교하고 포드에서 사용하지 않는 첫 번째 목록에서 ConfigMap을 삭제할 수 있습니다.
3단계: 분리된 ConfigMap 삭제
이제 분리된 ConfigMap 목록이 있으므로 이 명령을 실행하여 클러스터에서 삭제하고 메모리를 확보할 수 있습니다.
kubectl delete configmap/samplemap
출력 예:
configmap "samplemap" deleted
찾은 고아 ConfigMap을 모두 삭제하면 클러스터에서 불필요하고 사용하지 않는 리소스를 제거하고 메모리와 저장 공간을 확보할 수 있습니다. 고립된 리소스를 정기적으로 제거하면 팀이 최적의 Kubernetes 리소스 관리를 유지하고 있는지 확인할 수 있습니다.
읽어 주셔서 감사합니다! 이것이 효과가 있는지 알려주세요.
Reference
이 문제에 관하여(분리된 ConfigMap 찾기 및 삭제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/blink-ops/finding-and-deleting-orphaned-configmap-g4p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)