기타/K8S
Kubernetes) prometheus-statefulset 삭제 안됨 이슈_prom-operator
MightyTedKim
2022. 3. 16. 15:30
728x90
반응형
가끔 pod,pvc,ns 등이 제대로 지워지지 않을때가 있다.
pod는 --force로 지우면 되고 ns는 curl로 지우면 된다. pvc는 finalization을 주석하면 된다.
근데 prometheus 테스트할때, statefulset은 아무리 지워도 안지워진다.
$ kubectl delete statefulsets prometheus-prometheus -n monitoring --force --grace-period=0 --cascade=false |
이렇게 지원도 자꾸 살아난다.
https://stackoverflow.com/questions/45965247/cant-delete-a-stateful-set-in-kubernetes
k get event -w 로 봐도 로그가 찍히지 않는다.
---
테스트계라고 ns 없이 만든 누군가.. 왜 그러셨나요. 뭔짓을 해도 안지워짐 ㅜㅜ
$ k get all NAME READY STATUS RESTARTS AGE pod/prometheus-prometheus-0 2/3 ImagePullBackOff 1 15m pod/prometheus-prometheus-1 2/3 ImagePullBackOff 1 15m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.233.0.1 443/TCP 190d service/prometheus-operated ClusterIP None 9090/TCP 15m NAME READY AGE statefulset.apps/prometheus-prometheus 0/2 15m |
그러다가 찾음. 서비스로 prometheus-operated 가 자동으로 생성됨, 다른 ns에 prometheus-operated 가있지 않을까?
$ k get all -A | grep prometheus-operat default service/prometheus-operated ClusterIP None <none> 9090/TCP 20m kubesphere-monitoring-system service/prometheus-operator ClusterIP None <none> 8443/TCP 190d kubesphere-monitoring-system deployment.apps/prometheus-operator 0/0 0 0 190d kubesphere-monitoring-system replicaset.apps/prometheus-operator-d7fdfccbf 0 0 0 190d |
있다. 있어. 기존에 돌던걸 잠시 멈쳐주고 지움
k delete statefulset.apps/prometheus-prometheus |
지워짐. 왜 지워졌을까
$ k describe pod/prometheus-prometheus-0 Name: prometheus-prometheus-0 Namespace: default Priority: 0 Node: ***04/172.17*.**.*** Start Time: Wed, 16 Mar 2022 14:51:32 +0900 Labels: app=prometheus controller-revision-hash=prometheus-prometheus-5dc87bf8c5 prometheus=prometheus statefulset.kubernetes.io/pod-name=prometheus-prometheus-0 |
프로메테우스 오퍼레이터가 뭔지 먼저 살펴봤다.
https://devocean.sk.com/search/techBoardDetail.do?ID=163168
prometheus 띄워주는 아이라는거는 알았고, 다른 ns에 접근을 어떻게 했지.. role을 찾아보기로 함
$ k get sa NAME SECRETS AGE prometheus 1 137d prometheus-operator 1 137d $ k describe clusterrolebinding prometheus-operator Name: prometheus-operator Labels: app.kubernetes.io/component=controller app.kubernetes.io/name=prometheus-operator app.kubernetes.io/version=0.51.2 Annotations: <none> Role: Kind: ClusterRole Name: prometheus-operator Subjects: Kind Name Namespace ---- ---- --------- ServiceAccount prometheus-operator default |
우씨. clusterrole에 넣어놨네. 이거 때문이라고 추정.
ns default에 있는 모든 sa 지워줌, ns가 default로 되어있는 것도 지워줌.
아마 k8s 공부할 때 내가 그냥 clusterrole, ns default에 막 만든것 같다.
728x90
반응형