1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Kubernetesのログに混乱する件

Last updated at Posted at 2021-12-12

#これなに?
どんな時にどのログを見ればいいのかはっきり理解できてないので、まずは根本的なkubernetesのログの種類をまとめておこう。

#[混乱の理由] 名前が紛らしい
コンテナログ、コンポーネントログ、システムコンポーネントログ、ノートログ、アプリケーションログ、クラスターログ。
いろんなサイトでログを説明してくれてるけど、みな少しづづ呼び名が違ったりしてどれがどれだか混乱。(コンポーネントログ、と言ってもどれもある意味コンポーネントログな気がするし。。)

#[整理するため]大きく5種類のログにわけられそう

  • コンテナログ(aka アプリケーションログ、コンポーネントログ)
  • クラスタログ(aka システムコンポーネントログ)
  • ノードログ
  • イベントログ
  • 監査ログ

###コンテナログ
アプリのログ。

$ kubectl logs {app-name}

###クラスタログ
コンテナ内で走っているコンポーネントログ
k8sのデフォルトサービス/コンポーネントの etcd, kube-apiserver, kube-scheduler, kube-proxy, kube-controller-managerなど
###ノードログ
クラスタログの一部だけど、コンテナ外、OSレベルで走ってるシステムコンポーネントのログ。kubeletやcontainer runtime等

$ journalctl

###イベントログ
リソースの変化やなぜPodが失敗したかなどのエラーログがみれる
namespaceのイベントログ

$ kubectl get events -n <namespace>

Podのイベントログ

$ kubectl describe pod <pod-name>

###監査ログ
なにが、いつ、だれによって、どうやって起きた?
どこでみつかり、どこで始まり、どうなっった?
audit policyで設定する
https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#audit-policy

##ちなみに
k8sのオフィシャルページにはコントロールプレーンコンポーネントについての説明があり、以下が含まれるらしい(https://kubernetes.io/ja/docs/concepts/overview/components/)

etcd, kube-apiserver, kube-scheduler, kube-controller-manager

これkube-proxy以外がクラスタログと同じ。kube-proxyはkubeletと同じノードコンポーネントにカテゴライズされてる。それでもube-proxyはOSレベルで走ってないので、ログ的にはノードログではない。。??
##まとめ
監査ログはちょっと外とちがう感じがするけど、調査するのにはこれらの情報は役に立ちそう。今後、実際のログの取得の方法とかもふくめもう少し掘り下げていこうと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?