0
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の中に入るコマンド備忘録とログを確認する方法

Posted at

なかに入りたい時

クラスタの中のAPIからMySQLに繋がらない時に、毎回ビルドしてデプロイしているとエラーも見にくいし死ぬほど時間かかるので、
サーバーレスじゃないメリットとして、本番の中に入ってごちょごちょできることが挙げられる。

例えばMySQLの場合だったら、

kubectl run --restart=Never mysql --image=mysql -- bash -c 'while true; do sleep 10000; done'

こんな感じで、Podを立てることができます。
このmysqlのなかに入りたいのであれば、

kubectl exec -it mysql bash

これで入れます。

APIサーバーのなかに入りたいとかだったら
まずは、どんなPodがあるのかを確認してください。

$ kubectl get pods

NAME                                  READY   STATUS    RESTARTS   AGE
altair-deployment-74bc9b84bf-4h4fm    1/1     Running   0          18d
altair-deployment-74bc9b84bf-tqqvx    1/1     Running   0          18d
regulus-deployment-5796dcfdb7-879xm   1/1     Running   0          18d
regulus-deployment-5796dcfdb7-rt5h8   1/1     Running   0          18d
sirius-deployment-c6d9fbdd4-8kz2j     1/1     Running   0          18d
sirius-deployment-c6d9fbdd4-smkcv     1/1     Running   0          18d

Podのなかに入るときは、

$ kubectl exec -it sirius-deployment-c6d9fbdd4-8kz2j ash
/go/src/github.com/Tech-Design-Inc/sirius # 

で入れれます。
alpine linuxはbusyboxを元に作られていているらしいです。
https://stackoverflow.com/questions/35689628/starting-a-shell-in-the-docker-alpine-container
ashで入るので、気をつけてください。
alpineじゃないCentとかであれば、bashで入れます。

ログを確認したい時

本番でエラーが出たとかそういう時にとりまログみたいですよね。

そういうときは、sternを使うとめっちゃいいです。
kubectl logs -f
を使うと別のPodのログが別々に取れるので、見にくくてしょうがないんですよ。

sternは名前にマッチするやつ全部返してくれるので、サービス名で検索すれば、全部ヒットします。

そこが強いです。

$ brew install stern
$ stern sirius

使い方はこんな感じです。
マッチするすべてのPodのログが色付きで見えます。

0
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
0
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?