Web SSH는 웹 브라우저에서 cluster 활용을 위한 CLI 환경을 제공하기 위해 SSH 세션을 연결합니다. 이 기능은 웹 브라우저 확장 프로그램이나 추가 소프트웨어를 설치하지 않아도 사용할 수 있습니다.
Web SSH는 다음과 같이 로컬 컴퓨터 환경과 다른 특성이 존재합니다.
Web SSH는 Realm 별, 사용자 account 별로 제공된 임시 파드에서 실행됩니다.
사용자의 모든 Web SSH 연결이 종료되면 임시 파드가 삭제됩니다.
Web SSH는 최초 연결 시 Realm 별, 사용자 account 별로 하나의 스토리지(1Gi)를 생성합니다.
Web SSH는 이후의 모든 SSH 세션에 대해 스토리지를 자동으로 연결하여 여러 세션에 걸친 $Home을 유지합니다.
사용 권한은 Bash의 일반적인 리눅스 사용자로 설정됩니다.
Web SSH 사용
Web SSH 연결
화면 상단의 메뉴에서 Web shell 버튼을 클릭합니다.
창이 열림과 동시에 Web SSH가 자동으로 연결됩니다. 연결이 완료되면 연결 성공 메세지와 함께 프롬프트가 표시됩니다.
Web SSH 창을 전체 화면으로 표시하기 위해 창의 오른쪽 위에 있는 Expand 버튼을 클릭합니다. 전체 화면 상태에서 Expand 버튼을 다시 클릭하면 전체 화면이 종료됩니다.
Web SSH 종료
창의 오른쪽 위에 있는 닫기 버튼을 클릭합니다.
닫기 버튼 클릭 외에 브라우저의 새로 고침으로 인해 Web SSH 창이 닫히거나 사용자의 콘솔 login이 만료될 경우 Web SSH 연결이 자동으로 종료됩니다.
문자열 복사
Web SSH 창의 문자열을 더블 클릭하거나 마우스 드래그를 사용해서 Selection 상태가 되면 해당 문자열이 클립보드에 자동으로 복사됩니다.
Web SSH 응용
Web SSH는 cluster 활용에 필요한 오픈 소스 도구의 설치와 설정이 완료된 상태로 연결됩니다.
아래는 설치된 오픈 소스 도구의 목록입니다.
이름 | 버전 |
---|---|
Linux | alpine:3.13.3 |
bash | 5.1.0(1)-release |
curl | 7.74.0 |
kubectl | v1.19.3 |
helm | v2.9.1 |
Cluster 조회
연결할 수 있는 cluster의 목록을 조회합니다.
프롬프트에 다음의 명령어를 입력합니다.
$ kubectl config get-contexts
cluster 목록이 조회되고, 현재 연결되어 있는 cluster가 표시됩니다.
Kubernetes 리소스 조회
현재 연결되어 있는 cluster의 네임스페이스 목록을 조회합니다.
프롬프트에 다음의 명령어를 입력합니다.
$ kubectl get ns
네임스페이스 내의 파드 목록을 조회합니다.
프롬프트에 다음의 명령어를 입력합니다.
$ kubectl -n test get pod
Kubernetes에는 리소스의 생성/조회/수정/삭제에 대한 권한이 존재하며 이 권한에 따라 리소스에 대한 접근과 사용에 제약이 있을 수 있습니다. 콘솔의 Roles 관리 기능을 통해 kubernetes 리소스에 대한 권한을 부여 또는 해제 할 수 있습니다.
스토리지 사용
스토리지에 파일을 생성하고 조회합니다.
프롬프트에 다음의 명령어를 입력해서 파일을 생성합니다.
$ cat << EOF > hello-file hello, zcp! EOF
ls 명령어와 cat 명령어를 사용해서 생성한 파일과 파일 내용을 확인합니다.
Web SSH가 연결되면 스토리지의 사용자 $Home으로 자동으로 연결합니다.
사용자 $Home의 파일 및 설정은 Web SSH의 종료와 상관없이 유지되며, Realm에서 사용자가 삭제될 때 사용자 $Home도 삭제됩니다.