このページでは、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 年、2022 年 |
| 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 - 8227 |
| 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 について学習する。
- アプリケーションの公開について学習する。