このブログ投稿では、すべての方法について説明します。
抜粋-Ansible 2のホスト名とパターン
インベントリのホスト名
Ansible 2では、インベントリのホスト名が有効なIPv4 / IPv6アドレスまたはホスト名である必要があります(つまり、x.example.comまたはx、ただしx..example.comまたはx--ではありません)。拡張機能として、ホスト名ラベルでUnicodeワード文字を受け入れます。間違いがあると、特定の解析エラーが発生し、実行中の不可解なエラーは発生しません。
インベントリのホスト名では、アルファベットまたは数値の範囲を使用して複数のホストを定義することもできます。たとえば、foo [1:3]はfoo1〜foo3を定義し、foo [x:z:2]はfoxおよびfozに展開されます。アドレスには数値範囲を使用できます:192.0.2。[3:42]。
IPv6アドレス
IPv6アドレスの解析に関する多数の問題も修正され、それらの動作はインベントリ(.iniファイル)全体およびプレイブック(たとえば、ホスト:行およびadd_host)で一貫しました。
推奨されるすべてのIPv6アドレス表記(128ビットのスペルからさまざまな圧縮形式まで)がサポートされています。ポート番号のあるアドレスは、[addr]:portのように記述する必要があります。16進数の範囲を使用して、インベントリファイルで複数のホストを定義することもできます(例:9876 :: [a:f]:2)。
いくつかの小さいが必要なバグ修正は、解析の変更と密接に関連しており、IPv6アドレスをsshおよびrsyncに渡す際の問題を修正します。まとめると、これらの変更により、Ansibleで実際にIPv6を使用できるようになります。
したがって、これらのIPv6などのパターンは許可されます。
- 完全指定の128ビットアドレス
- [addr]:port
- 16進数の範囲-9876 :: [a:f]:2
- さまざまな形式の圧縮範囲-FF01 :: [1:6]
簡略化された例:
# IPv6 Address # Simplified Notation
----------------------------------------- ----------------------------
- FF01:0000:0000:0000:0000:0000:0000:0001 - FF01::1
- 2031:0000:130F:0000:0000:09C0:876A:130B - 2031:0:130F::9C0:876A:130B
- 0000:0000:0000:0000:0000:0000:0000:0001 - ::1
- FE80:0000:0000:5EFE:0192.0168.0001.0123 - FE80::5EFE:192.168.1.123
- FE80:0000:0000:0000:1585:4868:495F:D521 - FE80::1585:4868:495F:D521
参考文献