openinfradev / decapod-issues

place holder for epic, cross-repo issues, etc.
0 stars 0 forks source link

[Dev] TKS User 클러스터 ingress 컨트롤러용 ELB 생성 #21

Closed bluejayA closed 2 years ago

bluejayA commented 3 years ago

Describe the Story

- [ ] A clear and concise description of what this story is.

Terraform (terraform operator + terraform cloud) 으로 생성 테스트 수행 후 완성도, 사용성 평가 ==> terraform 사용법에 대한 문서화까지 위 결과를 바탕으로 사용 불가 시 crossplane 도입

필요정보:

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.

Additional information (Optional)

bluejayA commented 3 years ago

@ktkfree @kyuho24 님, 이 task는 규호님이 대부분 진행가능한걸까요? 태규님이 어느정도 commitment 해야 하는지 알려주시면 감사하겠습니다.

kyuho24 commented 3 years ago

@bluejayA 사용성 테스트 정도는 혼자 해도 될 듯 합니다. @ktkfree 리뷰어로 숙제 검사를 맡아 주시면 좋을 듯 합니다.

kyuho24 commented 3 years ago

Terraform cloud는 cloud에서 workspace(CLI version에서 terraform init를 하는 directory)를 관리해 주는 것 이다. 주요 부가기능으로 CSP credential등을 관리하는 Vault를 제공함. 따라서 Workspace에 접근하는 방법은 크게 아래 3가지 임 1) Terraform Cloud에 접속해서, 사람이 접근 2) Terraform Workspace를 VCS(즉,Git repo)에 연결 해서 Git repo를 통해 접근 (GitOps방식) 3) Terraform Workspace에 API로 접근 --> REST call, REST call 하는 Operator

위 방식 중, 자동화를 위해 2) 3) 방안 검토 필요

kyuho24 commented 3 years ago

Git Ops 방식 1) Terraform workspace 생성 (workspace type을 VCS 연동으로 설정) 2) 생성된 workspace에 VCS 연결. Private Repo의 경우 보안설정 3) GitOps Trigger 방식 설정 4) Trigger 시작버튼 누르기

1)4)를 자동으로 하는 방법 추가 고민 필요. Workspace 단위에 대한 고민 필요. Workspace별 CSP credential 관리됨으로 향후 진화를 위해서는 Cluster당 1개의 Workspace로 관리 해야 함, 이는 Terraform 을 쓰는 이상 기본 Concept임

kyuho24 commented 3 years ago

Terraform Cloud를 사용는 방법: https://tde.sktelecom.com/wiki/x/7hdcFw Terraform operator를 사용하는 방법: https://tde.sktelecom.com/wiki/x/YQ1cFw

추가 : ELB 생성을 User cluster에 설치된 elb controller가 자동으로 해 주게 하고, Terraform으로 DNS record만 생성 하는 것을 고려 할 필요 있음 (LB의 Backend pool관리를 떠 넘기기 위해서). 다만 생성된 ELB DNS는 user cluster에서는 알 수 있지만 Admin-cluster에서는 모름. 이를 해결하는 방법 찾아야 함.