Skip to content

Linkerd 安装测验 ​

本测验用于检验你对 Linkerd 安装和设置的理解。

测验题目 ​

1. 安装 Linkerd CLI 的正确命令是什么? ​

A. apt-get install linkerd B. curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh C. kubectl install linkerd D. helm install linkerd

显示答案

答案:B. curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh

说明: Linkerd CLI 通过官方安装脚本安装。该脚本会检测操作系统并下载相应的二进制文件。也可以使用 Homebrew(brew install linkerd)或 Chocolatey(choco install linkerd2),但官方脚本是最常用的方法。

2. 哪个命令可在安装 Linkerd 前验证 Cluster 要求? ​

A. linkerd check B. linkerd check --pre C. linkerd verify D. linkerd install --dry-run

显示答案

答案:B. linkerd check --pre

说明:linkerd check --pre 命令会验证 Cluster 是否满足安装 Linkerd 前的要求。它会验证 Kubernetes API 的可访问性、版本兼容性以及必要的权限。安装后,使用 linkerd check 验证完整状态。

3. 使用 Helm 安装 Linkerd 时必须提供什么? ​

A. Envoy proxy 镜像 B. Trust Anchor 和 Identity Issuer 证书 C. Prometheus 配置文件 D. Kubernetes 版本信息

显示答案

答案:B. Trust Anchor 和 Identity Issuer 证书

说明: 与 CLI 安装不同,Helm 安装不会自动生成证书。用户必须自行创建并提供 Trust Anchor(Root CA)和 Identity Issuer(Intermediate CA)证书。这样可以在生产环境中更好地控制证书管理。

4. Linkerd HA 安装建议使用多少个 Control plane 副本? ​

A. 1 B. 2 C. 3 D. 5

显示答案

答案:C. 3

说明: HA 配置建议 Destination、Identity 和 Proxy Injector 各使用 3 个副本。即使其中一个失败,三个副本仍可维持法定人数,并确保滚动更新期间的可用性。

5. 以下哪项不是 Viz 扩展的主要功能? ​

A. Web dashboard B. Prometheus 指标收集 C. 自动 Canary 部署 D. 实时流量 tap

显示答案

答案:C. 自动 Canary 部署

说明: Viz 扩展提供 Web dashboard、基于 Prometheus 的指标收集、Grafana dashboard 和实时流量 tap 功能。自动 Canary 部署通过 Flagger 等独立工具实现。

6. 在 EKS 上,Multicluster gateway 推荐使用哪种 Load Balancer 类型? ​

A. Classic Load Balancer B. Application Load Balancer (ALB) C. Network Load Balancer (NLB) D. Internal Load Balancer

显示答案

答案:C. Network Load Balancer (NLB)

说明: NLB 针对 TCP/TLS 流量进行了优化,因此适合 Linkerd 的 mTLS gateway 流量。ALB 针对 HTTP/HTTPS 进行了优化,而 Linkerd gateway 在 TCP 层运行,因此推荐使用 NLB。

7. Linkerd 升级的正确顺序是什么? ​

A. Data plane → CRD → Control plane B. CRD → Control plane → Data plane C. Control plane → CRD → Data plane D. CRD → Data plane → Control plane

显示答案

答案:B. CRD → Control plane → Data plane

说明: 正确的升级顺序为:1) CLI 升级,2) CRD 升级,3) Control plane 升级,4) Data plane(proxy)升级。必须先升级 CRD,才能使用新的 API 版本。

8. linkerd install --crds 命令的用途是什么? ​

A. 安装 Linkerd CLI B. 安装 Custom Resource Definitions C. 生成证书 D. 注入 proxy

显示答案

答案:B. 安装 Custom Resource Definitions

说明:linkerd install --crds 仅安装 Linkerd 使用的 CRD(Custom Resource Definitions)。其中包括 ServiceProfile、Server、ServerAuthorization 等的 CRD。Control plane 使用 linkerd install 单独安装。

9. 安装 Jaeger 扩展的命令是什么? ​

A. linkerd install jaeger B. linkerd jaeger install | kubectl apply -f - C. kubectl apply -f jaeger.yaml D. helm install jaeger linkerd/jaeger

显示答案

答案:B. linkerd jaeger install | kubectl apply -f -

说明: Linkerd 扩展会以 linkerd <extension> install 格式生成 manifest,并使用 kubectl 应用它们。Jaeger 扩展提供分布式追踪功能。

10. 完全移除 Linkerd 的正确顺序是什么? ​

A. Control plane → Extensions → CRD B. Extensions → Control plane → CRD C. CRD → Control plane → Extensions D. 所有内容都可以同时移除

显示答案

答案:B. Extensions → Control plane → CRD

说明: 移除顺序与安装顺序相反:1) 移除 Viz、Jaeger、Multicluster 等 Extensions,2) 移除 Control plane,3) 移除 CRD。这是因为 Extensions 依赖于 Control plane,而 Control plane 依赖于 CRD。

11. linkerd check 命令不会验证什么? ​

A. Kubernetes API 连接 B. 证书有效性 C. 应用程序业务逻辑 D. Control plane Pod 状态

显示答案

答案:C. 应用程序业务逻辑

说明:linkerd check 仅验证 Linkerd 基础设施状态:Kubernetes API 连接、证书有效性、Control plane Pod 状态、proxy 状态等。它不会验证应用程序业务逻辑或功能。

12. 要启用自动 proxy 注入,必须向 Namespace 添加什么 annotation? ​

A. linkerd.io/inject: enabled B. linkerd.io/proxy: true C. sidecar.linkerd.io/inject: true D. linkerd/auto-inject: yes

显示答案

答案:A. linkerd.io/inject: enabled

说明: 向 Namespace 添加 linkerd.io/inject: enabled annotation 会自动将 linkerd-proxy 注入该 Namespace 中所有新建的 Pod。相同的 annotation 也可以用于单个 Pod。

向文档提问

按 Enter 发送,按 Shift+Enter 换行。