
私は自分の小さな Kubernetes クラスターを試しています。
今のところ理解できていないのは、開いているすべてのポート (= Pod がリッスンしているすべてのもの) を確認する方法です。
私はTraefikをIngressとして使っていますホストポート:80 および:443そして私はそれが聞いているのを見ることができます:80そして:443走るときsudo lsof -i
。
しかし、GitLabをPodとして実行し、それにホストポート(54321)はポッドのポートを指す:22. 私はこれを git クローンに使用します。
どちらのポッドもノードセレクタマスター上でのみ実行します (...はい、わかっています)。
GitLabのホストポート:54321が表示されませんsudo lsof -i
。なぜでしょうか? 私の限られた知識では、それを説明することはできません。
設定の点では、Traefik PodとGitlab Podの唯一の違いは、Traefikの場合、ホストポートポッド内の同じポートを指す(:80->:80、:443->:443) Gitlab Podの場合は異なります(:54321->:22)。
誰か説明してくれませんか?なぜ信用できないのかlsofこの場合?
前もって感謝します!
追伸:ポートは確実に開いており、待機しています
答え1
GitLab の hostPort :54321 は では表示されません
sudo lsof -i
。なぜでしょうか? 私の限られた知識では、それを説明することはできません。
lsof
に関する情報をリストしますファイル1 人がオープンプロセス。
があるプロセスなしホストではホストポートが開いたままになっているため、何も表示されません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 ドメイン ソケット) である可能性があります。