現象
- RancherからStack作ると以下のエラーが出るようになった
Timeout getting IP address
- これは、コンテナ内で名前解決が一切できなくなって、 IP取得がうまくいってないせいだと思われる. (コンテナ入って、確認したところ一切名前解決できていなかった)
対策
- 以下のコマンドをAgent側で実行(centOSの場合 *他OSは適宜変更お願いします)
# Dockerを停止
/etc/init.d/docker stop
# brctl(ブリッジ接続に関するツール)をインストール
yum install bridge-utils
# natの設定を削除(違うかもです)
iptables -t nat -F
# インタフェースdocker0を停止
ifconfig docker0 down
# brctl を利用して docker0 を削除
brctl delbr docker0
# Dockerを起動
/etc/init.d/docker start
- これを実行した後、もともと動いているコンテナが Rancherで認識されなくなった。
- おそらく、ネットワーク構成がいろいろ変わったので 再認識させる必要あり。
- もっといい方法があるかもしれないが、以下で対策。
- agentをRancherから削除
- agent側のRancherに関するコンテナ削除
- agentをRancherに再登録
- これでも復活しないコンテナ・Stackは再作成
以上。