My __ 노트

쿠버네티스 작업 환경 설정(1) - vs code로 ssh 접속 설정 본문

Kubernetes

쿠버네티스 작업 환경 설정(1) - vs code로 ssh 접속 설정

블루빔 2023. 8. 3. 14:47

쿠버네티스는 사용자 의도를 YAML 형식으로 정의하여 API Server에 전달하면 API Server가 내부 etcd, scheduler등과 소통하여 사용자 명령을 실행하는 방식으로 진행됩니다.
그러므로 개발 및 테스트 시 파일 편집 작업이 많습니다. 해당 글은 GCP vm(centos) 서버에서 파일 편집 작업을 조금 더 편하게 하기 위해 vs code로 ssh 접속하는 방법에 대해 작성하였습니다. 


목차
▶ Remote - SSH 설치
▶ 새로운 remote config 등록 
▶ SSH 세션 연결 
▶ 서버 폴더에 접근 설정

Remote - SSH 설치

Extensions에서 Remote - SSH를 검색 후 Install를 해줍니다. 

Remote - SSH를 설치하게 되면 아래 3개가 자동 설치되는 것을 확인할 수 있습니다. 

 

 


새로운 remote config 등록 

Remote Explorer을 선택하여 New Remote을 클릭 후 연결하려는 ssh username과 remote ip 입력합니다. 

ssh user@xx.xxx.xxx.xx

 

해당 정보를 업데이트할 config 파일을 선택합니다. 

 

설정 경로를 선택하면 오른쪽 하단에 호스트가 추가되었다는 창이 뜨며 open config를 클릭해서 확인 가능합니다. 

 

Remote Explorer에 가서 새로고침 버튼을 클릭하면 등록된 세션을 확인할 수 있습니다. 

 

 


SSH 세션 연결 

연결하려는 세션에서 Connect in New window를 클릭하면 비밀번호를 입력하라는 새로운 창이 뜹니다. 

 

비밀번호를 입력하면 세션 연결이 되며 왼쪽 하단에서 현재 연결되어 있는 세션 정보를 확인할 수 있습니다. 

 

 


서버 폴더에 접근 설정

user 계정으로 로그인을 하면 해당 홈 디렉터리를 open 할 수 있으며 해당 경로 하위에서 파일 생성 및 쓰기가 가능합니다. 

 

🚨permission denied 에러 발생🚨
상황 : /home/user 디렉터리를 제외한 다른 경로의 디렉터리를 open 후 파일을 변경 또는 생성 시 

Unable to write file 'vscode-remote://ssh-remote+xx.xx.xx.xxx/kubectl/test.yml' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open '/kubectl/test.yml')

 

원인 : 해당 디렉터리의 사용자는 root이며 remote 로그인을 한 user가 root가 아닐 경우 permission denied 에러가 발생
해결 : 해당 디렉터리의 사용자를 remote user로 변경하거나 root로 로그인하면 사용 가능!