tinet
1つの設定ファイルからネットワークを生成したり削除したりコマンド実行するシェルスクリプトを生成する @slankdev: @bells17_ @antiberial これは, 以下のリンクのようにnetwork topologyの情報と各ノードで実行すべきコマンドを一つのyamlに押さえ込んで, 検証環境構築を超簡単にportableにするツールで, 上記のkamueeの開発でも使いましたし, LINEのnetwork service開発のための検証でも活用しています. インストール手順
GitHubのREADME.mdのQuick Install参照
for ubuntu user, upgrading the kernelのところは設定不要
おそらく,Ubuntu16.04あたりでDockerのインストールに必要だった処理
環境作成までの流れ
spec.yamlに設定を書き込む
ただし、内容が古い
tinet initで出力されるテンプレートファイルを確認して、仕様書にないところはソースコードを読むのがオススメ
code:usage
tinet up -c spec.yaml | sudo sh -x # Dockerやnetnsの起動,リンクアップ
tinet conf -c spec.yaml | sudo sh -x # IPアドレスの割り当てなど
tinet test -c spec.yaml | sudo sh -x # ネットワーク環境のテスト
tinet down -c spec.yaml | sudo sh -x # ネットワーク環境の削除
tinet hoge -c spec.yamlでシェルスクリプトを標準出力先に出力するので,それをシェルに流し込んでいる コマンドの説明
code:usage-example.txt
COMMANDS:
build Build docker Image from tinet config file
# 設定ファイルで指定されているDockerfileをビルドするコマンドを出力
check check config
# 設定ファイルで定義したネットワークが相互接続可能なトポロジーか確認
conf configure Node from tinet config file
# node_configs:で指定したノードに対して実行するコマンドを出力
# IPアドレスの設定などをここでする
down Down Node from tinet config file
exec Execute Command on Node from tinet config file.
# 引数にノード名 コマンドの形式で渡すと、指定したノード上で実行されるコマンドを出力
img visualize network topology by graphviz from tinet config file
init Generate tinet config template file
ps docker and netns process
# tinetで生成したものと関係ないノードも起動しているならば表示されることに注意
pull Pull Node docker image from tinet config file
# 指定した設定ファイルに含まれているdockerイメージをPull(ダウンロード)する
reconf Stop, remove, create, start and config
# down -> up -> conf
reup Stop, remove, create, start
# down -> up
test Execute test commands from tinet config file.
# 引数なしのとき、設定ファイルのtest:で指定されているコマンドを出力
# 引数が1つ与えられたときname: に対応するテストコマンドを出力
# なお、コマンドはdocker exec, ip netns execもつけておく必要がある
up create Node from tinet config file
# ノードの起動およびネットワークの構築をするコマンドを出力
upconf Create, start and config
# up -> conf
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
--version, -v print the version (default: false)
precmd, preinit, postinit, postfiniについて
tinet upコマンドのとき
precmd -> preinit -> ノード・スイッチ作成 -> postinitの順
tinet downコマンドのとき
ネットワーク削除 -> postfiniの順
参考文献
https://www.youtube.com/watch?v=_gaeI56vmPI
tinetの説明 22:12くらいから
public.icon