Joo's
article thumbnail
반응형

crossplane으로 MetaResource를 만들면 AWS에 자동으로 리소스가 생성된다.

 

생성된 MetaResource를 지우면 AWS에서 리소스가 삭제된다.

 

근데 MetaResource를 지우려면 내가 어떤 type의 MetaResource를 만들었는지 알아야 한다.

 

GOD GPT4o에게 물어보니 명령어로는 할 수 없고, shell script를 만들어서 해야 한다고 한다.

(아래에 있는 명령어랑 같다.)

kubectl --kubeconfig=[config파일 경로] get "providerconfigusages.aws.upbound.io" -A

api_groups에 원하는 crossplane의 apiVersion을 넣으면 해당 api로 생성된 것만 볼 수 있다.

만약 kubeconfig가 따로 있다면 파일 경로를 넣어주면 된다.

#!/bin/bash

# Define the API groups to search for
# api_groups=("upbound.io" "aws.upbound.io" "azure.upbound.io" "gcp.upbound.io")
api_groups=("aws.upbound.io")

for api_group in "${api_groups[@]}"; do
  echo "Checking API group: $api_group"
  resource_types=$(kubectl --kubeconfig=[config 파일 경로] api-resources --api-group=$api_group -o name)
  for resource in $resource_types; do
    echo "Resources of type $resource:"
    kubectl --kubeconfig=[config 파일 경로] get "$resource" -A
    echo
  done
done

이 쉘 스크립트를 실행하면 이런 식으로 나온다.

메타 리소스를 삭제하려면

kubectl --kubeconfig=[config 경로] delete [RESOURCE-KIND] [RESOURCE-NAME]

이렇게 하면 삭제가 된다.

 

만약 종속된 리소스가 있으면 삭제가 되지 않고 꼬일 수 있으니 주의 할 것!

반응형
profile

Joo's

@JooJY

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!