LoginSignup
8
7

More than 5 years have passed since last update.

podのlogが確認したい

Last updated at Posted at 2018-12-14

はじめに

この記事はユニークビジョン株式会社 Advent Calendar 2018の15日目の記事です。
最近始まった開発でk8sを利用することとなり、その際にrailsのログを見る方法がわかららず苦労していました。というかそもそもpodって何だろうっというレベルだったので、簡単にpodの説明をしたのちに掲題の内容に移りたいと思います。

podとは

公式(https://kubernetes.io/docs/concepts/workloads/pods/pod/) によると、「podは共有ストレージ/ネットワークと1つ以上のグループ、およびコンテナを実行する方法の仕様です。(google翻訳)」とあります。docker(鯨)の群がpodというそうで、コンテナ群とでもいうのか、何か一つの機能を持つ集合というの認識です。
では、実際に起動しているminikubeをみていきたいと思います。

logを確認する

まず、起動しているpodの一覧を取得します。一覧を取得するには「kubectl get pods」コマンドを利用します。

$ kubectl get pods
NAME                       READY   STATUS    RESTARTS   AGE
postgres-d4447dbd5   1/1     Running   0          2h
rails-7bf5585b55     1/1     Running   0          4h

一覧が取得できました。現在はpostgresとrailsのpodが起動しています。ここからrailsのpod内のログを確認してみます。特定のpodのログを確認するためには、「kubectl logs pod名」コマンドを利用します。
pod名は先ほど取得した名前で今回はrailsの方を利用します。

$ kubectl logs rails-7bf5585b55
 // ・・・(中略
  Rendering admin/companies/new.html.erb within layouts/application
  Rendered admin/common/_errors.html.erb (1.3ms)
  Rendered admin/companies/_form.html.erb (10.9ms)
  Rendered admin/companies/new.html.erb within layouts/application (12.7ms)
Completed 200 OK in 117ms (Views: 97.9ms | ActiveRecord: 9.3ms)

取れました!これで、railsログを追ったり、printデバッグで呼ばれた順番を確認したりと開発が捗ります。

まとめ

k8sのpodのログを確認する方法をまとめました。さらなるpodの詳細は「kubectl get pod pod名 -o json」でpodのコンテナ名を調べて、「kubectl log pod名 コンテナ名」でコンテナごとのログを出力したりとまだまだできることが多そうです。

次回は@toba_さんです!

8
7
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
8
7