Ansible playbook 테스트관련 시간 문제

Sbae·2024년 7월 1일

이런 문제가 있어요

Jenkins으로 Ansible playbook 테스트를 하는데 1시간이나 넘게 걸려요!

Why

문제파악

내가 만들어 놓은 Jenkins은 폐쇄망 환경 테스트를 기본으로 하기 때문에
여러개의 보안 그룹으로 나누어져 있다.

  • 모든 인스턴스가 공통적으로 사용하는 All-nodes
  • Control plane 인스턴스만 사용하는 K8s-cp-nodes
  • Worker 인스턴스만 사용하는 K8s-wk-nodes

통신은 되고 설치도 잘 된다.
하지만 시간이 문제다.

평소 local에서는 10 ~ 25분의 테스트 시간이 걸리는데(모든 보안그룹 open)
Jenkins에서 자동으로 폐쇄망 환경을 구성하면 1시간이 넘게 걸리는 문제가 발생하는 것이다.

해결방법은?

똑같은 보안그룹을 작성하고 폐쇄망 환경을 구성 후 설치 테스트를 진행하니 1시간이 넘게 걸리고
보안그룹을 전부 해제하니 10 ~ 25분의 시간이 걸리는 것을 확인했다.

이에 보안그룹에 특정한 port를 열어줘야 판단 후
각 노드에 들어간 이후에 sudo netstat -tuln를 실행하니

sudo netstat -tuln

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.53:53           0.0.0.0:*               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
udp        0      0 127.0.0.53:53           0.0.0.0:*
udp        0      0 10.20.60.34:68          0.0.0.0:*

53번에 LISTEN을 안하고 있는데 뭔가 문제가 있나? Hoxy??

이게 맞네?

보안그룹에 TCP, UDP 53번 port를 추가하고 테스트를 하니 정상적으로 된다.

왜 그럴까?

나도몰라

Ansible은 22번 포트를 이용해서 통신하는 줄 알았는데
먼저 53번으로 찔러본 후 타임아웃이 나고 22번으로 통신하는 것 같다.

왜 그런지는 인터넷을 찾아봐도 없는데 어째서 그렇게 되는건지 이해가 되지않는다.(거의 2~3 시간 찾은 것 같은데)

내가 리눅스 시스템에 빠삭하지 않아서 그럴 수도?

답은 찾긴 했는데 왜 그런지를 몰라서 시원답답한 기분은 어떻하지

profile
끄적이는 일반인

0개의 댓글