stackhpc.vxlan
VXLAN
この役割は、Network Scripts、NetworkManager、または Systemd-Networkdを使用して、永続的なVXLANインターフェースを作成します。
役割の変数
この役割は、Network Scripts
と同じ変数名を使用します。Network Scriptsのドキュメントを確認することをお勧めします。以下は、この役割に関連し、サポートされている変数です。
vxlan_vni
: VXLANインターフェースのVXLANネットワーク識別子を設定します。
vxlan_ttl
: インターフェースを介して送信されるパケットの生存時間を設定します。
vxlan_phys_dev
: VXLANインターフェースとペアになる物理デバイスを設定します。
vxlan_dstport
: VXLANが存在するポートを設定します。
vxlan_bootproto
: インターフェースに使用するブートプロトコルを指定します(NetworkManagerまたはSystemd-Networkdを使用する場合はサポートされていないため、常に「none」とします)。
vxlan_onboot
: VXLANインターフェースをブート時に立ち上げる場合は「yes」、そうでない場合は「no」に設定します(Systemd-networkdではサポートされていません)。
vxlan_interfaces
: 作成するインターフェースのリストを指定し、上記の変数の特定のインスタンスに加えて他の変数も設定できます。
device
: VXLANインターフェースに割り当てられる名前
ipaddr
: VXLANインターフェースに割り当てられるIPV4アドレス(NetworkManagerまたはSystemd-Networkdを使用する場合はサポートされていない)
prefix
:ipaddr
に使用するサブネットマスク(NetworkManagerまたはSystemd-Networkdを使用する場合はサポートされていない)
group
: VXLANが動作するマルチキャストグループ
bridge
: 設定すると、このVXLANと指定したインターフェースの間にブリッジを確立します。
デフォルトでは、Network Scriptsが使用されますが、利用できない場合は他の方法が選択されます。Network Scripts、NetworkManager、またはSystemd-Networkdのいずれかを使用する場合は、force_ns
、force_nm
、またはforce_sd
をtrueに設定することで強制できます。
例のプレイブック
他の役割と同様に、プレイブックにこの役割を含めます。
- hosts: host1
roles:
- role: vxlan
vars:
vxlan_vni: 10
vxlan_interfaces:
- device: vxlan0
ipaddr: 192.168.0.2
group: 224.0.0.100
vxlan_ipaddr
のような変数は、ホストごとに定義するのが最良です。
/host_vars/host1
vxlan_interfaces:
- device: vxlan0
ipaddr: 192.168.0.2
group: 224.0.0.100
/host_vars/host2
vxlan_interfaces:
- device: vxlan0
ipaddr: 192.168.0.3
group: 224.0.0.100
各ホストに複数のVXLANインターフェースを定義することもできますが、vxlan_interfaces
で定義された各デバイスのためにユニークなvxlan_vni
を提供する必要があります。
/host_vars/host1
vxlan_interfaces:
- device: vxlan0
vni: 10
group: 224.0.0.200
- device: vxlan1
vni: 20
group: 224.0.0.200
VXLANインターフェースが動作するブリッジを設定することもできます。
/host_vars/host1
vxlan_interfaces:
- device: vxlan0
group: 224.0.0.10
bridge: breth1
ライセンス
Apache License 2.0
著者情報
Create persistent VXLAN interfaces with the use of Network Scripts
ansible-galaxy install stackhpc.vxlan