Kubernetes k8s大使入口样品不工作

Kubernetes k8s大使入口样品不工作,kubernetes,Kubernetes,我目前使用OSX Catalina,Docker Desktop 19.03.5运行k8s v.14.8 在这篇文章之后,我做了以下工作: 创建了一个名为ambassador-ingress.yaml的文件 我已经运行了以下程序 $kubectl适用-fhttps://www.getambassador.io/yaml/ambassador/ambassador-rbac.yaml $kubectl申请-f大使-ingress.yaml 我现在可以看到kubectl获得吊舱和kubectl获得服

我目前使用OSX Catalina,Docker Desktop 19.03.5运行k8s v.14.8

在这篇文章之后,我做了以下工作:

创建了一个名为ambassador-ingress.yaml的文件

我已经运行了以下程序

$kubectl适用-fhttps://www.getambassador.io/yaml/ambassador/ambassador-rbac.yaml $kubectl申请-f大使-ingress.yaml 我现在可以看到kubectl获得吊舱和kubectl获得服务

一切看起来都是正确设置的,但是,每当我尝试卷曲k8s时,我只能得到一个空的服务器响应,即使我可以直接点击google:

$ curl localhost/google/
> curl: (52) Empty reply from server
$ curl www.google.com
> <!doctype html> ............

我的问题是,从哪里开始故障排除?我不知道失败在哪里,也不知道如何开始挖掘,找出哪里出了问题。正确的方向是什么?

基于Kubernetes网络模型[1],有两条重要规则:

一个节点上的吊舱可以在没有NAT的情况下与所有节点上的所有吊舱通信 节点上的代理(如系统守护进程、kubelet)可以与该节点上的所有POD通信 所以基本上它说,因为您的K8s集群位于您的机器上,所以您可以直接与服务ip 10.97.166.229和POD ip通信

因此,关于如何开始故障排除步骤,由于您的POD已启动并正在运行,这很可能是网络错误。您可以尝试以下方法:

a尝试直接连接到您的pod。您可以通过执行以下命令来获取IP:

kubectl get pod -o wide
b获取POD的日志并搜索任何错误:

kubectl logs ambassador-74fb8f5668-2b85z
c进入吊舱,检查是否可以测试吊舱内的连通性。[2]

kubectl exec -it ambassador-74fb8f5668-2b85z -- /bin/bash
[1]

[2]

kubectl get pod -o wide
kubectl logs ambassador-74fb8f5668-2b85z
kubectl exec -it ambassador-74fb8f5668-2b85z -- /bin/bash