k8s/APP公開

Port-forward、HostPort、hostNetwork

YOOANT 2026. 5. 10. 19:31

1.手軽にアプリを公開する方法。

1-1.Port-forward

1-1-1.検証pod作成

apiVersion: v1
kind: Pod
metadata:
  name: fwd-chk-hn
spec:
  containers:
  - name: chk-hn 
    image: sysnet4admin/chk-hn

1-1-2.pod確認

1-1-3.port-forward設定

・Terminal①
# k port-forward fwd-chk-hn 8080:80

1-1-4.動作確認

・Terminal②

・Terminal①

※port-forwardは運用(Production)のためのツールではなく、徹底して「デバッグ」や「開発」のための、一時的な通信路である。


1-2.Hostport

1-2-1.検証pod作成

apiVersion: v1
kind: Pod
metadata:
  name: hp-chk-hn 
spec:
  containers:
  - name: chk-hn
    image: sysnet4admin/chk-hn
    ports:
    - containerPort: 80
      hostPort: 8080

1-2-2.pod確認

1-2-3.動作確認

この方式で検証を行うには、Podがどのノードに配置されたかを把握し、該当ノードのIPアドレスを特定する必要がある。

したがって、hostportは(実用的には)使用できず、概念として残るのみとなっている。

①配置ノードの確認

②k8s-worker-1のIP確認

③通信確認


1-3.HostNetwork

1-3-1.検証pod作成

apiVersion: v1
kind: Pod
metadata:
  name: hnet-chk-hn
spec:
  hostNetwork: true
  containers:
    - name: chk-hn
      image: sysnet4admin/chk-hn

1-3-2.pod確認

1-3-3.動作確認

この方式で検証を行うには、Podがどのノードに配置されたかを把握し、該当ノードのIPアドレスを特定する必要がある。

したがって、hostNetworkは(実用的には)使用できず、概念として残るのみとなっている。

①配置ノードの確認

※hostNetworkはノードのIPを占有して使用するため、PodのIPはPodが配置されたノードのIP(ホストIP)となる。

②k8s-worker-1のIP確認

③通信確認

※これまで扱った port-forward、hostPort、hostNetwork は、すべて「特定のノード」や「特定のポッド」に強く依存した方式である。 実務(運用環境)では、ポッドがダウンして別のノードに再配置されることもあれば、ノードが数十台に及ぶこともあるため、これらの方式では対応が不可能だ。 したがって、これらを補完しシステム化したものが、先に述べた Service (NodePort, LoadBalancer)Ingress である。


 

'k8s > APP公開' 카테고리의 다른 글

ExternalName  (0) 2026.05.13
NodePort、LoadBalancer  (0) 2026.05.12

日本語