
Estou brincando com meu próprio pequeno cluster Kubernetes.
Algo que não entendi até agora é como ver todas as portas abertas (= tudo que meus Pods estão escutando).
Eu uso o Traefik como entrada comportas host: 80 e: 443e eu posso vê-lo ouvindo:80e:443quando eu corro sudo lsof -i
.
No entanto, também tenho o GitLab rodando como Pod e atribuí a ele umhostPort(54321) que aponta para a porta dos Pods:22. Eu uso isso para clonagem de git.
Ambos os pods têm umseletor de nópara rodar apenas no master (...sim, eu sei.).
GitLabhostPort:54321não aparece com sudo lsof -i
. Por que é que? Eu realmente não posso explicar isso com meu conhecimento limitado.
Em termos de configuração, a única diferença entre os Pods Traefik e o Pod Gitlab é que para o Traefik, oportas hostapontam para a mesma porta no pod (:80->:80,:443->:443) enquanto para o Gitlab Pod, eles diferem (:54321->:22).
Alguém pode me explicar isso? Por que não posso confiarlsofnesse caso?
Desde já, obrigado!
obs. a porta está definitivamente aberta e ouvindo
Responder1
O hostPort :54321 do GitLab não aparece com
sudo lsof -i
. Por que é que? Eu realmente não posso explicar isso com meu conhecimento limitado.
lsof
lista informações sobrearquivos1 aberto porprocessos.
Hánenhum processono host que mantém o hostPort aberto e, portanto, nada para exibir lsof
.
Provavelmente existe apenas uma iptables
regra netfilter ( ) que encaminha o tráfego dessa porta para o seu Pod Gitlab. Verifique com sudo iptables-save
e/ou sudo iptables -L -v -n
,sudo iptables -L -v -n -t security -t nat -t mangle
De maneira muito ampla, um arquivo aberto pode ser um arquivo normal, um diretório, um arquivo especial de bloco, um arquivo especial de caractere, uma referência de texto em execução, uma biblioteca, um fluxo ou um arquivo de rede (soquete de Internet, arquivo NFS ou soquete de domínio UNIX. )