cb-spider
cb-spider copied to clipboard
[AWS:Cluster] Change the subnet configuration to 'Enable auto-assign public ip address'
cc) @sykim-etri
[개요]
- AWS K8S Cluster의 경우,
- Cluster 생성시 서로 다른 Zone에 생성된 2개 이상의 Subnet의 입력이 필요하며,
- Spider Connection의 경우, 고정된 단일 Zone만 제공으로 AWS Cluster 생성이 불가했었습니다.
- 최신 버전은 다음 Zone-Level 제어 반영으로 인하여 AWS Cluster 생성 시험이 가능하게 되었습니다.
- AWS Driver: https://github.com/cloud-barista/cb-spider/pull/1135
- Serve/AdminWeb: https://github.com/cloud-barista/cb-spider/issues/1067#issuecomment-2032196281
[개선 요청]
- 현재 Cluster 생성은 성공하지만, NodeGroup을 배포하게 되면,
- subnet이
auto-assign public IP
설정이 필요하다고 Fail이 발생 합니다. - 관련하여 추가 확인 및 특별한 이슈가 없을 경우 subnet 생성시
auto-assign public IP
옵션으로 반영 부탁 드립니다. - 현재는 AWS Console에서 다음과 같이 수동 설정하면 잘 배포가 됩니다.
- 참고
-
[ASW 통합 시험 현황 및 점검 필요]
- AWS Cluster 통합 시험 과정에서,
- Kubeconfig 제공 받기 위해서 Driver에 다음과 같이 임시 코드 블록 추가 반영 후 통합 시험을 진행하였습니다.
- https://github.com/cloud-barista/cb-spider/commit/02d3dfb594cb24e1e2966335bf58472978921d05
- 관련하여, 확인 및 점검 또는 필요시 개선 부탁 드립니다.
- 일단, 현재 반영 버전으로 제공되는
Kubeconfig
를 활용하여 다음과 같은 시험은 완료한 상태입니다. - Third Party 도구(OpenLens) 활용한 Cluster 원격 연동/제어
- Cluster 연동 및 노드 모니터링
-
- Cluster 연동 및 노드 모니터링
-
- Nginx 배포 및 접속 확인
-
-
※ 사실, OpenLens의 경우에는 순수하게 Kubeconfig로만 접속하는 상황은 아닙니다.
- 내부 형상은 정확히 파악이 안되었지만,
- OpenLens는 AWS Cluster 접속을 위해서는 aws cli의 사전 설치가 필요하고,
- 뿐만 아니라
aws configure
설정(Access Key, Secret Access Key)도 필요합니다. - 그 이후에 Kubeconfig를 활용하여 접속할 수 있습니다.
-
aws cli
를 함께 사용한 연동 방법이 정석인지 어떤지는 아직 잘 모르겠네요. - Cluster 보안을 생각한다면, 필요한 거 같기도 하고...
- 혹시, 관련 사항 아시는 부분이 있다면 공유 부탁 드립니다.
- OpenLens는 AWS Cluster 접속을 위해서는 aws cli의 사전 설치가 필요하고,
- 뿐만 아니라
aws configure
설정(Access Key, Secret Access Key)도 필요합니다.- 그 이후에 Kubeconfig를 활용하여 접속할 수 있습니다.
aws cli
를 함께 사용한 연동 방법이 정석인지 어떤지는 아직 잘 모르겠네요.- Cluster 보안을 생각한다면, 필요한 거 같기도 하고...
- 혹시, 관련 사항 아시는 부분이 있다면 공유 부탁 드립니다.
-
예전에 살짝 공유드렸던 GCP의 client-go credential plugins와 동일한 방식으로 파악됩니다.
-
관련 문서들을 대략 살펴보면 GCP와 AWS에서는 OIDC(OpenID Connect) 방식의 인증 등도 지원하는 것으로 보이고, 타 CSP의 지원 방식인 X509 인증 방식(?) 지원 여부에 대해서는 명확하게 확인되지 않긴 하지만 지원하지 않는 것으로 추측됩니다.
@sykim-etri
- 정보 공유 캄사 드립니다.
- 현재, 제 생각으로는 Spider 제공 정보를 활용하여
- 다음 2가지 방법으로 연동/제어 가능하다면 크게 문제는 없을 것 같습니다.
- (1) kubectl
- (2) OpenLens
[Plan] from slack
-
[1] 임시 반영
- https://github.com/cloud-barista/cb-spider/pull/1206
- 향후,
auto-assign public IP
설정 영향 및 해제 시점 등 고려 필요
@MZC-CSC @raccoon-mh @sykim-etri
-
[2] 2개 Cluster 생성 후 Spider가 제공하는 각 Cluster의 Kubeconfig 활용한 동작 시험 완료
-
시험 시나리오(with AdminWeb)
- (1) VPC 및 VPC 내에 서로 다른 zone에 subnet을 1개씩 총 2개 생성
- (2) SecurityGroup 생성
- (3) 생성한 정보를 이용하여 Cluster 생성 요청
- (4) Cluster
ACTIVE
상태가 되면, NodeGroup 추가 - (5) Cluster
ACTIVE
상태가 되면, AdminWeb에서 Kubeconfig를 제공하며, OpenLens에 kubeconfig 등록 - (6) OpenLens/Helm 통해 K8S에 kube-prometheus 설치 => Cluster 모니터링 정보 제공 확인
- (7) OpenLens/Helm 통해 K8S에 nginx 설치 => nginx default page 확인
- (8) 동일 VPC/Subnet 2개 이용해서 신규 Cluster 및 노드그룹 추가 후 위 시험 반복
-
OpenLens: spider-cluster-01 연동 화면
-
-
OpenLens: spider-cluster-02 연동 화면
-