问题描述
对于某些任务,我按照以下示例使用 minikube 配置 HashiCorp Vault 自动身份验证代理。
https://learn.hashicorp.com/tutorials/vault/agent-kubernetes?in=vault/app-integration
在“确定保险柜地址”部分中的第 3 步。 我正在尝试执行以下 curl 命令来检查连接:
curl http://192.168.1.1:8200/v1/sys/seal-status
并低于错误"
curl: (7) Failed to connect to 192.168.1.1 port 8200: Connection refused
当我检查主机(Windows10 和 minikube 路由,网关值为 0.0.0.0)之间的连接时。
解决方法
您遇到此错误可能是因为您的容器在 minikube 中运行时在 Windows 10 上运行 curl。
您可以进行端口转发,也可以使用网桥连接 IP 与 vault 连接。
您可以在 minikube 中设置一个额外的 pod busybox
并从那里使用 curl 以便它连接到同一网络上的保险库,在 minikube 中您还可以通过 服务名称而不是 IP。
您也可以按照本指南查找端口转发选项。
kubectl port-forward vault-0 8200:8200
一旦端口被转发到本地,您就可以curl locahost:8200
代替 IP。
获取保险库服务:
kubectl get svc -n <Namespace name>
端口转发到本地机器
kubectl port-forward <service name> 8200:8200 -n <Namespace name>
卷曲本地主机
curl localhost:8200/v1/sys/seal-status