【发布时间】:2020-07-18 19:44:12
【问题描述】:
我们有一个 Azure 环境,我们在其中创建了一个具有 3 个节点的 AKS。一切似乎都顺利完成了。
对于此命令kubectl get pods --all-namespaces,我得到以下输出
NAMESPACE NAME READY STATUS RESTARTS AGE
cattle-system cattle-cluster-agent-b84447cd7-m6k5h 0/1 CrashLoopBackOff 823 3d2h
cattle-system cattle-node-agent-rpcrw 1/1 Running 1 3d2h
cattle-system cattle-node-agent-sjllb 1/1 Running 0 3d2h
cattle-system cattle-node-agent-v8c76 1/1 Running 1 3d2h
kube-system azure-cni-networkmonitor-cpsqx 1/1 Running 0 14d
kube-system azure-cni-networkmonitor-pmrv4 1/1 Running 1 14d
kube-system azure-cni-networkmonitor-x25p7 1/1 Running 1 14d
kube-system azure-ip-masq-agent-8cds2 1/1 Running 0 14d
kube-system azure-ip-masq-agent-gmnmr 1/1 Running 1 14d
kube-system azure-ip-masq-agent-mjlh5 1/1 Running 1 14d
kube-system coredns-6c66fc4fcb-g6ssg 1/1 Running 0 14d
kube-system coredns-6c66fc4fcb-mkzn9 1/1 Running 1 14d
kube-system coredns-autoscaler-567dc76d66-5krrx 1/1 Running 0 14d
kube-system kube-proxy-h9j48 1/1 Running 1 2d20h
kube-system kube-proxy-hfqvg 1/1 Running 0 2d20h
kube-system kube-proxy-wlbdx 1/1 Running 1 2d20h
kube-system kubernetes-dashboard-9f5bf9974-955cp 1/1 Running 0 14d
kube-system metrics-server-5695787788-pxsl8 1/1 Running 0 14d
kube-system tunnelfront-746dc8557f-gsw2f 1/1 Running 0 57m
如果您看到,pod“cattle-cluster-agent-b84447cd7-m6k5h”一直处于“CrashLoopBackOff”模式。
以下是我的调查
> kubectl -n cattle-system get pods -l app=cattle-agent -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
cattle-node-agent-rpcrw 1/1 Running 1 2d22h XX.XXX.XX.1 aks-agentpool-XXXX-1 <none> <none>
cattle-node-agent-sjllb 1/1 Running 0 2d22h XX.XXX.XX.X2 aks-agentpool-XXXX-2 <none> <none>
cattle-node-agent-v8c76 1/1 Running 1 2d22h XX.XXX.XX.X3 aks-agentpool-XXXX-0 <none> <none>
和
> kubectl -n cattle-system logs -l app=cattle-cluster-agent
Error from server: Get https://aks-agentpool-XXXX-1:YYYY/containerLogs/cattle-system/cattle-cluster-agent-b84447cd7-m6k5h/cluster-register?tailLines=10: dial tcp XX.XXX.XX.1:YYYY: i/o timeout
和
> kubectl -n kube-system get pods -l k8s-app=kube-dns -o custom-columns=NAME:.metadata.name,HOSTIP:.status.hostIP
NAME HOSTIP
coredns-6c66fc4fcb-g6ssg XX.XXX.XX.X2
coredns-6c66fc4fcb-mkzn9 XX.XXX.XX.X3
在最后一个命令中,我发现 coredns 在其中一个工作节点上不在线。这可能是集群代理进入 CrashLookBackOff 模式的原因吗?如果是,我如何让工作节点 1 上的这个 coredns 在线?我用尽了所有的选择来完成这项工作。任何帮助将不胜感激。
【问题讨论】:
-
Pod 日志显示,崩溃的原因是 Pod 无法连接到 IP 地址。这不是 DNS 错误,因为域名已经解析。您需要调查的是
cattle-cluster-agentPod 和 AKS 集群的网络设置,甚至是 VPC 路由。 -
你能描述一下 pod 并展示 pod 的事件吗?
标签: azure kubernetes devops azure-aks