23. 安装 Linkerd

在使用 Linkerd 之前,您需要安装 核心控制平面。 本页介绍了如何实现这一点,以及您可能遇到的常见问题。

请注意,控制平面通常是使用 LinkerdCLI 安装的。 请参阅入门以了解如何将 CLI 安装到您的本地环境中。

Linkerd 还包含一些第一方扩展,这些扩展添加了额外的功能,即 vizmulticlusterjaeger。 见扩展了解如何安装它们。

另请注意,一旦安装了控制平面, 您将需要“网格化(mesh)”您希望 Linkerd 为其激活的任何服务。 有关如何将 Linkerd数据平面添加到您的服务, 请参阅添加您的服务

要求

Linkerd 2.x 需要一个正常运行的 Kubernetes 集群来运行。 该集群可能托管在云提供商上, 也可能通过 MinikubeDocker for Desktop 在本地运行。

您可以通过运行以下命令来验证此 Kubernetes 集群是否针对 Linkerd 进行了适当配置

linkerd check --pre

GKE

如果在 GKE 上安装 Linkerd,则需要一些额外的步骤,具体取决于集群的配置方式。 如果您正在使用这些功能中的任何一个,请查看附加说明。

安装

一旦你准备好集群,一般来说, 安装 Linkerd 就像运行 linkerd install 来生成 Kubernetes 清单一样简单, 并将其应用到你的集群,例如,通过

linkerd install | kubectl apply -f -

有关示例,请参阅入门

确认

安装后,您可以通过运行以下命令来验证安装是否成功:

linkerd check

卸载

请参阅卸载 Linkerd

多阶段安装

如果您的组织根据角色(通常是集群所有者服务所有者)分配 Kubernetes 集群权限, Linkerd 会提供“多阶段(multi-stage)”安装来容纳这两个角色。 两个安装阶段是 config(对于集群所有者)和 control-plane(对于服务所有者)。 集群所有者拥有创建命名空间以及全局资源 (包括cluster rolesbindingscustom resource definitions)所需的特权。 服务所有者在创建 deploymentsconfigmapsservicessecrets 所需的命名空间内拥有特权。

第一阶段:配置

config 阶段旨在由集群所有者(cluster owner)运行,该角色具有更多权限。 运行初始安装前检查也是集群所有者的责任:

linkerd check --pre

一旦预安装检查通过,安装配置阶段:

linkerd install config | kubectl apply -f -

除了创建 linkerd 命名空间之外,此命令还会将以下资源安装到您的 Kubernetes 集群上:

  • ClusterRole
  • ClusterRoleBinding
  • CustomResourceDefinition
  • MutatingWebhookConfiguration
  • PodSecurityPolicy
  • Role
  • RoleBinding
  • Secret
  • ServiceAccount
  • ValidatingWebhookConfiguration

要验证 config 阶段是否成功,请运行:

linkerd check config

阶段 2:控制平面

在成功安装 config 阶段后,服务所有者(service owner)可以使用以下命令安装 control-plane

linkerd install control-plane | kubectl apply -f -

此命令将以下资源安装到您的 Kubernetes 集群中,所有资源都在 linkerd 命名空间中:

  • ConfigMap
  • Deployment
  • Secret
  • Service

要验证 control-plane 阶段是否成功,请运行:

linkerd check