機械翻訳について

3 Multusの使用

重要:

このドキュメントで説明されているソフトウェアは、Extended SupportまたはSustaining Supportにあります。 詳細は、「Oracleオープン・ソース・サポート・ポリシー」を参照してください。

このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお勧めします。

この項では、Multusを使用するKubernetesアプリケーションを作成できることを確認するための基本的なテストについて説明します。 この例では、Multusを使用して、NetworkAttachmentDefinitions CRDで作成されたネットワークを使用するポッドに2番目のネットワーク・インタフェースを作成できることを確認します。

2番目のネットワーク・インタフェースを作成するには:

  1. コントロール・プレーン・ノードで、ブリッジ接続のNetworkAttachmentDefinition CRDを含むnad-bridge.yamlという名前のYAMLファイルを作成します。 次の内容でYAMLファイルを作成します:

    apiVersion: "k8s.cni.cncf.io/v1"
    kind: NetworkAttachmentDefinition
    metadata:
      name: bridge-conf
    spec:
      config: '{
          "cniVersion": "0.3.1",
          "type": "bridge",
          "bridge": "mybr0",
          "ipam": {
              "type": "host-local",
              "subnet": "192.168.12.0/24",
              "rangeStart": "192.168.12.10",
              "rangeEnd": "192.168.12.200"
          }
        }'
  2. kubectl applyコマンドを使用して、ファイルとともにNetworkAttachmentDefinitionを作成します:

    kubectl apply -f nad-bridge.yaml

    NetworkAttachmentDefinitionが作成されます。

  3. NetworkAttachmentDefinitionが作成されたことを確認するには、次を使用します:

    kubectl get network-attachment-definitions

    出力は次のようになります:

    NAME          AGE
    bridge-conf   2m

    NetworkAttachmentDefinitionの詳細を表示するには、kubectl describeコマンドを使用します。次に例を示します:

    kubectl describe network-attachment-definitions bridge-conf 
  4. multus-pod.yamlという名前のYAMLファイルを作成し、bridge-confネットワークを使用するOracle Linux 9を実行しているポッドを、次の内容で作成します:
    apiVersion: v1
    kind: Pod
    metadata:
      name: samplepod
      annotations:
        k8s.v1.cni.cncf.io/networks: bridge-conf
    spec:
      containers:
      - name: samplepod
        command: ["/bin/sh", "-c", "trap : TERM INT; sleep infinity & wait"]
        image: container-registry.oracle.com/os/oraclelinux:9-slim
  5. kubectlコマンドを使用して、ポッドを起動します:
    kubectl apply -f multus-pod.yaml
  6. ポッドが作成され、次を使用して実行されていることを確認できます:
    kubectl get pods

    出力は次のようになります:

    NAME                   READY   STATUS    RESTARTS   AGE
    samplepod              1/1     Running   0          1m
  7. kubectl describeコマンドを使用して、multus-nginx-podのネットワーク・インタフェースに割り当てられたIPアドレスを表示します:
    kubectl describe pod samplepod 

    出力は次のようになります:

    Name:             samplepod
    Namespace:        default
    ...
    Annotations:      k8s.v1.cni.cncf.io/network-status:
                        [{
                            "name": "cbr0",
                            "interface": "eth0",
                            "ips": [
                                "10.244.3.4"
                            ],
                            "mac": "86:e7:82:28:58:59",
                            "default": true,
                            "dns": {},
                            "gateway": [
                                "10.244.3.1"
                            ]
                        },{
                            "name": "default/bridge-conf",
                            "interface": "net1",
                            "ips": [
                                "192.168.12.10"
                            ],
                            "mac": "ca:bb:74:ca:9c:10",
                            "dns": {}
                        }]
                      k8s.v1.cni.cncf.io/networks: bridge-conf
    ...

    この例では、net1ネットワーク・インタフェースがbridge-confネットワークを使用しており、IPアドレスが192.168.12.10であることがわかります。

  8. この例で作成したリソースは、次を使用して削除できます:
    kubectl delete pod samplepod
    kubectl delete network-attachment-definitions bridge-conf