LoginSignup
1
0

More than 3 years have passed since last update.

kubernetesでpodのstatusがREADY 0/1になっててどうすればいいか分からなくて困った、というかログの確認方法が分からなかった

Last updated at Posted at 2019-07-10

はじめに

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楽しい。名前変だし勝手に避けてたけど、だんだん名前もかっこよく思えてきた。
けどやっぱり、開発のが楽しいかな。。
どこで動かすかより、何を動かすかのが大事だよね。。
一生畑を耕して、野菜植えないみたいなことにはなりたくないので、私は耕し屋さんではなく、野菜を育てるところまで頑張って、立派な農家を目指したいと思います!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0