Minikube 无法通过 curl 访问保险库以进行自动身份验证代理配置

问题描述

对于某些任务,我按照以下示例使用 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...