HashiCorp Vault部署AKS后8300端口HTTP访问无响应问题排查
Vault AKS部署8300端口HTTP访问无响应问题排查
根据你提供的配置和启动日志,Vault进程本身已经正常监听了8300的HTTP端口,访问无响应的问题出在Kubernetes及AKS网络层面,常见原因及修复方案如下:
- 首要原因:负载均衡Service未配置8300端口转发
你当前的Helm配置仅将UI对应的Service设置为LoadBalancer类型,但官方Vault Helm Chart默认的Service只会暴露8200端口,你自定义的8300监听端口没有被加入Service的端口转发列表,因此负载均衡不会将8300端口的请求转发到后端Vault Pod。
修复方案:在Helm values中补充Service的端口配置,示例如下:
server: # 补充容器端口声明,避免CNI插件拦截流量 extraPorts: - name: http-apim containerPort: 8300 protocol: TCP service: enabled: true type: LoadBalancer annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" ports: - name: https-api port: 8200 targetPort: 8200 - name: http-apim port: 8300 targetPort: 8300 ui: enabled: true serviceType: LoadBalancer annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true"
如果你的8200端口是通过ui Service对外暴露的,也可以选择将8300端口直接添加到ui.service的ports配置中。
第二个常见原因:AKS网络安全组(NSG)未放行8300端口
你使用的是Azure内部负载均衡,需要检查负载均衡所属VNet对应的NSG入站规则,确认已经放行8300端口的访问请求,NSG默认不会自动放行自定义业务端口。验证方法
可以先通过端口转发排除Vault本身的问题,执行以下命令将本地8300端口映射到Vault Pod的8300端口:kubectl port-forward vault-0 8300:8300
本地访问http://localhost:8300,如果可以正常返回内容则说明Vault配置无问题,只需要修复上述Service或NSG配置即可。
内容的提问来源于stack exchange,提问作者jjczopek
相关产品推荐
相关产品推荐

