관리자 페이지 사용 - Resource 관리

작성자 박형춘 수정일 2022-11-25 15:37

목록

들어가며

  • 이전 아티클에서 Node에 Label을 추가하는 방법을 알아 보았습니다.
    관리자 페이지 사용 - Node Labels

  • 이번 아티클에서는 'Admin -> Resource ' 페이지를 사용하는 방법을 알아보며, 이전 아티클에서 생성한 노드 라벨링이 어떻게 활용되는지 확인합니다.

  • 포탈 접속은 고객사에서 사전 신청한 도메인(url)로 접속합니다.초기 포탈 로그인 정보는 다음과 같습니다.
    User ID : superuser
    Password : superuser$01

  • 로그인 후 좌측 하단에 관리자 페이지로 이동하는 아이콘을 클릭해 관리자 페이지로 이동합니다. 
지난 아티클에서 관리 계정을 생성하였다면 해당 계정으로 접속합니다.




Resource 관리

  • 스파클링소다 Resource 관리는 이전에 추가한 User, Node Label을 조합하여 설정하며 Notebook, Model 학습, RestApp 등을 실행할 때에 생성한 리소스를 선택 가능하게 합니다.
     
  • 사용자는 본인에게 설정된 Resource Group의 Resource만 선택할 수 있습니다. 사용자에게 Resource Group에 구성된 Node Label의 특정 Node만 사용하게 하여 효율적인 자원 관리가 가능하게 합니다.
  • Settings -> Resource 탭을 클릭하면 Resource Groups 페이지로 이동합니다. 초기화면은 아래와 같습니다.

    - A : 등록된 리소스 그룹 리스트를 확인할 수 있습니다.

    - B : 해당 리소스 그룹에 설정된 유저 그룹 리스트를 확인할 수 있습니다.

  • 리소스 그룹을 추가하기 위해 우측 상단 Create를 클릭합니다.



Resource Group 생성

  • New Resource Group 페이지에서 리소스 그룹의 정보를 입력하고 해당 리소스 그룹을 사용할 유저그룹을 지정합니다.
    - Group Name : 생성할 리소스 그룹명을 기입합니다.
    - Group Description : 리소스 그룹의 설명을 작성합니다.
    - 유저그룹 리스트 중 리소스 그룹에 포함할 유저그룹을 우측으로 이동 시키고 저장합니다.
    - 예시는 아래와 같습니다.
  • 리소스 그룹이 생성된 것을 확인할 수 있습니다.
    리소스 그룹 이름을 클릭하여 리소스 그룹에 실제 할당할 리소스를 설정할 수 있습니다.



Resource 할당

  • Resource Group Detail 페이지에서 리소스 그룹이 선택 가능한 실제 리소스 설정을 진행합니다.
    유저그룹의 변경이 가능하며 Add 버튼을 클릭해 리소스를 추가합니다.

    - Resource Name : 리소스의 이름을 지정합니다.
    - Node Label : 해당 리소스를 실행할 노드의 라벨을 지정합니다.
지난 아티클에서 생성한 노드 라벨을 선택합니다.


           - CPU Unlimit : 'Node Label' 항목에서 선택된 노드의 전체 CPU Resource 를 할당합니다.

항목 체크 시 하위 cpu 리소스 설정 항목은 값을 입력할 수 없게 Disable 됩니다.


- Request CPU (Cores) : 파드 생성시 최소 요구되는 cpu 사양을 지정합니다. 

'1' 은 1000ms이며 500ms를 설정하려면 '0.5'를 입력합니다.

- Limit CPU (Cores) : 파드가 사용할 수 있는 최대 cpu 사양을 지정합니다.

노드 라벨에서 지정된 노드의 cpu 사양을 초과할 수 없습니다.

Request CPU 필드의 값과 같은 값으로 설정할 경우 100ms가 추가되어 반영됩니다.    

- Request Memory (GiB) : 파드 생성시 최소 요구되는 memory 사양을 지정합니다.

노드 라벨에서 지정된 노드의 memory 사양을 초과할 수 없습니다.

- Limit Memory (GiB) : 파드가 사용할 수 있는 최대 memory 사양을 지정합니다.

노드 라벨에서 지정된 노드의 memory 사양을 초과할 수 없습니다.


- GPU : 노드 라벨에서 지정된 노드의 gpu 리소스를 선택할 수 있습니다.

현재 노드에 gpu가 없기 때문에 공란으로 나오지만 gpu가 있는 장비에서는 아래와 같이 출력됩니다.


           - 리소스에 대한 설정을 마쳤으면 저장해줍니다.


* 주의 *
Node Label 에 두 개 이상의 Node 가 포함되어 있다면 표시되는 CPU/Memory/GPU 정보는 GPU 가 제일 적은 Node 를 기준으로 표시됩니다. 따라서 Node Label 생성 시 Resource 의 사용 범위를 고려하여야 합니다.


* 주의 *
"CPU Unlimit" 를 체크하면 Node Label 의 CPU 자원 전체를 사용하겠다는 의미이며 이 때 k8s 는 Node 자원을 기준으로 정확한 스케줄링을 수행하지 못합니다.
특정 Node 에 Pod 가 초과 배치될 수 있고 Node 의 자원이 부족하게 되면 "CPU Unlimit" 로 체크(Request 미설정) 된 Pod 는 요청량을 초과 사용하고 있다고 판단하여 우선적으로 퇴거(Evicted) 될 수 있습니다.
따라서 "CPU Unlimit" 로 Resource 사용 시 주의하여야 합니다.


** 리소스 요청에 따른 k8s 파드 스케줄링 정책
쿠버네티스 리소스 관련한 자세한 내용은 아래의 아티클을 참조하면 되겠습니다. 쿠버네티스 리소스 관리 알아보기




Resource 변경/제거

  • 우측 Setiings -> Resource 탭을 클릭해 리소스 그룹을 확인합니다.
  • 리서소 그룹의 Name 필드를 클릭하면 생성한 리소스 목록을 확인할 수 있습니다. 
    이 페이지에서 리소스를 추가/삭제하거나 할당할 유저 그룹을 변경할 수 있습니다.
  • 리소스 그룹을 삭제하려면 리소스 그룹을 체크하고 Delete 버튼을 클릭해 삭제합니다.




마무리

  • 이번 아티클에서는 리소스 설정하는 방법에 대해서 알아 보았습니다.
    노드의 리소스는 제한되어 있기 때문에 유저그룹/노드라벨을 활용하여 파드가 실행되는 노드의 리소스를 관리해주어야 합니다.
  • 다음 아티클에서는 Category 에 대해서 알아 보겠습니다.















































































아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300