前言
公司应用部署在k8s,遇到问题,需要进入容器内部看日志、查看配置文件 等等操作,特在此总结记录。
注意:
有些公司会使用堡垒机(如:JumpServer)登录,这时候可能你会有多个 namespace 权限。
因此,需要在每句命令后加上-n <namespace>
常用命令
查看所有正在运行的pod
$ kubectl get pods -n <namespace>
NAME READY STATUS RESTARTS AGE
marvel-test-54c4686989-bjhqh 1/1 Running 0 4d18h
marvel-service-955545d65-qs9gm 1/1 Running 0 3d15h
ironman-test-78799dccfb-qgkt4 1/1 Running 0 43d
查看容器日志
#查看指定pod日志(非实时)
$ kubectl logs <pod_name> -n <namespace>
#查看指定pod日志(实时)
$ kubectl logs -f <pod_name> -n <namespace>
#类似tail -f的方式查看(tail -f 实时查看日志文件 tail -f 日志文件log)
查看pod的详细信息,以yaml格式或json格式显示
# 以yaml格式查看
$ kubectl get pods <pod_name> -o yaml -n <namespace>
# 以json格式查看
$ kubectl get pods <pod_name> -o json -n <namespace>
查看pod的描述信息
$ kubectl describe pod <pod_name> -n <namespace>
查看node或pod的资源使用情况
#查看node资源使用情况
$ kubectl top node -n <namespace>
#查看pod资源使用情况
$ kubectl top pod -n <namespace>
进入容器
$ kubectl exec -it <pod_name> /bin/sh -n <namespace>
·
·
·