This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.3. 追加のネットワークインターフェースの作成
				Pod の追加インターフェースは、カスタムリソース (CR) として保存される CNI 設定で定義されます。これらの CR は、oc ツールを使用して作成し、一覧表示し、編集し、削除できます。
			
				以下の手順は、Pod に macvlan インターフェースを設定します。この設定は、すべての実稼働環境に適用されない可能性がありますが、他の CNI プラグインに同じ手順を使用できます。
			
6.3.1. 追加インターフェースの CNI 設定の CR としての作成 リンクのコピーリンクがクリップボードにコピーされました!
追加インターフェースを Pod に割り当てる必要がある場合、インターフェースを定義する CR は Pod と同じプロジェクト (namespace) に置かれる必要があります。
CNI 設定を CR として保存するプロジェクト、およびその CR を使用する Pod を作成します。
oc new-project multinetwork-example
$ oc new-project multinetwork-exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 追加のネットワークインターフェースを定義する CR を作成します。以下の内容を含む、
macvlan-conf.yamlという YAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定はプラグインに固有のものです。CNI 設定部分の
type行に注意してください。CNI 設定の部分のtype行をメモしてください。 この例では、ネットワーク用の IPAM (IP アドレス管理) パラメーターのほかに、masterフィールドは、Pod をホストするノードにあるネットワークインターフェースを参照する必要があります。以下のコマンドを実行して CR を作成します。
oc create -f macvlan-conf.yaml
$ oc create -f macvlan-conf.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
						この例は、macvlan CNI プラグインをベースにしています。AWS 環境では、macvlan トラフィックはフィルターされる可能性があるため、必要な宛先に到達しない可能性があります。
					
6.3.2. 追加インターフェースの CR の管理 リンクのコピーリンクがクリップボードにコピーされました!
					追加インターフェースの CR は、oc CLI を使用して管理できます。
				
以下のコマンドを使用して、追加リソースの CR を一覧表示します。
oc get network-attachment-definitions.k8s.cni.cncf.io
$ oc get network-attachment-definitions.k8s.cni.cncf.io
以下のコマンドを使用して、追加インターフェースの CR を削除します。
oc delete network-attachment-definitions.k8s.cni.cncf.io macvlan-conf
$ oc delete network-attachment-definitions.k8s.cni.cncf.io macvlan-conf
6.3.3. CR を使用するアノテーション付き Pod の作成 リンクのコピーリンクがクリップボードにコピーされました!
					追加インターフェースを使用する Pod を作成するには、CR を参照するアノテーションを使用します。以下の内容を含む Pod についての samplepod.yaml という YAML ファイルを作成します。
				
- 1
 annotationsフィールドには、k8s.v1.cni.cncf.io/networks: macvlan-confが含まれます。 これは、先に定義した CR のnameフィールドに相関します。
					以下のコマンドを実行して samplepod Pod を作成します。
				
oc create -f samplepod.yaml
$ oc create -f samplepod.yaml
追加のネットワークインターフェースが作成され、Pod に割り当てられているのを確認するには、以下のコマンドを使用して IPv4 アドレス情報を一覧表示します。
oc exec -it samplepod -- ip -4 addr
$ oc exec -it samplepod -- ip -4 addr
3 つのインターフェースが出力に一覧表示されます。
6.3.3.1. 複数インターフェースの Pod への割り当て リンクのコピーリンクがクリップボードにコピーされました!
						複数の追加インターフェースを Pod に割り当てるには、複数の名前を、Pod 定義の annotations フィールドにカンマ区切りの形式で指定します。
					
						Pod 定義の以下の annotations フィールドは、追加インターフェースの複数の異なる CR を指定します。
					
  annotations:
    k8s.v1.cni.cncf.io/networks: macvlan-conf, tertiary-conf, quaternary-conf
  annotations:
    k8s.v1.cni.cncf.io/networks: macvlan-conf, tertiary-conf, quaternary-conf
						Pod 定義の以下の annotations フィールドは、追加インターフェースに同じ CR を指定します。
					
  annotations:
    k8s.v1.cni.cncf.io/networks: macvlan-conf, macvlan-conf
  annotations:
    k8s.v1.cni.cncf.io/networks: macvlan-conf, macvlan-conf
6.3.4. 実行中の Pod のインターフェース設定の表示 リンクのコピーリンクがクリップボードにコピーされました!
Pod の実行後に、作成された追加インターフェースの設定を確認できます。先の例と同じ Pod を表示するには、以下のコマンドを実行します。
oc describe pod samplepod
$ oc describe pod samplepod
					出力の metadata セクションには、JSON 形式で表示されるアノテーションの一覧が含まれます。
				
					最初のアノテーション k8s.v1.cni.cncf.io/networks: macvlan-conf は、例で作成された CR を参照します。このアノテーションは Pod 定義で指定されています。
				
					2 つ目のアノテーションは、 k8s.v1.cni.cncf.io/networks-status です。k8s.v1.cni.cncf.io/networks-status には 2 つのインターフェースが一覧表示されます。
				
- 
							最初のインターフェースは、デフォルトネットワーク 
openshift-sdnのインターフェースを記述します。このインターフェースはeth0として作成されます。これは、クラスター内の通信に使用されます。 - 
							2 つ目のインターフェースは、作成した追加インターフェース 
net1です。上記の出力は、Pod に割り当てられた IP アドレスなど、インターフェースの作成時に設定されたいくつかのキーの値を一覧表示しています。