我正在尝试在我的本地 Kubernetes(Docker 桌面集群)中设置大使边缘堆栈。
完成所有部署后,我检查了大使命名空间,一切都按预期工作。此外,我的部署(pod 和服务)正常工作。我已将大使边缘堆栈服务更改为 nodeport,以便我可以在本地访问和测试。另外,我在我的 HOST 文件中添加了 url。
现在,这里是细节。
kubectl get svc -n ambassador
kubectl get svc -n sample-on-ambassador-edgestack
edgestack-listener yaml:
--------------------------
apiVersion: getambassador.io/v3alpha1
kind: Listener
metadata:
name: my-listener-80
namespace: sample-on-ambassador-edgestack
spec:
port: 80
protocol: HTTP
securityModel: XFP
hostBinding:
namespace:
from: ALL
apiVersion: getambassador.io/v3alpha1
kind: Listener
metadata:
name: my-listener-8080
namespace: sample-on-ambassador-edgestack
spec:
port: 8080
protocol: HTTP
securityModel: XFP
hostBinding:
namespace:
from: ALL
edgestack-binding yaml
-------------------------
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: my-mappingrules
namespace: sample-on-ambassador-edgestack
spec:
hostname: "local.edgestack.com"
prefix: /apple/
service: my-apple-service.sample-on-ambassador-edgestack
注意:我使用了上面的 Service: pod.service 形式。
有了这个,我得到了带有http://local.edgestack.com的 edgestack 主页
但如果我输入:local.edgestack.com/apple/ 我会收到 404 错误页面。与 curl 命令相同:
curl -i http://local.edgestack.com:32510/apple/
HTTP/1.1 404 Not Found
date: Thu, 02 Dec 2021 01:51:48 GMT
server: envoy
content-length: 0