반응형
Kubernetes 리소스에 사용자 지정 최종 사용자 구현
내가 Kubernetes CRD를 구현하고 있다면 커스텀을 구현하는 것 같다: 코드 스니펫은 객체의 첫 번째 삭제 요청이 처리하는 최종자를 실행하기 위해 객체를 감시하는 사용자 지정 컨트롤러를 트리거하는 객체를 삭제하는 대신 필드에 대한 값을 설정하기 때문에 매우 쉽다.
그러나 네임스페이스, 배포 또는 기타와 같은 기본 Kubernetes 리소스에 대해 a를 설정한다고 가정해 보겠습니다. 가능한가요?
예를 들어 테스트를 해봤습니다.
# k create ns my-namespace
namespace/my-namespace created
# k edit ns my-namespace
(... adding the .metadata.finalizers list)
# k get ns my-namespace -o yaml
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: "2019-09-08T06:50:25Z"
finalizers:
- prometherion/do-something
name: my-namespace
resourceVersion: "1131"
selfLink: /api/v1/namespaces/my-namespace
uid: 75b5bae8-1d5b-44c6-86bc-e632341aabfd
spec:
finalizers:
- kubernetes
status:
phase: Active
# k delete ns my-namespace
namespace "my-namespace" deleted
다른 단말기를 열면 상태의 리소스를 볼 수 있습니다.
# k get ns my-namespace
NAME STATUS AGE
my-namespace Terminating 6m8s
따라서 실제로 리소스가 삭제된 것으로 표시됩니다:
k get ns my-namespace -o jsonpath='{.metadata.deletionTimestamp}'
2019-09-08T06:58:07
삭제를 완료하기 위해서는 객체의 변경(또는 이벤트를 가져오기 위해서는 a), 비동기 모드에서 비즈니스 로직을 처리하고(예: 삭제 전 후크), 완전한 최종 사용자를 제거하는 간단한 작업(Kubernetes Go Client 사용)이 필요합니다... 단순성을 위해 제거 테스트를 해봤는데 효과가 있었습니다.
참고로, 과정이 있기 때문에 완전한 자격이 있어야 하기 때문에 패턴에 따라 선언해야 하며, 주의해서 첫 번째 부분은 사양을 준수해야 합니다.
최종 결정자가 있기 때문에 완전히 삭제하는 데 시간이 좀 걸렸습니다
반응형
'개발하자' 카테고리의 다른 글
카운트가 있는 리소스에 대한 테라폼 출력 (0) | 2023.03.10 |
---|---|
떨림: 드롭다운 항목과 드롭다운 단추 선택 항목에 대해 다른 색상을 설정하는 방법은 무엇입니까? (0) | 2023.03.09 |
어떻게 yaml에 의해 비밀 파일을 쿠버네티스 비밀로 설정합니까? (0) | 2023.03.08 |
플러터에서 텍스트를 수직 및 수평으로 중앙에 배치하려면 어떻게 해야 합니까? (0) | 2023.03.08 |
Google 지도 앱 열기(플러트와 함께 사용 가능한 경우) (0) | 2023.03.07 |