Docker イメージで acitoolkit を手軽に試す
Cisco ACI の設定は通常、Web UI で十分に事足ります。しかし、「大量の項目を効率よく設定したい」「作業を自動化したい」という場合はスクリプト (プログラム) を活用するのが便利です。スクリプトから ACI にアクセスする為の手段も幾つかあるのですが、Python を使って簡単なスクリプトから ACI を操作出来る acitoolkit の使い方を覚えておくと便利です。acitoolkit を自分の環境にインストールしてしまうのもひとつの方法ではあるのですが、Docker イメージを使う方法も手軽でオススメです。
ACI へアクセスする手段¶
ACI へアクセスする手段を表にまとめると概ね以下だと思います。ここにリストアップしたツールでは出来ないような、高度な機能を利用したい場合は UCS Director を利用することになると思います。acitoolkit は「UCS Director を導入する程では無いが、少し自動化にチャレンジしたい」といった場合に有力な選択肢のひとつだと思います。
No. | 方法 | 標準で付属しているのか? | 備考 |
---|---|---|---|
1 | Web UI | ◯ | 専門的なコマンドを覚えなくても、ブラウザとマウスで操作可能 |
2 | CLI | ◯ | 専門的なコマンドを覚える必要がある |
3 | API Inspector | ◯ | 実行されたコマンドの REST API 呼び出しを確認することが出来る |
4 | Visore | ◯ | GUI で MIT (Management Information Tree) を確認出来る |
5 | Cobra SDK | ◯ | Pytyon を使って自動化出来る |
6 | APIC Rest to pYthon Adapter | X | 「arya is a tool that will convert APIC object documents from their XML or JSON form into the equivalent Python code leveraging the Cobra SDK.」とのこと |
7 | acitoolkit | X | 簡単な Python スクリプトで ACI を操作出来る |
acitoolkit の Docker イメージを開始する¶
acitoolkit のインストール済み Docker イメージも公開されているので、利用は簡単です。以下のように実行すればコンテナが起動します。
1 |
|
実際の実行例は以下ようになると思います。初回は Docker イメージを pull しますので、コンテナの起動までやや時間がかかると思います。2 回目以降は数秒でコンテナが起動すると思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
ACI へアクセスする為の資格情報を用意する¶
acitoolkit から ACI へアクセスする際、毎回資格情報(ログイン情報)を求められます。これを省略する為に acitoolkit を利用するスクリプトと同じディレクトリに credentials.py というファイルを以下のような内容で作成します。
1 2 3 |
|
但し、現時点の Docker イメージには vim のようなエディタがインストールされていないようなので、以下のようにリダイレクトで credentials.py を作成します。
1 2 3 |
|
サンプルを実行する¶
credentials.py が用意出来たらサンプルを実行してみます。最も簡単なサンプルのひとつである、テナントの一覧を表示する「aci-show-tenants.py」を実行してみます。
1 2 3 4 5 6 7 |
|
意図した通り、テナントの一覧が表示されました。
より小さな Docker コンテナを利用する¶
若干… ではありますが、イメージを小さくした Docker イメージを用意しました。公式イメージは Ubuntu ベースなのですが、よりイメージを小さくする為に Alpine ベースでイメージを作成したものも用意しました。
現時点で各々のイメージサイズは以下の通りです。
イメージ名 | サイズ | 備考 |
---|---|---|
dockercisco/acitoolkit | 606MB | acitoolkit 公式イメージ |
sig9/acitoolkit | 593MB | 公式イメージに vim-tiny を追加したイメージ |
sig9/acitoolkit-alpine | 515MB | Alpine ベースで作成したイメージ |
docker images で確認した結果は以下の通りです。
1 2 3 4 5 |
|