집 보다 편한 곳은 없다.
SAS Studio 및 기타 SAS Viya 프로그래밍 클라이언트의 사용자는 작업할 때 운영 체제 홈 디렉토리를 사용하는 데 익숙합니다. Viya 3.4의 SAS Studio 이전 버전에서는 추가 구성 없이 가능했습니다. 2020.1 이후 버전에서는 추가 구성이 필요합니다. kubernetes의 Viya에서 홈 디렉토리를 사용할 수 있도록 하기 위해 몇 가지 설정이 필요합니다. 이 포스팅에서는 새로운 SAS Viya(2020.1 이상)의 SAS Studio 컴퓨팅 세션에서 홈 디렉토리를 사용할 수 있도록 하는 단계별 프로세스를 살펴보겠습니다.
유저는 nfs 서버와 같은 공유 저장소 형태에서 사용자의 홈 디렉토리를 사용할 수 있습니다. 새로운 SAS Viya(2020.1 이상)에서 이러한 홈 디렉토리를 사용할 수 있도록 하는 프로세스는 다음과 같습니다.
1. 컴퓨트 파드 템플릿에 주석을 달아 홈 디렉토리를 사용하여 nfs 서버가 있는 위치를 알려줍니다.
2. ID 서비스 구성을 업데이트하여 nfs의 홈 디렉토리 경로인 identifier.homeDirectoryPrefix를 설정합니다.
3. 파일 시스템 액세스를 위해 SAS Studio를 구성합니다.
컴퓨트 파드에 NFS 디렉토리 마운트
새로운 SAS Viya(2020.1 이상)에서 컴퓨팅 세션은 런처에 의해 실행됩니다. 런처 서비스는 Kubernetes 작업 요청을 구성하는 데 사용되는 정보가 포함된 Kubernetes PodTemplate을 찾습니다. PodTemplate 정보는 Pod에서 실행되는 컨테이너를 생성하는 데 사용됩니다. 파드의 컨테이너는 SAS 처리를 수행합니다. 컴퓨팅 파드 템플릿은 외부 콘텐츠를 사용할 수 있도록 구성을 추가해야 하는 장소입니다. 첫 번째 변경할 설정은 홈 디렉토리에 있어 반드시 필요한 부분은 아닙니다. 그러나 /shared/gelcontent에 있는 nfs에 저장된 데이터에 액세스하려면 이 정보가 필요합니다.
POD 템플릿에 공유 스토리지 마운트 추가
site-config/compute-server-add-nfs-mount.yaml에 볼륨(공유 스토리지의 경로)과 볼륨 마운트(컨테이너 내부에 볼륨을 마운트할 위치)를 추가하는 kustomize overlay를 생성합니다.
크게 보시려면 이미지를 클릭하시기 바랍니다.
모바일 버전: 이미지를 보시려면 페이지 하단의 풀 버전을 선택하세요.
kustomization yaml에서 패치 섹션에 패치를 추가하고 sas-compute-job-config를 대상으로 지정합니다.
이제 /gelcontent 위치에 있는 파드의 /shared/gelcontent에 저장된 데이터에 액세스할 수 있습니다.
컴퓨팅 POD 템플릿에 주석 달기
현재 환경에서 홈 디렉토리는 nfs 서버의 /shared/gelcontent/home에 있습니다.
컴퓨팅 파드 템플릿에 주석을 추가하는 kustomize overlay를 site-config/compute-server-annotate-podtempate.yaml에 생성니다. 주석 값은 nfs 서버의 fqdn입니다.
참고: 오버레이의 ~1은 / 문자에 사용되므로 kustomize는 /를 경로의 일부가 아니라 경로의 일부로 해석합니다.
주석. 생성된 yaml에서 경로는 다음과 같습니다. launcher.sas.com/nfs-server: rext03-0135.race.sas.com
kustomization yaml에서 패치 섹션에 패치를 추가하고 sas-compute-job-config를 대상으로 지정합니다.
이제 kustomization.yaml이 업데이트가 완료되었므로 site.yaml을 빌드하여 적용할 수 있습니다.
cd ~/project/deploy/gelcorp
kustomize build -o site.yaml
kubectl apply -f site.yaml
kustomization 프로세스에 대한 자세한 내용은 기사를 통해 확인하실 수 있습니다.
이제 컴퓨팅 POD에 사용할 수 있는 공유 스토리지를 사용할 수 있습니다. 하지만 더 많은 것을 다뤄야합니다. 컴퓨팅 파드는 현재 마운트할 nfs 서버의 경로가 아닌 nfs 서버만 인식하는 단계입니다. 홈 디렉토리 위치에 대한 경로는 다음 단계를 확인하시길 바랍니다.
ID 서비스 구성 업데이트
ID 서비스에서 속성 identifier.homeDirectoryPrefix를 설정해야 합니다. 일단 설정되면 소프트웨어는 identifier.homeDirectoryPrefix를 /shared/gelcontent/home/Henrik 등과 같은 ID 서비스에서 반환된 사용자 이름과 연결하여 주석에 지정된 nfs 서버에서 각 사용자의 홈 디렉토리를 마운트합니다. 자세한 내용은 이 문서를 통해 확인하실 수 있습니다.
환경 관리자의 Configuration > All Services에서 ID에 대한 구성 속성을 설정하려면 ID를 선택하고 sas.identities를 수정합니다. nfs 위치에 홈 디렉토리가 저장되는 상위 경로로 identifier.homeDirectoryPrefix를 설정합니다.
이 구성을 변경하려는 경우 ID 서비스를 다시 시작해야 합니다. 이를 위해 POD ID를 삭제하여 kubernetes는 새 ID를 시작합니다.
모든 단계가 완료되면 실행되는 다음 컴퓨팅 POD에서 홈 디렉토리를 사용할 수 있습니다.
kubectl delete pods -l app=sas-identities
SAS 스튜디오 구성
마지막 단계는 SAS Studio 구성을 업데이트하는 것입니다. 새로운 SAS Viya(2020.1 이상)에서 SAS Studio는 기본적으로 파일 시스템에 액세스할 수 없습니다. SAS Studio는 본래 파일 시스템에 대한 액세스 없이 구성됩니다. 그러나 파일 시스템에 액세스하고 NFS 마운트에서 사용 홈 디렉토리를 만들도록 Studio를 구성할 수 있습니다.
다음 단계에서는 환경 관리자를 사용하여 SAS Studio가 이를 수행하도록 구성합니다. 이러한 단계는 sas-viya 구성 CLI를 사용하여 일괄적으로 완료할 수도 있습니다.
환경 관리자의 Configuration > All Services에서 SAS Studio를 선택하고 sas.studio를 수정합니다. 대화창에서 다음과 같이 변경합니다.
"showServerFiles": Studio에서 파일 시스템에 액세스할 수 있도록 허용하려면 true
"serverDisplayName": Studio에서 노드 이름을 지정하려면 "NFS gelcontent”으로 변경합니다.
"fileNavigationRoot": "USER"는 사용자 홈 디렉토리에서 탐색을 시작하도록 합니다.
Studio 구성 설정에 대한 자세한 내용은 이 문서를 통해 확인하실 수 있습니다.
CAS에 대하여
이 포스팅은 Compute에 대해 다루었지만 CAS에서도 작동합니다. CAS에서 공유 홈 디렉터리를 사용할 수 있도록 하려면 두 가지 요구 사항이 있습니다.
정상적으로 작동하나요?
사용자 Henrik를 테스트하기 위해 다음 프로그램을 /shared/gelcontent/home/Henrik/gel_launcher_details.sas의 홈 디렉토리에 복사할 수 있습니다. SAS 및 CAS의 홈 디렉토리 설정을 보기 위해 일부 코드를 사용하여 Compute 및 CAS를 테스트할 수 있습니다.
/* list the attributes of this compute session*/
data _null_;
%put NOTE: I am &_CLIENTUSERNAME;
%put NOTE: My home directory is &_USERHOME;
%put NOTE: My Launcher POD IS &SYSHOSTNAME;
run;
/* is my CASUSER directory mounted from NFS */
cas mysession;
proc cas;
builtins.userinfo;
table.caslibinfo / caslib='CASUSER' verbose=true;
run; quit;cas mysession terminate;
run;
SAS Studio에 Henrik 사용자로 로그온하고 Henrik의 홈 디렉토리에 있는 프로그램에 액세스하고 실행할 수 있는지 확인하시기 바랍니다. 결과는 다음과 같아야 합니다.
참고: gif를 클릭하면 전체 크기로 볼 수 있습니다.
이 포스팅이 도움이 되었기를 바랍니다.
추가 정보:
How do I kustomize my Viya 4 deployment?
여기에서 SAS Global Enablement and Learning에서 더 많은 기사를 찾아보실 수 있습니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Early bird rate extended! Save $200 when you sign up by March 31.