minikube tunnel - background

Jaeminst·2022년 4월 22일
0
post-thumbnail

tunnel

쿠버네티스의 minikube tunnel은 클러스터의 IP 주소를 게이트웨이로 사용하여
클러스터의 서비스 CIDR에 대한 호스트의 네트워크 경로를 생성하는 프로세스로 실행됩니다.

tunnel 명령은 호스트 운영 체제에서 실행 중인 모든 프로그램에 외부 IP를 직접 노출합니다.


sudo 권한없이 실행하기

쿠버네티스 공식 문서: Avoiding password prompts

기본적으로 minikube tunnel을 입력하면 sudo 권한을 얻기위해 패스워드 입력을 요청받을 것이다.
입력을 취소하면 route 부분에 error를 출력하는 것을 보고, route 관련 명령을 쓴다는 것을 알 수 있었다.

구글에 minikube tunnel route sudo로 검색을 통하여 공식 문서를 찾을 수 있었다.

공식문서에 링크되어 있는 커뮤니티를 가보았다.

아래와 같이 되어있는 것을 찾을 수 있었다.
You will often find a line like this in /etc/sudoers:

# Allow members of group sudo to execute any command
%wheel   ALL=(ALL:ALL) ALL

아래와 같이 사용하면 된다는 것을 알려주신다.
아키리눅스의 sudo 예제를 보았는데 원하는 방법이 없었다.

다시, 구글에서 이번엔 "ip" "route" nopassword를 검색하였다.
가장 위에있는 글을 열어보니 내가 원하던것들이 정리 되어 있었다.

커뮤니티에서 알려주신 방법대로 sudoers를 열어서 아래와 같이 NOPASSWORD를 설정하였다.

sudo 권한 요청을 받지 않고 실행되는 모습을 볼 수 있다.


백그라운드로 실행하기

  • 사전 필요사항 : ip 명령에 대한 NOPASSWORD 설정 필요.

이제 dashboardtunnel을 백그라운드에서 실행시켜 보자.
dashboard는 간단하게 할 수 있었다.

tunnel은 sudo권한 문제로 위에서 처럼 해결을 해주어야 원활한 작업이 가능하다.

코드는 아래와 같다.
tunnel의 log 때문에 고민하다가 nohup으로 지정된 디렉토리에 만들도록 하였다.

명령을 실행하면 아래와 같이 백그라운드에서 실행하게 된다.

dashboard는 출력을 파일로 저장할 필요는 느끼지 못하여 nohup을 주지 않았다.
하지만, tunnel은 nohup으로 실행하기 때문에 터미널창을 종료하여도 실행되고 있고, 출력도 파일로 만들어 진다.

profile
DevOps !

0개의 댓글