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 → OpenShift Data Foundation → Storage System → ocs-storagecluster-storagesystem → Resources → ocs-storagecluster の順に移動します。
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