アプリケーションのログは標準出力に書き込むことで、Pod経由で確認できます。
目次
kubectl logsコマンド
kubectl logs <Pod名>でPodのログを見ることができます。
Podに複数のContainerが存在する場合は
kubectl logs <Pod名> -c <Container名>でContainerも指定します。
まずはhello-pksアプリケーションのPod名を確認するため、次のコマンドを実行してください。
kubectl get pod -l app=hello-pks
出力結果
NAME READY STATUS RESTARTS AGE
hello-pks-795466b574-twc5v 1/1 Running 0 7s
hello-pks-795466b574-xs887 1/1 Running 0 7s
次のコマンドを実行してPodのログを確認してください。
kubectl logs hello-pks-795466b574-twc5v
出力結果
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.1.RELEASE)
2019-09-02 01:16:17.848 INFO 1 --- [ main] c.example.hellopks.HelloPksApplication : Starting HelloPksApplication v0.0.1 on hello-pks-795466b574-twc5v with PID 1 (/app.jar started by root in /)
... (略) ...
2019-09-02 01:16:22.311 INFO 1 --- [ main] r.ipc.netty.tcp.BlockingNettyContext : Started HttpServer on /0.0.0.0:8080
2019-09-02 01:16:22.327 INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 8080
2019-09-02 01:16:22.333 INFO 1 --- [ main] c.example.hellopks.HelloPksApplication : Started HelloPksApplication in 5.253 seconds (JVM running for 6.141)
-fオプションをつけると、コマンド実行時以降のログも出力されます。
kubectl logs -f hello-pks-795466b574-twc5v
sternコマンド
kubectl logsコマンドはPodを一つ一つ指定する必要があるため、Podが複数ある場合に集約するのが大変です。
複数のPodのログを集約して確認するのに便利なツールがSternです。sternコマンドを使うと、Pod名の正規表現を指定することで、条件に合致した複数のPodのログをまとめて確認することできます。
Mac(brew)の場合は
brew install stern
でインストールできます。あるいはこちらから実行可能バイナリをダウンロードして、PATHの通ったディレクトリにコピーしてください。
次のコマンドを実行してください。
stern hello-pks
出力結果
+ hello-pks-795466b574-xs887 › hello-pks
+ hello-pks-795466b574-twc5v › hello-pks
hello-pks-795466b574-twc5v hello-pks
hello-pks-795466b574-twc5v hello-pks . ____ _ __ _ _
hello-pks-795466b574-twc5v hello-pks /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
hello-pks-795466b574-twc5v hello-pks ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
hello-pks-795466b574-twc5v hello-pks \\/ ___)| |_)| | | | | || (_| | ) ) ) )
hello-pks-795466b574-twc5v hello-pks ' |____| .__|_| |_|_| |_\__, | / / / /
hello-pks-795466b574-twc5v hello-pks =========|_|==============|___/=/_/_/_/
hello-pks-795466b574-twc5v hello-pks :: Spring Boot :: (v2.0.1.RELEASE)
hello-pks-795466b574-twc5v hello-pks
hello-pks-795466b574-twc5v hello-pks 2019-09-02 01:16:17.848 INFO 1 --- [ main] c.example.hellopks.HelloPksApplication : Starting HelloPksApplication v0.0.1 on hello-pks-795466b574-twc5v with PID 1 (/app.jar started by root in /)
hello-pks-795466b574-twc5v hello-pks 2019-09-02 01:16:17.862 INFO 1 --- [ main] c.example.hellopks.HelloPksApplication : No active profile set, falling back to default profiles: default
... (略) ...
hello-pks-795466b574-twc5v hello-pks 2019-09-02 01:16:22.311 INFO 1 --- [ main] r.ipc.netty.tcp.BlockingNettyContext : Started HttpServer on /0.0.0.0:8080
hello-pks-795466b574-twc5v hello-pks 2019-09-02 01:16:22.327 INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 8080
hello-pks-795466b574-twc5v hello-pks 2019-09-02 01:16:22.333 INFO 1 --- [ main] c.example.hellopks.HelloPksApplication : Started HelloPksApplication in 5.253 seconds (JVM running for 6.141)
hello-pks-795466b574-xs887 hello-pks
hello-pks-795466b574-xs887 hello-pks . ____ _ __ _ _
hello-pks-795466b574-xs887 hello-pks /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
hello-pks-795466b574-xs887 hello-pks ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
hello-pks-795466b574-xs887 hello-pks \\/ ___)| |_)| | | | | || (_| | ) ) ) )
hello-pks-795466b574-xs887 hello-pks ' |____| .__|_| |_|_| |_\__, | / / / /
hello-pks-795466b574-xs887 hello-pks =========|_|==============|___/=/_/_/_/
hello-pks-795466b574-xs887 hello-pks :: Spring Boot :: (v2.0.1.RELEASE)
hello-pks-795466b574-xs887 hello-pks
hello-pks-795466b574-xs887 hello-pks 2019-09-02 01:16:17.672 INFO 1 --- [ main] c.example.hellopks.HelloPksApplication : Starting HelloPksApplication v0.0.1 on hello-pks-795466b574-xs887 with PID 1 (/app.jar started by root in /)
... (略) ...
hello-pks-795466b574-xs887 hello-pks 2019-09-02 01:16:22.157 INFO 1 --- [ctor-http-nio-1] r.ipc.netty.tcp.BlockingNettyContext : Started HttpServer on /0.0.0.0:8080
hello-pks-795466b574-xs887 hello-pks 2019-09-02 01:16:22.164 INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 8080
hello-pks-795466b574-xs887 hello-pks 2019-09-02 01:16:22.169 INFO 1 --- [ main] c.example.hellopks.HelloPksApplication : Started HelloPksApplication in 5.231 seconds (JVM running for 6.019)
コンソール上のログにはPodごとに異なる色が使われます。
ログの転送
LongSinkについて。
https://docs.pivotal.io/pks/1-5/create-sinks.html
TBD