ポッドが存在するノードのホストネットワークでポッドが実行中の場合、そのポッドはノードのネットワーク名前空間とネットワークリソースを使用できます。 つまり、ポッドはループバックデバイスにアクセスしてアドレスをリッスンし、ノード上の他のポッドのトラフィックをモニターできます。

始める前に

手順

  1. YAML ファイル host-network.yaml を開き、spec の下にある hostNetwork を true に設定します。
    YAML ファイル全体の例は次のとおりです。
    apiVersion: v1
    kind: Pod
    metadata:
      - 名前:nginx
    spec:
      hostNetwork: true
      containers:
      - name: nginx
        image: nginx
  2. 以下のコマンドを実行して、ポッドを作成します。
    kubectl apply -f host-network.yaml
  3. 以下のコマンドを実行して、ポッドが存在するノードのホストネットワークでポッドが実行中であるかを確認します。
    kubectl get pod -o wide
    コマンド出力でポッドの IP アドレスが、ノードの IP アドレスと同じである場合、そのポッドはノードのホストネットワーク上で実行中です。
    NAME    READY   STATUS    RESTARTS   AGE   IP              NODE                           NOMINATED NODE
    nginx   1/1     Running   0          29s   192.168.XX.XX   cn-zhangjiakou.192.168.XX.XX   <none>