OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
4.5. Multus 네트워킹 확인
Multus가 클러스터에서 작동하는지 확인하려면 Multus 네트워킹을 확인합니다.
절차
네트워크 구성 선택 사항에 따라 OpenShift Data Foundation Operator는 다음 중 하나를 수행합니다.
-
공용 네트워크 인터페이스에 대해 단일 NetworkAttachmentDefinition(예:
ocs-public-cluster
)만 선택한 경우 애플리케이션 pod와 OpenShift Data Foundation 클러스터 간의 트래픽이 이 네트워크에서 수행됩니다. 또한 클러스터는 OSD 간 복제 및 트래픽 재조정에 이 네트워크를 사용하도록 자체 구성됩니다. -
스토리지 클러스터 설치 중에 공용 네트워크 인터페이스와 클러스터 네트워크 인터페이스에 대해 각각 NetworkAttachmentDefinitions(예:
ocs-public
및ocs-cluster
)를 선택한 경우, OSD 간 트래픽 복제 및 균형 재조정을 위해 클라이언트 스토리지 트래픽이 공용 네트워크와 클러스터 네트워크에 있게 됩니다.
네트워크 구성이 올바른지 확인하려면 다음을 완료합니다.
OpenShift 콘솔에서 설치된 Operator
YAML 탭에서 spec
섹션에서 r network
를 검색하고 네트워크 인터페이스 선택 사항에 대한 구성이 올바른지 확인합니다. 이 예에서는 클라이언트 스토리지 트래픽을 스토리지 복제 트래픽과 분리하기 위한 것입니다.
샘플 출력:
[..] spec: [..] network: ipFamily: IPv4 provider: multus selectors: cluster: openshift-storage/ocs-cluster public: openshift-storage/ocs-public [..]
[..]
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"}'
$ 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"}}
{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}
OSD pod에서 올바른 네트워크를 사용하고 있는지 확인
openshift-storage
네임스페이스에서 OSD pod 중 하나를 사용하여 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"}'
$ 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": {} }]
[{
"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'
$ 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
openshift-sdn
openshift-storage/ocs-cluster
openshift-storage/ocs-public