Skip to content
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

korean documentation #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions docs/src/1.introduction
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
개요

SNUCSE GPU 서비스(SGS) 3.0

SNUCSE GPU 서비스(SGS) 3.0는 서울대학교 컴퓨터공학부 학생들에게 무료로 제공되는 서비스 입니다.
서비스를 이용하시기 전에, 본 메뉴얼을 숙지 바랍니다.

이 서비스는 연구 목적으로만 제공됩니다.
워크스페이스 신청서에 기재된 용도 이외의 사용은 삼가주세요.

서비스 기조
최선을 다해 본 서비스를 제공중입니다.
모든 사용자들에게 원활한 서비스를 제공하기 위해 바쿠스 구성원들이 최선을 다하고 있습니다.
다만, 기술적 문제, 유지보수, 타 사용자의 자원 사용 등으로 인해 차질이 있을 수 있습니다.

사용자의 컨테이너는 언제든 경고 없이 종료될 수 있습니다.
자료의 소실을 막기 위해 중요한 데이터는 반드시 지속 볼륨에 저장해주세요.
종료된 컨테이너의 소실된 데이터는 복구할 수 없습니다.

자원 분배 정책
자원 할당량 설정에는 보장과 한도의 두 가지 유형이 있습니다.
보장 할당량 만큼의 자원이 팟이 구동되는 동안 독점적으로 제공됩니다.
즉, 컨테이너가 아무 작업도 진행중이지 않더라도 다른 사용자가 해당 컨테이너에게 보장된 자원에 접근할 수 없습니다.

보장 할당량(GPU 포함)을 과도하게 할당했음에도 아무 작업도 진행중이지 않다는게 발견될 경우,
다음과 같은 조치를 취할 수 있습니다.
- 문제가 있는 컨테이너의 종료
- 워크스페이스의 비활성화
- 영구적인 서비스 이용 제한

한도 할당량은 워크스페이스 내 모든 컨테이너가 사용 가능한 자원량의 최댓값입니다.
여유있게 신청가능하지만, 보장 할당량을 설정하지 않는 이상 자원 제공이 보장되지 않습니다.

정리
자원 회수를 위해 바쿠스는 오래된 컨테이너를 주기적으로 정리중입니다.
컨테이너 정리가 이루어지는 시기는 구체적으로 다음과 같습니다.
- 봄/가을학기가 시작할 떄
- 여름/겨울방학이 시작할 때
정리 작업에 앞서, 바쿠스는 워크스페이스 사용자에게 연락을 취할 것입니다.
기한 내에 응답이 없을 경우, 해당 워크스페이스는 우선 비활성화되고, 이후 삭제됩니다.
한 번 삭제된 워크스페이스의 데이터는 복구할 수 없습니다.

보안 정책
일반적으로, 각각의 워크스페이스는 여러 사용자가 동시에 사용하는 리눅스 운영체제와 유사한 보안 기능을 가집니다.
예를 들어, 다음 정보는 다른 사용자들도 볼 수 있습니다.
- 팟과 컨테이너의 이름
- 컨테이너의 이미지
- 컨테이너에서 구동중인 명령어

반면, 다음 정보는 다른 사용자가 보지 못합니다.
- 지속볼륨과 임시 저장소의 내용물
- 비밀의 내용물(?)
- 컨테이너의 로그
서비스의 보안을 테스트해야 할 경우, 바쿠스에게 미리 연락 부탁드립니다.

문의
SGS는 바쿠스 구성원들이 개발했고, 서비스 중입니다. 질문은 [email protected]로 문의해 주시기 바랍니다.
31 changes: 31 additions & 0 deletions docs/src/2.changes from 2.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
기존의 SGS 2.0을 사용해보신 경우, 3.0에 적용된 다음 변경사항을 확인 바랍니다.

워크스페이스 신청
워크스페이스 및 할당량을 관리 가능한 통합된 시스템을 개발했습니다.
이제 웹 인터페이스에서 바로 워크스페이스를 신청할 수 있습니다.

더 이상 자원 할당량을 설정하기 위해 UserBootStrap을 작성하실 필요가 없습니다.

노드
하나의 클러스터에서 여러 개의 노드를 관리하게 됐습니다.
각각의 노드는 하나의 노드그룹(학부, 대학원)에 소속되고, 각각의 팟은 하나의 노드그룹에 소속됩니다.
워크스페이스 내 팟은 기본적으로 노드그룹 내의 노드들에서만 구동됩니다.
특정 노드에서 구동해야 할 경우, 팟 설정에서 nodeSelectors를 사용해주세요.

자원 모델
CPU와 메모리의 보장 할당량은 더이상 기본제공되지 않습니다.
해당 기능이 반드시 필요할 경우, 워크스페이스 신청서에서 정당한 사유를 작성해주셔야 합니다.

팟의 CPU, 메모리 제한은 이제 LimitRange를 통해 자동으로 설정됩니다.
하나 이상의 컨테이너(하나의 팟 내 여러 컨테이너, 여러 개의 팟, 혹은 모두)를 동시에 구동해야 할 경우, 팟 설정의 제한을 조절해주세요.


권한
노드에 관한 정보를 조회할 수 있습니다.
더 이상 사용가능한 노드의 자원을 확인하기 위해 바쿠스에 문의하실 필요가 없습니다.

하나의 워크스페이스에 다른 유저가 추가될 수 있습니다.
학교 수업 등, 다른 유저와 협업하는 경우, 워크스페이스를 공유할 수 있습니다.

기본적인 표준 팟 보안이 요구됩니다.
과도한 제한으로 작용하는 경우, 문의해 주시기 바랍니다.
9 changes: 9 additions & 0 deletions docs/src/3.request a workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
워크스페이스 신청

시작하기에 앞서, 학부생 그룹 혹은 대학원생 그룹에 가입된 스누씨 계정이 필요합니다.

SGS 워크스페이스 관리 페이지의 신청서를 작성해 주세요.
신청서 제출 후엔 워크스페이스가 승인대기 상태가 됩니다.
바쿠스 부원이 신청서를 검토합니다. 승인 후, 워크스페이스가 사용가능 상태로 전환됩니다.
사용자 목록과 자원 할당량 변경 신청은 언제든지 가능합니다. 변경 사유를 기술해 주세요. 워크스페이스 신청과 마찬가지로, 바쿠스 부원이 검토합니다.

20 changes: 20 additions & 0 deletions docs/src/4.configure access
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
접속 설정

CLI 도구 설치
클러스터에 접속하기 위해 Kubernetes CLI 도구와 인증 플러그인을 설치해야 합니다.
kubectl
추가바람
kubelogin
추가바람

kube 설정 파일 다운로드
SGS 워크스페이스 관리 페이지에서 사용가능 상태인 워크스페이스를 열어주세요
다운로드 버튼을 눌러 설정 파일을 다운받습니다

다운로드받은 파일을 기본 경로에 옮겨주세요. 기본 경로는 다음과 같습니다.



중간점검을 위해 kubectl auth whoami 명령어를 사용해주세요. 스누씨 id에 로그인하는 웹브라우저 창이 열립니다.
로그인 후에 아래와 같은 화면을 보실 수 있습니다.
SGS를 사용할 준비가 끝났습니다.
14 changes: 14 additions & 0 deletions docs/src/5.query node details
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
노드 요청 세부사항

SGS는 소믈리에 쿠버네티스 클러스터 위에서 동작합니다.
현재, 이 클러스터는 세 개의 일반 노드와 두 개의 작업 노드로 구성돼 있습니다.

아래와 같은 kubectl 명령어를 통해 사용가능한 노드들의 목록을 조회 가능합니다.

컨테이너는 워크스페이스의 노드들 중 하나에 자동적으로 할당됩니다.

위의 출력예시의 경우, bentley는 다음과 같은 전체 사용가능 자원을 가지고 있습니다.
자원 할당가능 할당됨
cpu
메모리
gpu
37 changes: 37 additions & 0 deletions docs/src/6.1.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
사용예시

권장 작업 절차
데이터를 안전하게 보존하면서도, 사용가능한 자원을 효율적으로 이용하기 위해 다음의 절차를 권장합니다.

1. 코드 작업을 위해 GPU 자원 없이 팟을 생성해주세요. 작업물은 지속볼륨에 저장되어야 합니다. 지속형볼륨 예시를 참고 바랍니다.
2. 코드를 테스트하거나 디버깅하기 위해 GPU 셸을 이용해주세요. GPU 셸 예시를 참고 바랍니다. 다만, 사용자의 지속볼륨에 마운트되어야 합니다.
GPU를 적극 사용중이지 않은 경우, 가급적 GPU 셸 사용시간을 제한해주세요.
3. 코드가 준비되면 GPU 작업으로 구동해주세요. 작업완료 후 반드시 자동 종료되어야 합니다.

간단한 임시 셸
셸을 종료하면 셸을 비롯한 파일시스템 내의 모든 파일들이 즉시 삭제됩니다. 데이터가 보존되지 않습니다.

간단한 지속 셸
셸을 재시작하면 데이터가 보존되지 않습니다. 데이터를 보존하려면 지속볼륨 예시를 참고해 주세요. 지속볼륨을 사용하지 않아서 발생한 데이터 소실은 복구할 수 없습니다.

지속 볼륨
재시작 후에도 데이터를 보존해야 할 경우, 지속 볼륨을 사용해주세요.
위 예시의 경우, 100GB의 볼륨을 /data 경로에 마운트했습니다. 지속볼륨을 삭제하면 사용자 데이터가 완전히 소실됩니다.

GPU 셸
GPU를 사용가능한 셸을 생성하려면 아래 예시와 같이 해주세요.
위 예시의 경우, 네 장의 GPU가 장착된 팟을 생성했습니다. 이 GPU는 팟이 구동되는 동안 독점적으로 할당됩니다.

할당받은 GPU가 장기간 아무 계산도 수행하지 않을 경우, 해당 팟은 경고 없이 종료됩니다.
또한 해당 사용자에 대해 영구적인 접근 제한이 있을 수 있습니다. 본 동아리는 GPU 사용을 적극적으로 관찰하여 남용을 적발해낼 것입니다.
이 경고사항은 보장 할당량이 적용된 CPU 및 메모리 자원에 대해서도 동일합니다.

GPU 작업
GPU 셸과 유사하지만, 프로세스가 종료된 후 셸(및 GPU 자원)이 해지됩니다.

restartPolicy: Never 옵션과 바뀐 명령어를 확인해주세요.

저장공간의 절약을 위해 로그가 편집될 수 있고, 팟을 삭제하면 영구히 삭제됩니다. 로그를 보존해야 할 경우, 지속 볼륨에 저장할 것을 권장드립니다.

완료된 팟은 자원을 사용하지 않습니다. 하지만 네임스페이스가 어질러지거나 이름이 중복되는걸 방지하기 위해서는 불필요한 팟을 삭제하는 것이 좋습니다.

10 changes: 10 additions & 0 deletions docs/src/6.run your workload
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
작업물 구동
예시 페이지를 확인 부탁드립니다.

저장소
컨테이너의 루트 저장시스템은 일시적이기 때문에 컨테이너가 종료되면 모든 것이 소실됩니다.
또한 컨테이너는 최대 10GiB의 임시저장소에 저장될 수 있어야 합니다.
작업물이 이 제한을 초과할 경우, 컨테이너가 자동적으로 종료됩니다.

데이터를 저장하는데에 지속볼륨을 사용하는것을 적극 추천드립니다.
자세한 내용은 지속볼륨 예시 페이지를 참고 부탁드립니다.