Viya 4 는 라이선스를 Kubernetes Secret 으로 보관한다. 이름은 배포마다 다르므로 먼저 찾는다.
kubectl get secret -n <namespace> | grep license
내용은 base64 로 인코딩돼 있다.
kubectl get secret <license-secret> -n <namespace> -o jsonpath='{.data.SAS_LICENSE}' | base64 -d | less
만료일과 포함 제품을 확인한다. 실제 키 이름은 릴리스에 따라 다를 수 있으므로 -o yaml 로 먼저 키를 본다.
Compute 파드는 이 시크릿을 환경 변수로 받는다.
kubectl -n <namespace> describe pod <compute-pod> | grep SAS_LICENSE
시크릿이 바뀌었다고 해서 서비스가 새 라이선스를 다시 읽은 것은 아니다. 라이선스를 캐시하는 서비스를 다시 띄워야 한다.
kubectl -n <namespace> rollout restart deployment sas-logon-app
kubectl -n <namespace> rollout restart deployment sas-compute
kubectl -n <namespace> delete pod -l app.kubernetes.io/name=sas-cas
전체 재기동이 부담스러우면 인증·컴퓨트·CAS 쪽만 먼저 처리한다.
반영 여부는 로그와 UI 양쪽에서 본다.
kubectl logs -n <namespace> deploy/sas-logon-app | grep -i license
kubectl logs -n <namespace> <cas-controller-pod> | grep -i license
SAS Environment Manager 의 About 화면에서 만료일과 제품 목록을 확인할 수 있다.
모델 생성 같은 메뉴가 보이지 않는다고 해서 반드시 라이선스 문제는 아니다. 순서대로 좁힌다.
관련 서비스 로그에 license 관련 오류가 전혀 없다면 라이선스 미포함일 가능성은 낮아진다.
시크릿에 새 라이선스가 들어 있어도 서비스가 옛 라이선스를 들고 있으면 기능이 노출되지 않는다. 위의 재기동과 로그 확인을 먼저 한다.
Viya 4 의 메뉴는 라이선스와 별개로 사용자에게 부여된 기능 권한에 따라 노출된다. SAS Administrators 그룹이나 해당 애플리케이션의 규칙에서 권한이 빠져 있으면 라이선스가 있어도 메뉴가 안 보인다.
kubectl -n <namespace> get pods | grep -i model
모델 관련 서비스 파드가 아예 없다면 배포에 포함되지 않은 것이다.
Python·R 모델을 Viya 의 모델 저장소에 등록하기 위한 오픈소스 구성 가이드는 이미 만들어진 모델을 가져와 관리하기 위한 설정이다. 모델 생성 기능을 켜거나 끄는 설정이 아니므로, 그 가이드를 적용했다고 해서 모델 생성 메뉴가 사라지지는 않는다.