Azure Kubernetes Service Node에 Access 하기

    728x90

    1. Debug pod로 접근

    • kubectl debug node/{node 명} -it -image=mcr.microsoft.com/cbl-mariner/busybox:2.0 명령어를 통해서 node-debugger로 시작하는 pod를 생성한 후 실행합니다. (node명 확인은 kubectl get nodes 명령어를 사용합니다.) 

     

    • chroot /host 명령어를 입력하여 node에 access 합니다.

     

    추가적으로, Kubernetes의 CRI를 사용하여 System에 있는 image를 확인할 수 있습니다.

    • crictl images
      • crictl images라는 명령어를 통해 Cluster에서 사용 가능한 이미지에 대한 정보를 확인할 수 있습니다.

     

    • crictl stats
      • crictl stats라는 명령어를 통해 container별 cpu, memory, disk 사용량 등을 확인할 수 있습니다.

     

    2. SSH로 접근

    ssh private key를 사용하여도 AKS의 노드에 접근할 수 있습니다.

    • 먼저 접근하고자 하는 VM에서 ssh-keygen -t rsa 2048 명령어를 입력하여 public key, private key를 생성합니다. 

     

    • vmss의 [지원 및 문제 해결] 블레이드 > [암호 다시 설정] 탭에 사용자 이름 및 생성한 key 중 public key를 SSH 공개키 란에 복사 붙여 넣기한 후 [저장] 버튼을 클릭하여 변경 사항을 반영합니다. 

     

    • node에 접속하여 cat /home/azureuser/.ssh/authorized_keys 명령어를 입력한 후 node의 authorized_keys를 생성한 public key의 내용으로 변경합니다.

     

    • public key 변경 후 ssh -i /home/azureuser/.ssh/aks-test azureuser@{node ip} 입력 시 정상 접속되는 것을 확인할 수 있습니다.

     

    만약, ssh 접근을 막고자 한다면 nodepool이 위치하는 subnet에 연결된 NSG에서 22번 port를 막으면 됩니다. 

     

    반응형

    댓글