10.3.2.3. CLI を使用したプライマリークラスタースコープのユーザー定義ネットワークの作成
CLI を使用して、複数の namespace を同じプライマリーユーザー定義ネットワーク (UDN) に接続して、ネイティブテナント分離を実現できます。
前提条件
-
cluster-admin権限を持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc) がインストールされている。
手順
カスタムネットワーク設定を指定するために、
ClusterUserDefinedNetworkオブジェクトを作成します。ClusterUserDefinedNetworkマニフェストの例:apiVersion: k8s.ovn.org/v1 kind: ClusterUserDefinedNetwork metadata: name: cudn-l2-net spec: namespaceSelector: matchExpressions: - key: kubernetes.io/metadata.name operator: In values: ["red-namespace", "blue-namespace"] network: topology: Layer2 layer2: role: Primary ipam: lifecycle: Persistent subnets: - 203.203.0.0/16-
metadata.nameは、ClusterUserDefinedNetworkカスタムリソースの名前を指定します。 -
spec.namespaceSelectorは、クラスター UDN が適用される namespace のセットを指定します。namespace セレクターは、default、openshift-*namespace、または Cluster Network Operator (CNO) によって定義されたグローバル namespace を参照できません。 -
spec.namespaceSelector.matchExpressionsは、セレクターのタイプを指定します。この例では、matchExpressionsセレクターは、kubernetes.io/metadata.nameラベルと、値がred-namespaceまたはblue-namespaceのオブジェクトを選択します。 -
spec.namespaceSelector.matchExpressions.operatorOperator のタイプを指定します。可能な値はIn、NotIn、Existsです。 -
spec.network.topologyは、ネットワークのトポロジー設定を指定します。必要な値はLayer2です。Layer2トポロジーは、すべてのノードで共有される論理スイッチを作成します。 -
spec.network.layer2.roleは、UDN がプライマリーかセカンダリーかを指定します。OpenShift Virtualization はPrimaryロールのみをサポートします。これは、UDN が仮想マシンのプライマリーネットワークとして機能し、すべてのデフォルトトラフィックがこのネットワークを通過することを意味します。
-
次のコマンドを実行して、
ClusterUserDefinedNetworkマニフェストを適用します。$ oc apply -f --validate=true <filename>.yaml