-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Dev] User Cluster를 삭제하는 워크플로우 개발 #7
Comments
아래 단계로 작업을 수행하거나 다른 워크플로우를 호출하는 워크플로우 개발
|
우선 가장 기본적인 ArgoCD App 삭제 및 DB 삭제를 위한 코드 추가 진행 중
|
혹시 cluster 삭제시 DB 값은 삭제하지 않고 status만 변경하기로 했었는지 확인 필요 |
tks-proto 및 tks-info 의 delete cluster API 는 아래 티켓에서 제가 처리하면 되겠습니다. proto I/F 는 작업후 공유 드리겠습니다. 이 티켓에서는 delete workflow 만 처리하면 될 것 같아요. |
openinfradev/tks-proto#28 올려놓긴 했는데, 어떻게 할까요?? |
lint 에러가 발생하고 있네요. WIP 으로 올리셨으니 close 하시면, 제가 lint 확인 및 다시 PR 올리겠습니다. 아울러 아래 flow 로 삭제를 생각하고 있는데, 한번 확인 부탁 드립니다. ( 생성 과 삭제가 살짝 다릅니다. )
|
@ktkfree 더이상 커밋할 내용은 없어서 WIP 문구는 제거하였습니다. 올리신 flow는 동의합니다 |
아래 브랜치에 workflow 초안 작성해서 올리고 테스트 중입니다. cluster CR 삭제가 예상과 달리 비동기 방식으로 진행되므로, busy-waiting 로직 추가하여 다시 테스트 예정. |
넵, 해당 PR 이 linter version 문제라서 super-linter v4 로 올리도록 매니저님 branch 에 수정했고, merge 했습니다 ^^ |
tks-cluster-lcm 에 api 를 추가했습니다. tks-admin-v2 에서 테스트 가능할까요? |
테스트 진행하다가 ArgoCD 앱 삭제 단계에서, cluster-api 를 제외한 csi-driver 등의 app들이 삭제되지 않고 hang 걸리는 증상이 발생했고, 에러는 다음과 같습니다.
k8s-API 에 접근하지 못하는 에러인 걸로 보아, 이 앱들을 먼저 삭제하고 cluster를 가장 마지막에 삭제해야할 것 같습니다. 기존 코드에 간단히 argocd app delete 명령 추가해서 지워보려 했더니, app delete도 비동기 방식이라 삭제 후 busy-waitiing 구문 넣어서 삭제 완료된 것 확인하고 넘어가야 하네요. 결국 'by-label'로 동작하는 기존의 delete-apps 외에 개별 app 삭제가 가능한 WF도 추가로 만들어야겠습니다. (마침 승규님도 오늘 개별 앱 삭제가 필요하다 요청 주셨으니..) |
위와 같이 delete-apps 부분 확장하고, 이 template 호출해서 addon 및 csi-driver app 삭제를 각각 진행하도록 했는데, 이번엔 단일 app 내에서 deployment 나 daemonset 이 삭제가 제대로 안되고 hang 걸리는 증상이 있습니다.
prometheus CR 처럼 삭제 순서의 문제일 수도 있지만, 에러 메세지상 다른 원인이 있을지 모르니 확인이 필요할듯 합니다. |
에러 메세지를 차분히 보니 분명 CNI 와 관련된 에러로 보였고, 실제 app 삭제 시에도 calico daemonset 이 삭제된 후 위의 에러가 발생하는 것으로 보여서, 삭제 순서를 다음과 같이 바꾸니 해결되었습니다
그 이후 cluster(=cluster-api-aws) app 까지 무사히 삭제됩니다! :) |
Describe the Story
- [ ] A clear and concise description of what this story is.
클러스터 삭제 workflow template 개발 (주관님 코멘트 내용 병합)
(App 삭제 워크플로우 (LMA/Service-mesh)는 LCM에서 별도 호출하니 제외)
Acceptance criteria (Validation Scenario)
- [ ] This is something that can be verified to show that this story is satisfied.
- [ ] This should have information for QA to validate this story
산출물: Argo Workflow template
Additional information (Optional)
서비스 삭제 : https://github.com/openinfradev/tks-issues/issues/97
GIt repo 삭제: https://github.com/openinfradev/tks-issues/issues/166
The text was updated successfully, but these errors were encountered: