아래 명령어를 치면 crossplane으로 생성된 managed resource를 다 확인할 수 있다.
kubectl -n {namespace} get managed
아래와 같은 식으로 나온다.
NAME SYNCED READY EXTERNAL-NAME AGE
securitygroup.ec2.aws.upbound.io/securitygroup-2ran4j True True sg-01c128d8c2792706f 49d
securitygroup.ec2.aws.upbound.io/securitygroup-4nqyg4 True True sg-0d32cf036a5717ac4 54d
securitygroup.ec2.aws.upbound.io/securitygroup-emr-master False True sg-07f9b4784161047ee 96d
securitygroup.ec2.aws.upbound.io/securitygroup-emr-slave False True sg-0f5f9db854367325a 96d
이 리소스 삭제하려면 아래와 같이 delete name을 하면 된다.
kubectl -n {namespace} delete securitygroup.ec2.aws.upbound.io/securitygroup-emr-master
근데 리소스가 너무 많아서 파이썬 실행해서 한번에 지우려고 함.
리소스에 지우려는 리소스 이름들 넣으면 됨.
import subprocess
import os
namespace = "wiseon-system"
resources = [
"vpcendpointsubnetassociation.ec2.aws.upbound.io/vpcendpointsubnetassociation-5tdm53",
"vpcendpointsubnetassociation.ec2.aws.upbound.io/vpcendpointsubnetassociation-h9e9gk",
"vpcendpointsubnetassociation.ec2.aws.upbound.io/vpcendpointsubnetassociation-tbr3tc",
"vpcendpointsubnetassociation.ec2.aws.upbound.io/vpcendpointsubnetassociation-xfnaz8"
]
kubeconfig = os.path.expanduser("~/.kube/config_aws")
for full_resource in resources:
print(f"Deleting resource: {full_resource}")
subprocess.run([
"kubectl", "--kubeconfig", kubeconfig,
"-n", namespace, "delete", full_resource
])
### 아래는 같은 이름을 가진 configmap을 삭제하는 거임. 안쓰면 주석 처리
name = full_resource.split("/")[-1]
print(f"Deleting ConfigMap: {name}")
subprocess.run([
"kubectl", "--kubeconfig", kubeconfig,
"-n", namespace, "delete", "cm", name
])
'배운 내용 > Kubernetes' 카테고리의 다른 글
crossplane reconcile 주기 변경하기 (0) | 2025.04.09 |
---|---|
NGINX 인증서 교체(인증서 만료 날짜 확인) (0) | 2025.04.01 |
upbound로 gcp provider 설치하기 (1) | 2025.04.01 |
kubeconfig 여러 개 사용하기(맥북) (0) | 2025.04.01 |
쿠버네티스 configmap 파일 yaml으로 저장하기 (0) | 2024.08.23 |