Ansible playbook 테스트관련 시간 문제

Sbae·2024년 7월 1일
0

이런 문제가 있어요

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개의 댓글