我有一个pod名叫another,用kubectl create创建后发现过了29分钟,状态还是处于ContainerCreating阶段。
使用kubectl describe命令检查:
从错误消息发现是因为这个pod attach volume失败:
FailedAttachVolume 2m1s (x22 over 31m) attachdetach-controller AttachVolume.Attach failed for volume "pvc-c4d41f5c-e7ed-11e8-8726-fe6d42bf075f" : googleapi: Error 400: RESOURCE_IN_USE_BY_ANOTHER_RESOURCE - The disk resource 'projects/sap-pi-coo-acdc-dev/zones/europe-west1-b/disks/shoot--k8s-train--shac-pvc-c4d41f5c-e7ed-11e8-8726-fe6d42bf075f' is already being used by 'projects/sap-pi-coo-acdc-dev/zones/europe-west1-b/instances/shoot--k8s-train--shacw46-worker-prvfv-z1-7844dc6744-ghd5m'
Warning FailedMount 31s (x14 over 29m) kubelet, shoot--k8s-train--shacw46-worker-prvfv-z1-7844dc6744-hhrmd Unable to mount volumes for pod "another_part-0110(13f15fa4-e819-11e8-8726-fe6d42bf075f)": timeout expired waiting for volumes to attach or mount for pod "part-0110"/"another". list of unmounted volumes=[content-storage]. list of unattached volumes=[content-storage default-token-6z5sk]
查看这个pod的yaml文件,果然发现有一个persistent volume的claim:
用命令kubectl get pv, 发现当前所有的persistent volume都被占用了(BOUND状态):
解决方案有很多种,处于测试目的,我只是简单地将另一个同样声明了nginx-pvc作为PersistentVolumeClaim的pod删除,然后这个名为another的pod状态就很快变成Running了:
从describe命令生成的日志里也能清楚的观察到这个成功mount volume的事件:
Normal SuccessfulAttachVolume 84s attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-c4d41f5c-e7ed-11e8-8726-fe6d42bf075f"
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
Kubernetes提供了多种机制来进行故障排查,比如使用`kubectl describe`命令来获取资源的详细信息,或者使用`kubectl exec`命令在运行中的Pod内执行命令。这些强大的工具可以帮助开发者深入理解应用和集群的行为。 ...
8. **故障排查与调试**:学习如何定位和解决Kubernetes集群中的问题,使用命令行工具如kubectl、describe命令和日志进行故障排查。 9. **版本管理和升级**:理解如何进行Kubernetes的版本升级,确保服务在升级过程...
7. **故障排查**:如何通过kubectl、describe、logs、exec等命令诊断问题,以及如何使用Kubernetes事件系统追踪问题根源。 通过实践这些脚本,不仅能加深对Kubernetes核心概念的理解,还能提升解决实际问题的能力,...
此外,`kubectl exec`则允许在Pod的容器内执行命令,帮助进行远程调试。 5. **端点访问**:`kubectl port-forward`命令可以将本地端口转发到集群中的Pod,使得开发者可以直接访问服务,而无需暴露服务到公共网络。 ...
- 查看服务状态:使用`kubectl get services`查看集群中的所有服务,`kubectl describe pod/your-pod`获取Pod的详细信息。 总结来说,kubernetes-client-windows-amd64 v1.10.11为Windows用户提供了一种强大且便捷...
3. **描述资源**:使用 `kubectl describe` 查看 Pod、Service 等资源的详细信息,了解它们的状态和配置。 4. **集群日志和审计**:通过设置日志级别和审计策略,收集集群级别的操作记录。 **安全与认证** 1. **...
- `kubectl apply -f <filename>`命令部署应用,`kubectl get`、`kubectl describe`等命令查看状态。 4. **服务发现与负载均衡** - Service通过标签选择器找到一组Pods,提供一个稳定的IP和端口。 - NodePort...
2. 事件查看:通过kubectl logs、describe命令获取Pod和Node的事件信息。 3. 诊断工具:使用kubectl debug、healer、kubeproxy-diagnostics等工具定位问题。 4. 备份与恢复:定期备份etcd数据,使用Velero进行集群...
6. **调试和日志**: `kubectl logs`用于查看pod的日志,`kubectl describe`提供详细信息,而`kubectl exec`则可以在pod内执行命令。 7. **更新和回滚**: `kubectl set`、`kubectl rollout`等命令可用于更新和回滚...
6. **故障排查**:通过`kubectl get`、`describe`、`logs`等命令检查Pod、Service和其他资源的状态,定位和解决问题。 7. **安全与网络策略**:使用RBAC(Role-Based Access Control)进行权限管理,利用Network ...
3. **故障排查**:通过`kubectl describe`、`kubectl logs`等命令了解Pod状态和日志,定位问题。 4. **扩展性**:k8s支持水平和垂直扩展,通过调整Deployment的副本数量或调整Pod资源请求来适应负载变化。 总结,...
8. **故障排查**:使用`kubectl describe`、`kubectl logs`和`kubectl exec`等命令诊断问题。 9. **网络策略**:使用Network Policy资源控制Pod之间的网络通信。 10. **安全与访问控制**:通过Role-Based Access ...
- 使用`kubectl get`、`describe`和`logs`命令检查资源状态和日志,进行故障排查。 - 定期执行健康检查和资源优化,确保集群的稳定运行。 在20230319k8s-1.23.8这个压缩包中,包含了部署Kubernetes 1.23.8所需的...
5. 日常运维:定期执行`kubectl describe`和`kubectl logs`命令,获取详细信息以进行故障排查。使用`kubectl exec`进入Pod进行命令行操作。 三、Kubernetes环境的运维实践 1. 自动化运维:使用Jenkins、GitLab CI/...
7. **调试和日志**:`kubectl describe` 和 `kubectl logs` 帮助排查问题,前者提供资源详细信息,后者显示 pod 内容器的日志。 **Minikube 知识点:** 1. **本地集群**:Minikube 提供了一个简单的方式,在本地...
5. 更强的日志和调试能力:kubectl logs和kubectl describe命令得到优化,提供了更详尽的运行日志和状态信息,便于问题排查。 三、kubectl基本操作 1. 配置集群连接:使用`kubectl config`命令设置或查看集群配置...
- 使用`kubectl describe`和`kubectl logs`进行问题诊断。 10. **Kubernetes集群的安装与管理**: - 在本地使用Minikube搭建小型集群。 - 使用云提供商(如AWS, GCP, Azure)部署Kubernetes集群。 - 配置和管理...
- 如果遇到问题,可以通过`kubectl describe pod <pod-name>`、`kubectl logs <pod-name>`等命令收集日志信息,分析并解决故障。 总结来说,Dolphinscheduler在Kubernetes上的部署涉及了Kubernetes资源的创建、...
影响生命周期的问题,如虚拟路由条目无法添加导致Node不Ready,或是Pod OOM或Panic重启,这些问题通常可通过Kubernetes的`describe`命令和事件监控进行排查。而不影响生命周期的问题,如链路层超时、资源层指标异常...
在Kubernetes(k8s)的学习旅程中,资源管理和配置是至关重要的环节。本文将深入探讨k8s中的资源概念以及...通过`kubectl explain`命令,可以获取更多关于k8s资源对象的详细信息,这对于故障排查和优化配置非常有帮助。