cloud-barista / cb-spider

CB-Spider offers a unified view and interface for multi-cloud management.
https://github.com/cloud-barista/cb-spider/wiki
Apache License 2.0
32 stars 47 forks source link

[GCP:Cluster] when calling SetNodeGroupAutoscaling(off -> on), how do we handle it? #1329

Open sykim-etri opened 2 weeks ago

sykim-etri commented 2 weeks ago

(PMKS) 개발,시험,이슈현황 내 GCP 행의 기타 이슈에 아래와 같은 내용이 있으며, 현재 시험 결과도 동일하게 off->on으로 변경시 min: 0, max: 0으로 이전 사용값으로 변하지는 않습니다.

* AutoScaling 설정변경 (현재설정으로는 끄기만 가능)
  on -> off : SetNodeGroupAutoScaling 으로 설정가능
  off -> on : max, min 값 필요

어떻게 처리하는 것이 좋을 지에 대한 의견 부탁드립니다.

sykim-etri commented 2 weeks ago

고려할 수 있는 방법으로는 keypair 저장 방식과 유사하게, nodepool의 autoscaling 관련 정보를 labels에 저장해 두는 방법이 있겠습니다.

powerkimhub commented 2 weeks ago

@sykim-etri


sykim-etri commented 2 weeks ago

SetNodeGroupAutoScaling(false) 호출하면 GCP에서는 MinNodeSize, MaxNodeSize 값을 관리하지 않은 것으로 보입니다. 더불어 SetNodeGroupAutoScaling(true) 호출시 MinNodeSize와 MaxNodeSize 값이 설정되어 있지 않아도 에러를 리턴하지는 않고 MinNodeSize와 MaxNodeSize 값을 각각 0으로 관리하고 있습니다.

또한 CreateCluster()나 AddNodeGroup()시 MinNodeSize와 MaxNodeSize를 설정하지 않은 경우도 각각 0으로 관리하고 있습니다. 이때 실제 생성되는 노드 수는 DesiredNodeSize만큼은 생성되었습니다.

sykim-etri commented 2 weeks ago

임시 대응책으로 SetNodeGroupAutoScaling(true) 호출시 실제 ON으로 변경한 후 false 및 에러(ChangeNodeGroupAutoscaleSize로 설정값을 변경하도록 안내)를 리턴하는 방법도 있을 것으로 생각됩니다.

powerkimhub commented 2 weeks ago

@sykim-etri


[코드 분석]


[동작 시험]

[제안 방법]

  - GCP는 min, max 값 설정은 on 상태에서만 가능. 
  - 그래서, Driver ChangeNodeGroupScaling 코드를 보면, 설정 시에 명시적으로 on 시키고 있음.