このページでは、Google Kubernetes Engine(GKE)内の予約済み hostPort のリストについて説明します。
GKE システムが予約した hostPort
GKE は、内部システム プロセスとサービスに特定の hostPort
範囲を予約します。これらの予約は、GKE クラスタの安定性と機能を維持するために重要です。通常、GKE では、競合やセキュリティ リスクの可能性があるため、ユーザー アプリケーションで hostPort
を使用することは推奨されませんが、内部オペレーションでは依存しています。
予約済みの hostPort の目的
- コントロール プレーンの通信: kubelet や metrics-server などの特定の GKE コンポーネントは、コントロール プレーンや他の内部サービスとの通信に特定の hostPort を使用する場合があります。
- システム デーモン: GKE システム デーモンとエージェントは、モニタリング、ロギング、その他のオペレーション タスクのために、ノードの特定のポートにアクセスする必要がある場合があります。
- 内部サービス: クラスタ管理とヘルスチェックを担当する GKE の内部サービスは、予約済みの hostPort を使用する場合があります。
予約済みの範囲について
正確な範囲は GKE のバージョンと構成によって異なりますが、GKE は使用可能なポートスペースの一部を予約します。これらの予約済み範囲は変更される可能性があるため、通常は外部ユーザー向けにドキュメント化されていません。番号の小さいポートは通常、オペレーティング システムによって予約されるため、使用しないことが重要です。
ベスト プラクティス
ベスト プラクティス:
- hostPort の使用を避ける: アプリケーションのデプロイで hostPort の使用を最小限に抑えて、GKE の予約済みポートとの競合のリスクを軽減します。
- Service 抽象化: hostPort の優先代替として Kubernetes Service タイプ(NodePort、LoadBalancer、Ingress)を使用します。
- セキュリティの精査: hostPort が避けられない場合は、公開されているポートへのアクセスを制限するようにファイアウォール ルールを慎重に確認して実装します。
- Autopilot の考慮事項: GKE Autopilot を使用する場合は、正確な hostPort を指定できないことに注意してください。
予約済みの hostPort のリスト
コンポーネント | 予約済みの hostPort |
---|---|
CNI / DPv2 | 9990, 6942, 9890, 4244, 9965 |
kubelet | 4194, 10248, 10250, 10255 |
kube-proxy | 10249, 10256 |
node-problem-detector | 20256 |
Fluent Bit | 2020, 2021 |
Stackdriver Metadata エージェント | 8799 |
sunrpc(ローカル NFS マウント) | 665 - 986 |
Filestore | 990 |
k8s-metadata-proxy / gke-metadata-server | 987, 988, 989 |
node-local-dns | 53, 8080, 9253, 9353 |
gcfsd | 11253 |
ネットワーク ポリシー Antrea | 10349, 10350, 10351, 10352 |
ネットワーク メータリング エージェント | 47082, 47083 |
configconnector | 8888, 48797 |
gke-spiffe | 9889 |
workload-identity-webhook | 9910 |
GKE 指標エージェント | 8200, 8201, 8202, 8203 |
GPU デバイス プラグイン | 2112 |
runsc(gVisor / GKE Sandbox) | 9115 |
containerd | 1338 |
GKE 指標コレクタ | 11123 |
netd | 10231 |
Autopilot に固有の予約済み hostPort のリスト
コンポーネント | 予約済みの hostPort |
---|---|
Autopilot Splunk エージェント | 8006, 14250, 14268, 4317, 9080, 9943, 9411 |
Autopilot Datadog Monitoring エージェント | 8125, 8126 |
次のステップ
- GKE でのネットワーキングの概要を読む。
- Kubernetes Service について学習する。
- アプリケーションの公開について学習する。