用istio运行

    Linkerd的Istio集成是实验性的,目前支持路由规则,,出口和。对故障注入,,路由策略, 和 auth 的支持即将推出。

    Istio + Linkerd由5个主要组成部分组成:

    • Istio Mixer 从服务网格中获取指标,并将其传递给后端,如Prometheus。
    • Linkerd 服务网格代理所有的服务间流量。
    • Linkerd Ingress,作为 提供服务的Linkerd。
    • Linkerd Egress,处理从集群发出的所有流量的Linkerd。

    Linkerd 目前支持 Istio 0.1.6。要安装Istio,请按照下列步骤操作:

    1. 按照 Istio安装指南 中的步骤1-4安装istioctl二进制包,并在必要时记录集群的RBAC。
    2. 运行 ,这将安装:

      • Istio Pilot
      • Linkerd Service Mesh
      • Linkerd Ingress
      • Linkerd Egress

    3.(可选)按照中的步骤启用 metrics 收集。

    部署应用程序

    为了使用 init container 轻松部署应用程序,可以安装 linkerd-inject 工具:

    然后使用它来部署你的应用程序:

    1. kubectl apply -f <(linkerd-inject -f samples/apps/bookinfo/bookinfo.yaml)

    (Minikube用户在使用 时需要使用 -useServiceVip 标志 )

    或者,您可以将 init container 手动添加到您的Kubernetes配置,而不使用 linkerd-inject

    尝试实战 Istio 以查看所有情况。请注意,要部署 BookInfo 示例,您需要使用linkerd-inject 命令:

    1. kubectl apply -f <(linkerd-inject -f samples/apps/bookinfo/bookinfo.yaml)

    有关 Istio + Linkerd 集成中特殊 Istio 功能的更多信息,请继续阅读。

    Metrics

    如果还没有这样做,请安装指 Metrics 集组件:

    1. kubectl apply -f install/kubernetes/addons/prometheus.yaml
    2. kubectl apply -f install/kubernetes/addons/grafana.yaml

    您现在可以按照 中的描述的那样查看 Grafana dashboard 。

    请注意,一些指标可能会空缺,直到 Linkerd 添加对它们的支持。

    Ingress可以使用Ingress资源进行配置,如 Istio Ingress 指南 中所述。请注意,要启用HTTPS,您必须按照 而不是 Ingress 资源中所述在入口 linkerd 配置中启用TLS 。

    Egress

    以上部分介绍如何和Istio一起使用Linkerd,包括如何配置 ingress,egress 和 metrics 收集。这种集成目前处于实验状态; Istio正在迅速演进,而我们继续强化继承功能集。