005-K8s-故障排查
故障排除 ¶
使用 kubectl 命令行界面部署了 nginx 并且查看了 Deployment 和 Pod。kubectl 还有如下四个常用命令,在我们排查问题时可以提供帮助:
kubectl get - 显示资源列表 ¶
## kubectl get 资源类型
# 获取类型为Deployment的资源列表。
kubectl get deployments
# 获取类型为Pod的资源列表
kubectl get pods
# 获取类型为Node的资源列表
kubectl get nodes
名称空间
在命令后增加 -A 或 --all-namespaces 可查看所有 namespace
中的对象,使用参数 -n 可查看指定名称空间的对象,例如
# 查看所有名称空间的 Deployment
kubectl get deployments -A
# 查看 kube-system 名称空间的 Deployment
kubectl get deployments -n kube-system
kubectl describe - 显示有关资源的详细信息 ¶
# kubectl describe 资源类型 资源名称
#查看在命名空间 datarc 中名称为 nginx-XXXXXX 的 Pod 的信息
kubectl describe pods nginx-XXXXXX -n datarc
#查看名称为 nginx 的 Deployment 的信息
kubectl describe deployment nginx
kubectl logs - 查看 pod 中容器打印日志( docker logs 类似) ¶
# kubectl logs Pod名称
#查看名称为 nginx-pod-XXXXXXX 的 Pod 内的容器打印的日志
kubectl logs <PodeName> -n <namespace>
kubectl logs -f nginx-pod-XXXXXXX
kubectl exec - 在 pod 中的容器环境内执行命令(docker exec 类似) ¶
# kubectl exec Pod名称 操作命令
# 在名称为nginx-pod-xxxxxx的Pod中运行bash
kubectl exec -it nginx-pod-xxxxxx /bin/bash
kubectl exec <containerName> -- curl -s <URL>