在本指南中,我们将引导您了解如何将 Linkerd 安装到您的 Kubernetes 集群中。 然后我们将部署一个示例应用程序来展示 Linkerd 的功能。
安装 Linkerd 很容易。首先,您将在本地计算机上安装 CLI(命令行界面)。 使用此 CLI,然后您将控制平面安装到您的 Kubernetes 集群上。 最后,您将通过向它们添加 Linkerd 的数据平面来“网格化(mesh)”您自己的一个或多个服务。
设置在我们做任何事情之前,我们需要确保您可以访问 Kubernetes 集群并在本地机器上运行 kubectl 命令。(如果您还没有 Kubernetes 集群,一个简单的选择是在您的本地机器上运行一个。有很多方法可以做到这一点,包括 kind、k3d、Docker for Desktop 等更多。)
您可以通过运行以下命令来验证设置:
kubectl version --short您应该看到包含 Client Version 和 Server Version 组件的输出。
现在我们有了集群,我们将安装 Linkerd CLI 并使用它来验证您的集群是否能够托管 Linkerd 控制平面。
安装 CLI如果这是您第一次运行 Linkerd,则需要将 linkerd 命令行界面 (CLI) 下载到本地计算机上。 CLI 将允许您与 Linkerd 部署进行交互。
要手动安装 CLI,请运行:
curl -sL https://run.linkerd.io/install | sh请务必按照说明将其添加到您的路径中。
或者,如果您使用 Homebrew,则可以使用 brew install linkerd 安装 CLI。 您还可以通过 Linkerd releases 页面直接下载 CLI。
安装后,使用以下命令验证 CLI 是否正常运行:
linkerd version您应该会看到 CLI 版本以及 Server version: unavailable。 这是因为您尚未在集群上安装控制平面。别担心 - 我们会尽快解决这个问题。
验证你的 Kubernetes 集群Kubernetes 集群可以通过多种不同的方式进行配置。在我们安装 Linkerd 控制平面之前,我们需要检查并验证所有配置是否正确。 要检查您的集群是否已准备好安装 Linkerd,请运行:
linkerd check --pre如果有任何检查未通过,请确保按照提供的链接并在继续之前解决这些问题。
安装控制平面(Control Plane)在你的集群现在您已经在本地运行了 CLI,并且集群已经准备就绪,是时候安装控制平面了。
第一步是安装控制平面核心。为此,请运行:
linkerd install | kubectl apply -f -在此命令中,linkerd install 命令生成一个 Kubernetes manifest,其中包含所有必要的控制平面资源。将此清单通过管道传输到 kubectl apply 然后指示 Kubernetes 将这些资源添加到您的集群中。
现在让我们等待控制平面完成安装。根据集群 Internet 连接的速度,这可能需要一两分钟。通过运行以下命令等待控制平面准备就绪(并验证您的安装):
linkerd check接下来,我们将安装一些扩展。扩展为 Linkerd 添加了非关键但通常有用的功能。 对于本指南,我们需要 viz 扩展,它会将 Prometheus、仪表板(dashboard)和指标组件(metrics components)安装到集群上:
linkerd viz install | kubectl apply -f - # on-cluster metrics stack或者,此时您可以安装其他扩展。例如:
## optional linkerd jaeger install | kubectl apply -f - # Jaeger collector and UI linkerd multicluster install | kubectl apply -f - # multi-cluster components请注意,扩展也可以来自第三方来源。例如,Buoyant Cloud 是针对 Linkerd 的,可免费托管指标仪表板(metrics dashboard)。可以与 viz 一起安装,但它是可选的:
## optional curl -sL buoyant.cloud/install | sh linkerd buoyant install | kubectl apply -f - # hosted metrics dashboard一旦您安装了 viz 扩展程序和您想要的任何其他扩展程序,我们将再次验证所有内容:
linkerd check假设一切都是绿色的,我们已准备好进行下一步!
浏览 Linkerd安装并运行控制平面和扩展后,您现在可以通过运行以下命令查看 Linkerd 仪表板:
linkerd viz dashboard &此命令设置从本地系统到 pod 的端口。(也可以暴露仪表板供所有人访问。)
由于控制平面组件都在其 pod 中安装了代理,因此每个组件也是数据平面本身的一部分。 这提供了深入了解控制平面本身在幕后发生了什么的能力。事实上,你可以运行:
linkerd -n linkerd-viz viz top deploy/web这是您通过查看仪表板本身产生的流量!
安装 demo app要了解 Linkerd 如何为您的一项服务工作,您可以安装一个 demo 应用程序。 emojivoto 应用程序是一个独立的 Kubernetes 应用程序,它混合使用 gRPC 和 HTTP 调用,允许用户对他们最喜欢的表情符号进行投票。
通过运行以下命令将 emojivoto 安装到 emojivoto 命名空间中:
curl -sL https://run.linkerd.io/emojivoto.yml \ | kubectl apply -f -