如何通过AWS应用负载均衡器Ingress暴露Linkerd Viz Dashboard
操作指南:通过AWS ALB Ingress暴露Linkerd Viz Dashboard
完全可以通过AWS ALB Ingress的方式暴露Linkerd Viz Dashboard,操作流程如下:
- 前置校验:确认集群内已正常部署AWS Load Balancer Controller,对应的IAM权限、集群OIDC提供商配置均符合要求,这是ALB Ingress正常工作的基础。
- 调整Linkerd Viz配置:默认Dashboard开启了强制主机校验,直接通过Ingress域名访问会返回400错误,执行以下命令关闭校验:
linkerd viz install --set dashboard.enforcedHosts="" | kubectl apply -f -
等待linkerd-viz命名空间下的所有Pod滚动更新完成即可。 - 创建Ingress资源:在linkerd-viz命名空间下创建如下Ingress配置:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: linkerd-viz namespace: linkerd-viz annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]' alb.ingress.kubernetes.io/certificate-arn: "替换为你的ACM证书ARN" # 可选:配置访问源IP白名单,降低公网暴露风险 alb.ingress.kubernetes.io/inbound-cidrs: "192.168.1.0/24,10.0.0.0/8" spec: ingressClassName: alb rules: - host: linkerd-viz.yourdomain.com http: paths: - path: / pathType: Prefix backend: service: name: web port: number: 8084
配置创建后等待AWS ALB创建完成,解析对应域名到ALB地址即可正常访问Dashboard。
安全提示:Linkerd Viz Dashboard默认无身份校验,建议优先选择内网模式暴露,或配置ALB身份认证功能,避免未授权访问风险。
针对本地port-forward无法访问的问题,可先排查以下两点:
- 确认本地kubectl当前上下文对应目标AWS Kubernetes集群,且拥有linkerd-viz命名空间的访问权限
- 检查linkerd-viz命名空间下web服务的Pod状态是否为Running,无异常报错或重启
内容的提问来源于stack exchange,提问作者Ben Zalez
相关产品推荐
相关产品推荐

