Posted at

kubernetesのNodeNotReadyを再現させる

More than 1 year has passed since last update.

一部nodeがNodeNotReadyになる障害があって検証のために状況を再現させたかったのです

色々模索しましたがiptablesで遮断するのが一番お手軽でした

NodeNotReadyにさせたいnodeにログインして

# iptables -I OUTPUT 1 -j DROP -d [apiサーバのエンドポイント]

しばらくするとNodeNotReadyになります

回復させたい時は

# iptables -D OUTPUT 1

としてください

追加する時にdnsで指定しているなら複数行追加されている場合もあるのでiptables -L OUTPUTで確認しながら追加されたものを全部消します

今回はdestinationをapiサーバに絞ってあるので問題ないですが、

SSHでログインしながらALLをDROPするとその瞬間から何もできなくなります(1回やってしまった)

起こった障害になるべく近付けるためこの形にしましたがINPUTをDROPするのでも同じことになるかも?

正攻法っぽくapiでnodeのconditionsをPATCHしてもすぐにNodeReadyに回復するのでそっちでやるのは無理そうでした