본문 바로가기

리눅스

쿠버네티스에서 모든 리소스를 삭제하는 방법

728x90

쿠버네티스에서 모든 리소스를 삭제하는 방법

쿠버네티스 주요 리소스 목록

  1. Pod (팟)
    • 컨테이너화된 응용 프로그램의 실행 인스턴스입니다.
    • 한 개 이상의 컨테이너를 포함할 수 있습니다.
  2. ReplicaSet
    • Pod의 복제본을 관리합니다.
    • 지정된 수의 Pod 복제본을 유지하고, 필요한 경우 새로운 복제본을 생성하거나 기존 복제본을 삭제합니다.
  3. Deployment
    • 애플리케이션 배포를 관리합니다.
    • ReplicaSet과 Pod를 조정하여 스케일링하고 롤링 업데이트를 수행합니다.
  4. Service
    • 서비스에 대한 로드 밸런싱을 제공하고 네트워크 요청을 Pod로 전달합니다.
    • 단일 접점으로 여러 Pod에 대한 액세스를 제공합니다.
  5. Ingress
    • 클러스터 내의 서비스에 대한 외부 액세스를 관리합니다.
    • 호스트 또는 경로 기반 라우팅을 통해 트래픽을 서비스로 전달합니다.
  6. Namespace
    • 클러스터 내의 리소스를 논리적으로 분리하는 가상화된 클러스터입니다.
    • 테넌시를 제공하고, 권한을 관리하며, 리소스를 그룹화할 수 있습니다.
  7. Secret
    • 비밀 정보를 저장하는 데 사용됩니다.
    • 인증 정보, 토큰, 암호 등을 저장할 수 있습니다.
  8. ConfigMap
    • 애플리케이션 설정을 저장하는 데 사용됩니다.
    • 환경 변수, 설정 파일 등을 저장할 수 있습니다.
  9. PersistentVolume (PV) / PersistentVolumeClaim (PVC)
    • 영구적으로 저장되는 데이터를 관리합니다.
    • 스토리지를 프로비저닝하고, Pod에 마운트하고, 스토리지를 관리합니다.

이 외에도 쿠버네티스에는 StatefulSet, DaemonSet, Job, CronJob 등 다양한 리소스가 있습니다. 이러한 리소스를 효과적으로 활용하여 애플리케이션을 관리하고 운영할 수 있습니다.

728x90

ingress-nginx 네임스페이스의 모든 리소스 목록 확인

kubectl get all -n ingress-nginx
$ kubectl get all -n ingress-nginx
NAME                                            READY   STATUS      RESTARTS   AGE
pod/ingress-nginx-admission-create-vs25v        0/1     Completed   0          5d19h
pod/ingress-nginx-admission-patch-xhtmg         0/1     Completed   1          5d19h
pod/ingress-nginx-controller-684995db94-zjt2h   1/1     Running     0          5d19h
pod/node-app-5776f68947-8km29                   1/1     Running     0          149m

NAME                                         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
service/ingress-nginx-controller             LoadBalancer   10.100.201.144   <pending>     80:32293/TCP,443:30103/TCP   5d19h
service/ingress-nginx-controller-admission   ClusterIP      10.100.87.56     <none>        443/TCP                      5d19h
service/node-app                             ClusterIP      10.107.176.19    <none>        3000/TCP                     149m

NAME                                       READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/ingress-nginx-controller   1/1     1            1           5d19h
deployment.apps/node-app                   1/1     1            1           149m

NAME                                                  DESIRED   CURRENT   READY   AGE
replicaset.apps/ingress-nginx-controller-684995db94   1         1         1       5d19h
replicaset.apps/node-app-5776f68947                   1         1         1       149m

NAME                                       COMPLETIONS   DURATION   AGE
job.batch/ingress-nginx-admission-create   1/1           5s         5d19h
job.batch/ingress-nginx-admission-patch    1/1           6s         5d19h

각 리소스를 삭제하는 방법

1. Pod 삭제

kubectl delete pod <pod-name>

2. ReplicaSet 삭제

kubectl delete rs <replicaset-name>

3. Deployment 삭제

kubectl delete deploy <deployment-name>

4. Service 삭제

kubectl delete service <service-name>

5. Ingress 삭제

kubectl delete ingress <ingress-name>

6. Namespace 삭제

kubectl delete namespace <namespace-name>
  • ingress-nginx 네임스페이스 삭제
kubectl delete namespaces ingress-nginx
$ kubectl delete namespaces ingress-nginx
namespace "ingress-nginx" deleted

7. Secret 삭제

kubectl delete secret <secret-name>

8. ConfigMap 삭제

kubectl delete configmap <configmap-name>

9. PVC 삭제

kubectl delete pvc <pvc-name>

10. 여러 리소스를 한 번에 삭제

kubectl delete pod,service <name>
  • 모든 Pod, ReplicaSet, Deployment, Service, Ingress 및 Secret을 삭제하는 명령어(namespaces : default)
kubectl delete pod,rs,deploy,service,ingress,secrets --all

11. 모든 리소스 삭제

  • 모든 Pod, ReplicaSet, Deployment, Service, Ingress, Secret 및 PersistentVolumeClaim(PVC)을 삭제하는 명령어(namespaces : default)
kubectl delete all,pvc --all

 

728x90