3.5. イーサネットベースの SR-IOV 割り当てのランタイム設定
Pod を追加のネットワークに割り当てる場合、ランタイム設定を指定して Pod の特定のカスタマイズを行うことができます。たとえば、特定の MAC ハードウェアアドレスを要求できます。
Pod 仕様にアノテーションを設定して、ランタイム設定を指定します。アノテーションキーは k8s.v1.cni.cncf.io/networks で、ランタイム設定を記述する JSON オブジェクトを受け入れます。
イーサネットベースの SR-IOV ネットワーク割り当てのランタイム設定例
apiVersion: v1
kind: Pod
metadata:
name: sample-pod
annotations:
k8s.v1.cni.cncf.io/networks: |-
[
{
"name": "<network_attachment>",
"mac": "<mac_address>",
"ips": ["<cidr_range>"]
}
]
spec:
containers:
- name: sample-container
image: <image>
imagePullPolicy: IfNotPresent
command: ["sleep", "infinity"]
ここでは、以下のようになります。
k8s.v1.cni.cncf.io/networks.name-
SR-IOV ネットワーク割り当て定義 CR の名前。値の例は
iblです。 k8s.v1.cni.cncf.io/networks.mac-
オプションのパラメーター。SR-IOV ネットワーク割り当て定義 CR で定義されるリソースタイプから割り当てられる SR-IOV デバイスの MAC アドレスです。この機能を使用するには、
SriovNetworkオブジェクトで{ "mac": true }も指定する必要があります。値の例はc2:11:22:33:44:55:66:77です。 k8s.v1.cni.cncf.io/networks.ips-
オプションのパラメーター。SR-IOV ネットワーク割り当て定義 CR で定義されるリソースタイプから割り当てられる SR-IOV デバイスの IP アドレス。IPv4 と IPv6 アドレスの両方がサポートされます。この機能を使用するには、
SriovNetworkオブジェクトで{ "ips": true }も指定する必要があります。値の例は192.168.10.1/24", "2001::1/64です。