はじめに
kubernetes触り始めました!!
全然興味なかったんですけどやってみると楽しいですね。
結局どんなアプリケーションを動かすかが大事だと思ってたんでインフラ系は興味ナッシンだったのですが、環境つくるの楽しい。まだはじめの一歩どころか小指の爪切ったくらいのレベルなんですけども。
で、色々チュートリアルしたりしてたんですけど、PodがRunningにならないの。。
どうすればいいか分からなくて泣いた。
Errorログどこに出るの
私もね、一応SEなんでね、ログをみて原因を探ろうとしましたよ。
さすがにログも見ないで助けを求めちゃうようなゆとり社員じゃないですから。
###どこでログみるの!!??###
結局ログ見ないまま先輩に聞きました。
##エラーログの出し方##
ということで学んだ内容を共有します。
kubernetesでは、ログを出すとき以下2つのコマンドが使えます。
1個目: logs
コンテナが出力しているログを確認する方法。コンテナ内で起動してるアプリケーションに原因がある場合はこちら。
2個目: describe
podのイベントを出力する。メモリ足りない!とかマウント失敗!などのkubernetesの設定に問題がある場合はこちら。
流れとしては、問題のあるpodの名前を調べて、上記のコマンドを実行します。
まずは調べたいpodの名前を調べます。
$ kubectl get po
NAME READY STATUS RESTARTS AGE
guestbook-v1-544fbbc99b-d 0/1 Pending 0 23h
**poはpodの短縮名称です。**短縮名知ったら使いたくなる。
上記の例だと、guestbook-v1-544fbbc99b-d がpodの名前です。
podの名前が分かったので、describeないしlogsコマンドでログをGETできます。
$ kubectl describe pod guestbook-v1-544fbbc99b-d
$ kubectl logs guestbook-v1-544fbbc99b-d47t5
describeの場合は、リソースタイプを指定する必要があるので、pod [pod名]と指定する必要があります。
pod以外でも、リソースタイプを指定すればログをとれます。
$ kubectl describe pv pv名
$ kubectl describe svc サービス名
などなど。
##参考
エラーの原因がわかった後は、以下の記事を参考に解決すると良いかも。
Kubernetesのポッドが起動しない原因と対策
##さいごに
kubernetes楽しい。名前変だし勝手に避けてたけど、だんだん名前もかっこよく思えてきた。
けどやっぱり、開発のが楽しいかな。。
どこで動かすかより、何を動かすかのが大事だよね。。
一生畑を耕して、野菜植えないみたいなことにはなりたくないので、私は耕し屋さんではなく、野菜を育てるところまで頑張って、立派な農家を目指したいと思います!!