
나는 내 자신의 작은 Kubernetes 클러스터를 가지고 놀고 있습니다.
지금까지 내가 이해하지 못하는 것은 열려 있는 모든 포트(= 내 포드가 수신 대기 중인 모든 포트)를 보는 방법입니다.
Traefik을 수신으로 사용합니다.호스트 포트 :80 및 :443그리고 난 그걸 듣고 있는 걸 볼 수 있어:80그리고:443내가 달릴 때 sudo lsof -i
.
하지만 GitLab도 Pod로 실행하고 있고 여기에 할당했습니다.호스트 포트Pod의 포트를 가리키는 (54321):22. 나는 이것을 git 복제에 사용합니다.
두 포드 모두노드선택기마스터에서만 실행합니다(...예, 알고 있습니다.).
GitLab의호스트 포트 :54321으로 표시되지 않습니다 sudo lsof -i
. 왜 그런 겁니까? 제 짧은 지식으로는 도저히 설명할 수가 없네요.
구성 측면에서 Traefik Pod와 Gitlab Pod의 유일한 차이점은 Traefik의 경우호스트 포트Pod에서 동일한 포트를 가리킵니다(:80->:80,:443->:443) Gitlab Pod의 경우에는 다릅니다(:54321->:22).
누구든지 나에게 이것을 설명해 줄 수 있습니까? 나는 왜 믿을 수 없나요?이소프이 경우에는?
미리 감사드립니다!
추신. 포트가 확실히 열려 있고 듣고 있습니다.
답변1
GitLab의 호스트 포트 :54321이
sudo lsof -i
. 왜 그런 겁니까? 제 짧은 지식으로는 도저히 설명할 수가 없네요.
lsof
에 대한 정보를 나열합니다.파일1개 열림:프로세스.
있다프로세스 없음HostPort를 열어두는 호스트에서는 표시할 내용이 없습니다 lsof
.
iptables
아마도 해당 포트의 트래픽을 Gitlab Pod로 전달하는 netfilter( ) 규칙만 있을 것입니다 . sudo iptables-save
및/또는 로 확인하세요 sudo iptables -L -v -n
.sudo iptables -L -v -n -t security -t nat -t mangle
매우 광범위하게 열린 파일은 일반 파일, 디렉토리, 블록 특수 파일, 문자 특수 파일, 실행 중인 텍스트 참조, 라이브러리, 스트림 또는 네트워크 파일(인터넷 소켓, NFS 파일 또는 UNIX 도메인 소켓)일 수 있습니다. )