-
Notifications
You must be signed in to change notification settings - Fork 51
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
Seamless K8s Cluster Provisioning Support #1582
Changes from 3 commits
85cc6e7
fb4f126
0d57cae
d7b0e81
8b07b57
311c3eb
b70eccb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# Configuration for Cluster(Kubernetes) of Cloud Service Providers (CSPs) | ||
# This file is used to define the feature of clusters | ||
|
||
# The file is in YAML format and contains the following fields: | ||
# k8scluster: Top level key | ||
# <csp>: Name of the CSP | ||
# nodegroupsWithCluster: | ||
# version: | ||
# - region: [region1, region2, all(special keyword)] | ||
|
||
k8scluster: | ||
nhncloud: | ||
nodegroupsWithCluster: true | ||
version: | ||
- region: [kr1, kr2] | ||
available: | ||
- name: 1.28 | ||
id: 1.28.9-aliyun.1 | ||
- name: 1.26 | ||
id: 1.26.15-aliyun.1 | ||
- name: 1.24 | ||
id: 1.24.6-aliyun.1 | ||
- region: [jp1] | ||
nodeImage: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
일부 CSP(ex. Alibaba)의 경우 콘솔에서 확인되는 가용 Node Spec이 VM Spec과는 다른 경우가 왕왕 보이긴 하지만 assets/cloudspec.csv에 등록된 VM의 Spec들과 크게 차이가 나지는 않는 것으로 보여서 기존 VM의 Spec 관리 체계를 활용해볼 예정입니다.
K8s용 이미지들도 기존 VM의 Image 관리 체계(assets/cloudimage.csv)에 별도 필드(container runtime, gpu, ...)를 추가하여 통합할 방법을 고려해보겠습니다. 참고로 K8s 이미지의 경우 CSP별로 자체 최적화한 이미지(자동 업그레이드 기능 연동 등) 사용을 추천하고 있습니다. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. RecommendK8sClusterSpec 방식이 아닌 노드 스펙 필터링 후 이용 가능한 버전 등을 제공하는 방식으로 진행하기로 함. |
||
- region: [kr1] | ||
available: | ||
- name: default | ||
id: default | ||
- name: aliyun 3.9 | ||
id: aliyun_3_9_x64_20G_alibase_20231219.vhd | ||
- region: [kr2] | ||
available: | ||
- name: default | ||
id: default | ||
- name: aliyun 3.9 | ||
id: aliyun_3_9_x64_20G_alibase_20231219.vhd | ||
- region: [jp1] | ||
rootDisk: | ||
- region: [all] | ||
type: | ||
- name: default | ||
id: default | ||
- name: basic | ||
id: CLOUD_BASIC | ||
size: | ||
min: 10 | ||
max: 40 | ||
alibaba: | ||
nodegroupsWithCluster: true | ||
version: | ||
- region: [all] | ||
available: | ||
- name: 1.28 | ||
id: 1.28.9-aliyun.1 | ||
- name: 1.26 | ||
id: 1.26.15-aliyun.1 | ||
- name: 1.24 | ||
id: 1.24.6-aliyun.1 | ||
nodeImage: | ||
- region: [eu-west-1] | ||
#configurable: true | ||
available: | ||
- name: default | ||
id: default | ||
- name: aliyun 3.9 | ||
id: aliyun_3_9_x64_20G_alibase_20231219.vhd | ||
- region: [eu-west-2,kr2] | ||
rootDisk: | ||
- region: [eu-west-1] | ||
type: | ||
#configurable: true | ||
- name: default | ||
id: default | ||
- name: basic | ||
id: CLOUD_BASIC | ||
size: | ||
#configurable: true | ||
min: 10 | ||
max: 40 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Q: 버전 별로 가용 이미지가 변하지는 않나요? (예를 들어, 1.24.6-aliyun.1은 aliyun_3_9_x64_20G_alibase_20231219.vhd 를 사용할 수 없다든지)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AWS, GCP, Azure, Alibaba, Tencent, NHNCloud, NCPVPC의 경우 버전별로 가용 이미지가 다르진 않는 것으로 파악되었고, IBM은 불명확하나 제약이 있는 것으로 보이진 않습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sykim-etri 확인 감사합니다. 그럼 Spec, Image 와는 별도로 관리하면 좋을 것 같습니다.
사용자가 API로 가용 version 리스트 확인이 가능하게 하고, 클러스터 생성/노드 추가시에 해당 값을 사용할 수 있도록 해두면 좋을 것 같습니다. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
k8sclusterinfo.yaml에 저장된 내용을 확인할 수 있는 API는 가능한데, 어떤 시나리오에서 활용이 되는 걸까요?
CSP에서 가용 Version 목록 조회가 가능한 API가 있는 경우도 있는데, 현재 CB-SP에서는 지원하지는 않고 있습니다만 추후 지원시 k8sclusterinfo.yaml 대신 CB-SP를 통해 해당 정보를 전달할 수 있을 것 같습니다.
참고로 버전 정보는 클러스터 생성시에만 적용 가능한 상황입니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RecommendK8sClusterSpec 방식이 아닌 노드 스펙 필터링 후 이용 가능한 버전 등을 제공하는 방식으로 진행하기로 함.