Agent
Overview
QueryPie Agent를 설치하면, DataGrip, DBeaver와 같은 SQL Client, iTerm/SecureCRT와 같은 SSH Client, Lens, k9s와 같은 3rd Party 애플리케이션을 사용할 수 있습니다.
에이전트 앱 다운로드 및 실행하기
1. QueryPie 로그인 후 우측 상단 프로필을 클릭하여 Agent Download
버튼을 클릭합니다.
2. QueryPie Agent Downloads 팝업창이 실행되면 Step 1에서 사용 중인 PC 운영체제에 맞는 설치 파일을 다운로드한 후 Step 3에 있는 QueryPie URL을 복사해 둡니다.
QueryPie Agent는 Mac, Windows, Linux OS를 지원합니다.
3. 다운로드받은 QueryPie Agent 설치 프로그램을 실행하여 설치를 완료합니다.
4. 설치 완료된 QueryPie Agent를 실행합니다. QueryPie Host 입력란에 미리 복사해뒀던 QueryPie URL을 입력하고 Next
버튼을 클릭하면 로그인 화면으로 진입하게 됩니다.
QueryPie Agent에 로그인하기
1. Agent 앱 내 로그인 화면에서 Login
버튼을 클릭합니다.
2. 웹 브라우저가 열리면, 로그인 페이지에서 인증정보를 입력하고, Continue
버튼을 클릭합니다.
3. 로그인을 성공하면 아래와 같이 로그인 성공 화면이 표시되며 이후 Agent로 돌아갑니다.
4. Agent 열기를 명시적으로 수행하여 인증정보를 Agent로 전달합니다.
에이전트로 데이터베이스 접속하기
1. 로그인이 정상적으로 완료되면 Agent 앱 내 Databases 탭에서 권한 있는 커넥션들의 접속 정보를 확인할 수 있습니다.
접속할 커넥션에 할당된 Port
를 클릭하면, 해당 커넥션의 Proxy Credentials
정보를 확인할 수 있습니다.
2. 위의 접속 정보를 3rd Party 클라이언트에 입력하면 DB 커넥션 접속이 가능합니다.
에이전트를 통한 서버 접속
로그인이 정상적으로 완료되면 Agent 앱 내 Server 탭에서 권한 있는 서버를 확인할 수 있습니다.
1. 서버 역할 선택하기
프로필 영역 하단의 역할 버튼을 클릭하여 원하는 역할을 고르고
Select
버튼을 클릭하세요.Default 역할 선택시, Workflow > Server Access Request 요청에 의해 할당받은 서버 권한을 사용합니다.
역할이 두 개 이상이라면, Agent 로그인 후 Server 기능 사용을 위해 역할 선택을 먼저 완료해야 합니다.
2. Agent로 서버 접속하기
접속할 서버를 우클릭 후 Open Connection with 메뉴를 선택하여, 사용하려는 터미널 툴을 선택합니다.
이후 해당 서버에 접속 가능한 계정이 여러개라면, Account 선택창이 열립니다.
사용하려는 계정을 선택하고 필요시 비밀번호를 입력한 뒤,
OK
버튼을 클릭하여 세션을 엽니다.
3. Seamless SSH 설정하기
Seamless SSH란 기존 터미널 사용성을 그대로 유지하면서 QueryPie를 통해 서버에 접속할 수 있는 기능입니다. 다음음의 방법으로 .ssh 폴더에 config 파일을 생성하여 손쉽게 seamless SSH 설정이 가능합니다.
1) 터미널을 열고, .ssh 폴더로 이동합니다.
$ cd .ssh
2) ssh 폴더에서 config 파일을 생성하기 위해 vi 에디터를 엽니다.
$ vi config
3) 아래의 내용을 입력 후, wq
키를 입력하여 vi 에디터를 나옵니다.
Host {{Server Name}}
Hostname {{Server URL}}
Port {{Server SSH Port}}
ProxyCommand qpa ssh %r %h %p
config 파일 작성 시 Seamless SSH 설정하고자 하는 서버마다 서버 이름, URL, 포트를 입력함으로써 서버를 특정합니다. 서버 간에 URL, 포트가 겹치지 않는 경우 아래와 같이 입력하여도 접속이 가능합니다.
Host *
ProxyCommand qpa ssh %r %h %p
4) 이상으로 설정이 완료됩니다. Agent > Server 탭에서 역할을 선택하면 기존 ssh 명령어로 서버에 접속할 수 있습니다.
$ ssh deploy@{{Server Name}}
에이전트를 통한 쿠버네티스 접속
권한을 부여 받은 사용자는 에이전트 실행 시 현재 정책에 따른
kubeconfig
파일이 자동으로 수신됩니다.이를 통해 Kubernetes Client(kubectl, lens, k9s 등) 툴로 Kubernetes API 리소스에 접근할 수 있습니다.
에이전트에서는 접근 가능한 클러스트 리스트를 표시하며, 각 클러스터에 적용된 정책을 확인할 수 있습니다.
또한 설정 메뉴를 통해 kubeconfig파일의 위치를 확인 및 수정할 수 있습니다.
1. Kubernetes 역할 선택하기
프로필 영역 하단의 역할 버튼을 클릭하면 역할 선택 모달이 열립니다. 원하는 역할을 고르고 Select
버튼을 클릭하세요.
역할이 두 개 이상이라면, Agent 로그인 후 Kubernetes 기능 사용을 위해 역할 선택을 먼저 완료해야 합니다.
2. Policy 조회하기
선택된 역할에 따라 접근 가능한 리소스가 표시됩니다. 각 클러스터 우측의 🔍
버튼을 누르면 Policy Information 팝업창이 나타나며 이곳에서 해당 클러스터에 적용된 정책 목록을 자세히 확인할 수 있습니다.
3. Kubeconfig 경로 설정하기
Agent 설정 메뉴에서 KubeConfig Path
버튼을 클릭하여 Kubeconfig 경로 설정 모달을 엽니다.
Path Configuration : Kubeconfig 파일 저장 경로를 사용자가 지정할 수 있습니다.
기본값은
$HOME/.kube/querypie-kubeconfig
입니다.경로 필드 우측
Upload
버튼을 누르면 로컬 파일 경로를 지정할 수 있는 팝업이 나타납니다.
Where : 우측의
🔽
버튼을 클릭하여 원하는 폴더를 지정합니다.Save As : Kubeconfig 파일의 이름을 입력합니다. 변경하지 않으면 기본값으로 적용됩니다.
Command Line : KUBECONFIG 환경 변수를 선언하기 위한 커맨드 라인을 제공합니다.
1) KUBECONFIG 환경 변수를 최초 설정하는 경우, 명령 줄 내의 디폴트 "${KUBECONFIG}
" 값을 사용 전에 "${HOME}/.kube/config
"로 변경해야 합니다.
export KUBECONFIG="${HOME}/.kube/config:${HOME}/.kube/querypie-kubeconfig"
2) QueryPie에서 제공된 사용자 지정 kubeconfig 경로를 변경한 경우 새 경로로 환경 변수를 다시 선언해야 합니다.
export KUBECONFIG="${KUBECONFIG}:<사용자가 지정한 경로>"
3) 보다 자세한 kubeconfig에 대한 내용은 다음 링크를 참조해주시기 바랍니다.
4) Copy
로 커맨드라인을 복사하여 클라이언트에 선언하고 컨텍스트를 접근 가능한 클러스터로 스위칭할 수 있습니다.
export KUBECONFIG="${KUBECONFIG}:${HOME}/.kube/querypie-kubeconfig"
QueryPie Agent 세팅 초기화하기
세팅을 초기화하면 입력하였던 QueryPie Host 정보가 초기화되어 다시 입력할 수 있게 됩니다.
Agent 내 설정 메뉴에서 초기화
프로필 영역 우측 ⚙️
버튼을 클릭하여 설정 메뉴를 엽니다. Reset All Settings
버튼을 클릭합니다.
(Mac) 메뉴 막대 내 앱 메뉴에서 초기화
메뉴 막대에서 QueryPie Agent 아이콘을 클릭하여 앱 메뉴를 엽니다. Reset All Settings
버튼을 클릭합니다.