使用Helm安装Instana Agent监控K8s时Pod持续Pending问题求助
Instana Agent Pod 处于Pending状态(0/2)的排查与解决
第一步:获取Pod详细事件信息
先执行以下命令查看Pending Pod的具体调度失败原因:
kubectl describe pod instana-agent-6qw8d -n instana-agent
重点关注Events字段,根据输出的错误信息对应以下场景处理:
场景1:节点资源不足(Insufficient CPU/Memory)
如果事件显示Insufficient cpu或Insufficient memory,说明EC2节点可用资源无法满足Instana Agent容器的资源请求。
- 解决方法:
- 升级EC2实例规格,提升节点CPU/内存配额
- 调整Helm安装参数,降低Agent的资源请求配置(可根据实际情况修改数值):
helm upgrade instana-agent --repo https://agents.instana.io/helm --namespace instana-agent \ --set agent.resources.requests.cpu=200m \ --set agent.resources.requests.memory=512Mi \ --set agent.resources.limits.cpu=1 \ --set agent.resources.limits.memory=1Gi \ instana-agent
场景2:镜像拉取失败(ImagePullBackOff/ErrImagePull)
若事件提示镜像拉取失败,可能是downloadKey配置错误或EC2节点无法访问Instana镜像仓库:
- 解决方法:
- 核对
agent.downloadKey的正确性,确保与Instana SaaS控制台提供的密钥一致 - 测试EC2节点外网连通性:
若无法访问,检查EC2安全组是否允许出站HTTPS(443端口)到Instana镜像仓库域名,或配置microk8s代理规则curl -I https://agents.instana.io
- 核对
场景3:节点调度限制(FailedScheduling)
如果事件显示无符合条件的节点调度,可能是microk8s节点存在污点,或Agent的节点选择器不匹配:
- 解决方法:
- 查看节点污点信息:
kubectl describe node $(kubectl get nodes -o name | head -n1) - 在Helm安装时添加对应容忍度(以master节点污点为例):
helm upgrade instana-agent --repo https://agents.instana.io/helm --namespace instana-agent \ --set agent.tolerations[0].key=node-role.kubernetes.io/master \ --set agent.tolerations[0].operator=Exists \ --set agent.tolerations[0].effect=NoSchedule \ instana-agent
- 查看节点污点信息:
场景4:存储卷配置缺失
Instana Agent部分组件需要持久化存储,若microk8s未启用存储插件,会导致PVC创建失败:
- 解决方法:
- 启用microk8s存储插件:
microk8s enable storage - 删除现有Pending Pod,等待重新调度:
kubectl delete pod instana-agent-6qw8d -n instana-agent
- 启用microk8s存储插件:
内容的提问来源于stack exchange,提问作者Mohammadreza
相关产品推荐
相关产品推荐

