本文转载自微信公众号《黑客下午茶》,作者为邵。转载本文请联系黑客下午茶公众号。Linkerd2.10中文手册正在不断修订和更新中:https://linkerd.hacker-linner.com服务配置文件为Linkerd提供有关服务以及如何处理服务请求的额外信息。当Linkerd代理收到HTTP(而非HTTPS)请求时,它会识别请求的目标服务。如果该目标服务存在服务配置文件,则该服务配置文件用于提供每个路由的指标、重试和超时。请求的目标服务是通过选择第一个标头的值、l5d-dst-override、:authority和Host来计算的。端口组件(如果包含并包含冒号)将被去除。此值映射到完全限定的DNS名称。当目标服务与发送方或接收方命名空间中的服务配置文件名称匹配时,Linkerd将使用它来提供每个路由的指标、重试和超时。有时您可能需要为驻留在您无法控制的名称空间中的服务定义服务配置文件。为此,只需像以前一样创建一个服务配置文件,但将服务配置文件的命名空间编辑为调用该服务的pod的命名空间。当Linkerd代理服务请求时,源命名空间中的服务配置文件将优先于目标命名空间中的服务配置文件。您的目标服务可能是ExternalName服务。在这种情况下,使用spec.metadata.name和spec.metadata.namespace值来命名您的ServiceProfile。例如,apiVersion:v1kind:Servicemetadata:name:my-servicenamespace:prodspec:type:ExternalNameexternalName:my.database.example.com使用名称my-service.prod.svc.cluster.local作为ServiceProfile。请注意,目前您无法在Web仪表板中查看为此服务配置文件中的路由收集的统计信息。您可以使用CLI获取统计信息。有关完整的演示演练,请查看图书演示。有几种不同的方法可以使用linkerd配置文件来创建服务配置文件。`与路由关联的请求将具有rt_route注释。要手动验证请求是否正确关联,请在您自己的部署上运行tap:linkerdviztap-owide|grepreq输出将实时流式传输deploy/webapp正在接收的请求。一个示例是:reqid=0:1proxy=insrc=10.1.3.76:57152dst=10.1.3.74:7000tls=disabled:met相反,如果rt_route不存在,则该请求不与任何路由关联。尝试运行:linkerdviztap-owide
