Kubeflow 생성 및 관리
사전 작업
Kubeflow는 Kubernetes 위에서 실행됩니다. 따라서, Kubeflow를 사용하려면 먼저 카카오클라우드 Kubernetes Engine 서비스의 클러스터가 생성되어 있어야 하며, 사용하고자 하는 클러스터와 동일한 네트워크 및 서브넷으로 설정된 카카오클라우드 File Storage가 있어야 합니다.
이러한 작업을 위해 먼저 IAM '프로젝트 멤버' 이상의 권한이 필요하고, 추후 Kubeflow 생성을 위해서는 'Kubeflow 관리자 권한'도 필요합니다. 자세한 내용은 IAM 프로젝트 레벨 역할을 참고하시기 바랍니다.
클러스터의 네트워크가 프라이빗 서브넷일 경우, 프라이빗 서브넷의 노드는 인터넷 통신이 불가합니다. 프라이빗 서브넷의 노드가 인터넷을 통해 외부 CR과 통신하기 위해서는 NAT 통신이 필요합니다.
NAT 통신은 NAT Instance를 사용할 수 있으며, 자세한 내용은 NAT 인스턴스 사용을 참고하시기 바랍니다.
쿠버네티스 클러스터 생성
카카오클라우드 콘솔에서 Kubernetes Engine 메뉴를 선택하여, 쿠버네티스 기반의 클러스터를 생성합니다. 이미 생성한 클러스터가 존재한다면, 노드 풀 생성부터 시작하시기 바랍니다.
- 이미 Kubeflow 연결에 사용된 클러스터는 Kubeflow 만들기 시 재사용할 수 없기 때문에 새로운 클러스터로 연결해야 합니다.
- 쿠버네티스 클러스터 생성에 대한 자세한 설명은 클러스터 생성을 참고하시기 바랍니다.
- 인터넷 게이트웨이가 설정되지 않은 VPC의 경우 Kubeflow가 정상적으로 설치되지 않습니다.
노드 풀 생성
Kubeflow 생성에 필요한 필수 노드 풀과 옵션 노드 풀을 생성합니다.
-
카카오클라우드 콘솔 > Container Pack > Kubernetes Engine 메뉴로 이동합니다.
-
Cluster 메뉴를 클릭한 후, Kubeflow와 연결할 클러스터의 상세 화면으로 이동합니다.
-
노드 풀 탭으로 이동하여, [노드 풀 생성] 버튼을 클릭합니다.
-
노드 풀 생성 화면에서 필요한 정보 입력 후, [생성] 버튼을 클릭합니다.
(Kubeflow를 사용하기 위해서는 연결하고자 하는 클러스터에 반드시 Ingress 노드 풀과 Worker 노드 풀을 사전에 생성해 두어야 합니다.)Kubeflow 클러스터 노드 풀 최소 사양 정보
항목 구분 노드 풀 사양 정보 Ingress 노드 풀 필수 - 인스턴스 유형 : kr-central-1
의 경우 제한 없으며,kr-central-2
의 경우 t1i.small 인스턴스 이상부터 사용 가능
- 볼륨 유형/크기 : 50GB 이상
- 노드 수 : 1대 이상
- 노드 풀 자동 확장 : 사용 안 함Worker 노드 풀 필수 - 인스턴스 유형 : vCPU 2개 이상, 메모리 3GiB 이상 조건을 만족하는 인스턴스
- 볼륨 유형/크기 : 최소 100GB 이상
- 노드 수: 최소 5대 이상
- 노드 풀 자동 확장 : 사용 안 함CPU 노드 풀 선택 - 인스턴스 유형 : kr-central-1
의 경우 제한 없으며,kr-central-2
의 경우 t1i.small 인스턴스 이상부터 사용 가능
- 볼륨 유형/크기 : 최소 100GB 이상
- 노드 풀 자동 확장 : 사용 안 함GPU 노드 풀 선택 - 인스턴스 유형 : A100 그룹 중 선택 (p2i 인스턴스 패밀리)
- 볼륨 유형/크기 : 최소 100GB 이상
- 노드 풀 자동 확장 : 사용 안 함
- Kubeflow 만들기를 하기 전에 인그레스 컨트롤러의 ingress-nginx를 미리 설치하는 경우 오류가 발생할 수 있습니다.
혹은 이미 인그레스 컨트롤러로 사용한 경우 ingress-nginx 관련 리소스를 삭제한 후, Kubeflow 만들기를 진행해 주세요. - 생성한 노드 풀의 스케줄링 설정을
차단
으로 선택하는 경우, Kubeflow 만들기를 할 수 없습니다.
또한 Kubeflow 만들기 이후 해당 노드 풀을차단
으로 변경하는 경우, Kubeflow가 정상적으로 동작하지 않을 수 있습니다. 따라서, 반드시 스케줄링 설정을허용
으로 선택해 주세요.
파일 스토리지 인스턴스 생성
Kubeflow에서는 디폴트 파일 스토리지 외에 네임스페이스 별로 파일 스토리지를 지정할 수 있으며, 파일 스토리지 인스턴스 생성 방법은 다음과 같습니다.
Kubeflow 만들기에서 사용할 클러스터와 동일한 네트워크와 서브넷으로 설정된 파일 스토리지 인스턴스만 사용할 수 있습니다.
-
카카오클라우드 콘솔 > Beyond Storage Service > File Storage 메뉴로 이동합니다.
-
인스턴스 메뉴를 클릭한 후, [인스턴스 생성] 버튼을 클릭합니다.
-
아래 표를 확인한 후 정보를 입력하고, [생성] 버튼을 클릭합니다.
항목 구분 설명 네트워크 설정 네트워크 Kubeflow 만들기에서 사용할 클러스터와 동일한 네트워크로 선택 서브넷 Kubeflow 만들기에서 사용할 클러스터와 동일한 서브넷으로 선택 접근 제어 설정 설정된 네트워크 내 모든 프라이빗 IP에서의 접근을 허용