4.5. Multus ネットワークの確認
Multus がクラスターで機能しているかどうかを判別するには、Multus ネットワークを確認します。
手順
ネットワーク設定の選択に応じて、OpenShift Data Foundation Operator は以下の 1 つを行います。
-
単一の NetworkAttachmentDefinition (例:
ocs-public-cluster
) のみが Public Network Interface に対して選択される場合、アプリケーション Pod と OpenShift Data Foundation クラスター間のトラフィックはこのネットワークで生じます。さらに、クラスターは、このネットワークを OSD 間のレプリケーションに使用し、OSD 間のトラフィックを再リバランスするように自己設定します。 -
NetworkAttachmentDefinitions (例:
ocs-public
およびocs-cluster
) が Public Network Interface にそれぞれ選択されており、Storage Cluster のインストール時に Cluster Network Interface にそれぞれ選択される場合、クライアントストレージトラフィックは OSD 間でのレプリケーションおよびクラスターネットワークについてパブリックネットワークおよびクラスターネットワークに置かれます。
ネットワーク設定が正しいことを確認するには、以下の手順を実施します。
OpenShift コンソールで、Installed Operators
YAML タブで、spec
セクションで network
を検索し、設定がネットワークインターフェイスの選択に適したことを確認します。この例では、クライアントストレージトラフィックをストレージレプリケーショントラフィックから分離するためのものです。
出力サンプル
[..] spec: [..] network: ipFamily: IPv4 provider: multus selectors: cluster: openshift-storage/ocs-cluster public: openshift-storage/ocs-public [..]
コマンドラインインターフェイスを使用してネットワーク設定が正しいことを確認するには、以下のコマンドを実行します。
$ oc get storagecluster ocs-storagecluster \ -n openshift-storage \ -o=jsonpath='{.spec.network}{"\n"}'
出力サンプル
{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}
OSD Pod が正しいネットワークを使用していることの確認
openshift-storage
namespace は OSD Pod の 1 つを使用して、Pod が正しいネットワークに接続されていることを確認します。この例では、クライアントストレージトラフィックをストレージレプリケーショントラフィックから分離するためのものです。
両方が作成されると、OSD Pod のみが Multus パブリックおよびクラスターネットワークの両方に接続します。他のすべての OCS Pod は Multus パブリックネットワークに接続されます。
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}'
出力サンプル
[{ "name": "openshift-sdn", "interface": "eth0", "ips": [ "10.129.2.30" ], "default": true, "dns": {} },{ "name": "openshift-storage/ocs-cluster", "interface": "net1", "ips": [ "192.168.2.1" ], "mac": "e2:04:c6:81:52:f1", "dns": {} },{ "name": "openshift-storage/ocs-public", "interface": "net2", "ips": [ "192.168.1.1" ], "mac": "ee:a0:b6:a4:07:94", "dns": {} }]
コマンドラインインターフェイスを使用して OSD Pod が正しいネットワークを使用していることを確認するには、以下のコマンドを実行します (jq ユーティリティーが必要です)。
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}' | jq -r '.[].name'
出力サンプル
openshift-sdn openshift-storage/ocs-cluster openshift-storage/ocs-public