如何在 K8s 中调试卡在启动时的服务?
How can I debug a service in K8s which get stuck on startup?
我正在尝试更新我的 K8s 知识并正在关注 this tutorial,但我 运行 遇到了一些问题。我当前的集群 (minikube
) 包含一个名为 kubia
的 pod。这个 pod 运行良好,包含一个简单的 Web 服务器。
我想通过 kubectl expose pod kubia --type=LoadBalancer --name kubia-http
.
公开该服务器
问题: 根据我的 K8s 仪表板,kubia-http
在启动时卡住了。
调试中:
kubectl describe endpoints kubia-http
给我
Name: kubia-http
Namespace: default
Labels: run=kubia
Annotations: endpoints.kubernetes.io/last-change-trigger-time: 2020-11-20T15:41:29Z
Subsets:
Addresses: 172.17.0.5
NotReadyAddresses: <none>
Ports:
Name Port Protocol
---- ---- --------
<unset> 8080 TCP
Events: <none>
调试时我试图回答以下问题:
1.) 我的服务是否缺少端点?
kubectl get pods --selector=run=kubia
给我一个 kubia
吊舱。所以,我没有错过终点。
2.) 我的服务在与 pod 通信时是否尝试访问错误的端口?
来自我的 pod yaml:
containers:
- name: kubia
ports:
- containerPort: 8080
protocol: TCP
来自我的服务 yaml:
ports:
- protocol: TCP
port: 8080
targetPort: 8080
nodePort: 32689
服务尝试访问正确的端口。
调试此问题的好方法是什么?
下面的命令输出是什么样子的?
kubectl get services kubia-http
kubectl describe services kubia-http
那里看起来一切正常吗?
我认为您遇到了此 中提到的类似问题。
因此,如果 kubectl get services kubia-http
除了已知的预期行为 external ip pending on minikube
之外看起来不错,您应该能够使用 nodeport 或 clusterip
访问该服务
我正在尝试更新我的 K8s 知识并正在关注 this tutorial,但我 运行 遇到了一些问题。我当前的集群 (minikube
) 包含一个名为 kubia
的 pod。这个 pod 运行良好,包含一个简单的 Web 服务器。
我想通过 kubectl expose pod kubia --type=LoadBalancer --name kubia-http
.
问题: 根据我的 K8s 仪表板,kubia-http
在启动时卡住了。
调试中:
kubectl describe endpoints kubia-http
给我
Name: kubia-http
Namespace: default
Labels: run=kubia
Annotations: endpoints.kubernetes.io/last-change-trigger-time: 2020-11-20T15:41:29Z
Subsets:
Addresses: 172.17.0.5
NotReadyAddresses: <none>
Ports:
Name Port Protocol
---- ---- --------
<unset> 8080 TCP
Events: <none>
调试时我试图回答以下问题:
1.) 我的服务是否缺少端点?
kubectl get pods --selector=run=kubia
给我一个 kubia
吊舱。所以,我没有错过终点。
2.) 我的服务在与 pod 通信时是否尝试访问错误的端口?
来自我的 pod yaml:
containers:
- name: kubia
ports:
- containerPort: 8080
protocol: TCP
来自我的服务 yaml:
ports:
- protocol: TCP
port: 8080
targetPort: 8080
nodePort: 32689
服务尝试访问正确的端口。
调试此问题的好方法是什么?
下面的命令输出是什么样子的?
kubectl get services kubia-http
kubectl describe services kubia-http
那里看起来一切正常吗?
我认为您遇到了此 kubectl get services kubia-http
除了已知的预期行为 external ip pending on minikube
之外看起来不错,您应该能够使用 nodeport 或 clusterip