我对 Kubernetes 中的 linkerd 很陌生,我对 dtab 和路由感觉不太舒服。
我一步一步地遵循了这个非常简单的"入门指南":https://blog.buoyant.io/2016/10/04/a-service-mesh-for-kubernetes-part-i-top-line-service-metrics/
一切正常,但它没有对整个事情是如何工作的给出深刻的解释。
所以,我有这些"传入"规则:
/srv=>/#/io.l5d.k8s/default/http;
/host=>/srv;
/svc=>/host;
/host/world=>/srv/world-v1
在教程中,为了测试它是否有效,我需要发出这个 curl 请求:
$ http_proxy=$INGRESS_LB:4140 curl -s http://hello
.. 它有效!但我真的不知道我的http://hello
是如何成为/svc/hello
的......这种神奇是如何以及在哪里发生的?
我看到"默认"命名空间在/#/io.l5d.k8s/default/http
中是"硬编码"的,所以我想我无法访问位于另一个命名空间中的服务。我怎样才能遵守规则来做这样的事情?
感谢您帮助我在链接^^上取得进展
在这里,您可以找到有关http://hello
如何变得/svc/hello
的文档
关于访问不同命名空间中的服务,您可以使用类似http://service.namespace
然后有一些 dtab,以便它们最终使用 kubernetes 服务发现命名器io.l5d.k8s
使用正确的命名空间和服务名称。请参阅此处以获取更多信息