ポートとプロトコル

パブリッククラウドにおける仮想ネットワークや、物理ネットワークファイアウォールを持つオンプレミスのデータセンターのような、ネットワークの境界が厳格な環境でKubernetesを実行する場合、Kubernetesのコンポーネントが使用するポートやプロトコルを認識しておくと便利です。

コントロールプレーン

プロトコル通信の向きポート範囲目的使用者
TCPInbound6443Kubernetes API server全て
TCPInbound2379-2380etcd server client APIkube-apiserver, etcd
TCPInbound10250Kubelet API自身, コントロールプレーン
TCPInbound10259kube-scheduler自身
TCPInbound10257kube-controller-manager自身

etcdポートはコントロールプレーンノードに含まれていますが、独自のetcdクラスターを外部またはカスタムポートでホストすることもできます。

ワーカーノード

プロトコル通信の向きポート範囲目的使用者
TCPInbound10250Kubelet API自身, コントロールプレーン
TCPInbound30000-32767NodePort Services†全て

NodePort Servicesのデフォルトのポート範囲。

すべてのデフォルトのポート番号が書き換え可能です。 カスタムポートを使用する場合、ここに記載されているデフォルトではなく、それらのポートを開く必要があります。

よくある例としては、API Serverのポートを443に変更することがあります。 または、デフォルトポートをそのままにし、API Serverを443でリッスンしているロードバランサーの後ろに置き、APIサーバのデフォルトポートにリクエストをルーティングする方法もあります。

最終更新 March 19, 2023 at 12:22 PM PST: Apply suggestions from code review (51f4e01f80)