kubernetes - 无法从 Kubernetes 集群中运行的不同 pod 访问 Vault 服务器
问题描述
我在 kubernetes 中设置了 hashcorp 保险库服务器。通过 CLI 或 UI 访问时,Vault 服务器工作正常。我创建了另一个运行我的应用程序的 pod。但是我无法从运行在不同 pod 上的应用程序访问 Vault Server。
我尝试使用 Cluster-IP:Port, IP:Port 但总是看到错误连接被拒绝。
服务.yaml
apiVersion: v1
kind: Service
metadata:
name: vault
labels:
run: vault
spec:
type: ClusterIP
ports:
- port: 8080
targetPort: 8200
protocol: TCP
name: vault
selector:
run: vault
deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: vault
labels:
run: vault
spec:
replicas: 1
template:
metadata:
labels:
run: vault
spec:
containers:
- name: vault
command: ["vault", "server", "-config", "/vault/config/vault.hcl"]
image: "vault"
imagePullPolicy: IfNotPresent
securityContext:
capabilities:
add:
- IPC_LOCK
volumeMounts:
- name: configurations
mountPath: /vault/config/vault.hcl
subPath: vault.hcl
volumes:
- name: configurations
configMap:
name: vault
I need to access vault server from an application running in different pod within same cluster.
解决方案
请描述一下,您如何尝试从不同的 pod 访问 Vault?
否则,如果您在 pod 上没有看到任何错误,则需要能够通过您提到的服务名称或 ClusterIP 地址从同一命名空间内的其他 pod 访问 Vault。
出于故障排除目的,我建议您运行示例 Vault pod 以进行测试,如下所示
kubectl run vault-test --image=vault -l "app=vault-test"
然后,通过以下方式运行 exec 到新 pod 的 shell:
kubectl exec -it $(kubectl get pods --namespace default -l "app=vault-test" -o jsonpath="{.items[0].metadata.name}") sh
然后,运行以下命令以查看测试:
export VAULT_ADDR=http://vault:8080
# "vault" 是你的服务名称
或者
export VAULT_ADDR=http://<ClusterIP of vault service>:8080
然后
vault status
你需要看到如下输出
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed false
Total Shares 1
Threshold 1
Version 1.0.1
Cluster Name vault-cluster-f3e6e68d
Cluster ID 0280993f-5aee-4f97-b8e5-53f652fdc5ad
HA Enabled false
请让我知道此故障排除的状态。
推荐阅读
- mysql - MySQL - 获取期间下达第 25 个订单的用户
- c++ - Obj::* 是什么意思?
- c# - WPF:Datagrid 不显示数据
- java - 从 Spring Boot 运行时的 AWSLambdaException 和 InvalidSignatureException
- google-cloud-data-fusion - 如何在数据融合中将架构文件作为宏传递给 BigQuery 接收器
- c - 读取指针
- ios - 快速展开模式
- javascript - 在 Cypress.io 中监控网站的控制台输出
- python - Python - 附加反斜杠添加到文件路径
- javascript - 三 JS:缩放以使对象适合中心点