Kubernetes 我可以检索k8s secret并在集群外使用它吗?

Kubernetes 我可以检索k8s secret并在集群外使用它吗?,kubernetes,kubernetes-secrets,Kubernetes,Kubernetes Secrets,如果我想在K8s中保存凭证信息,然后从K8s中检索以使用,我可以这样做吗?如何运行?如果您能够在包含机密的命名空间内运行一个pod,您可以创建一个使用该机密的pod: apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mypod image: redis volumeMounts: - name: foo mountPath: "/etc/fo

如果我想在K8s中保存凭证信息,然后从K8s中检索以使用,我可以这样做吗?如何运行?

如果您能够在包含机密的命名空间内运行一个pod,您可以创建一个使用该机密的pod:

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - name: mypod
    image: redis
    volumeMounts:
    - name: foo
      mountPath: "/etc/foo"
      readOnly: true
  volumes:
  - name: foo
    secret:
      secretName: mysecret
然后将密码打印到
stdout

kubectl exec -it mypod -- ls /etc/foo/
kubectl exec -it mypod -- cat /etc/foo/secret.file
是的,你可以,但你可能不应该

当您运行
kubectl get secret
命令时,它在幕后执行的是对kubernetes api服务器的api调用

要访问群集外部的机密,您需要:

  • 将Kubernetes api公开给客户端(如果不在同一网络中)
  • 以创建外部客户端使用的凭据
  • 打电话给警察。端点类似于
    /api/v1/namespace/{namespace}/secrets
正如前面所说,你可能不应该这样做,市场上有很多工具可以用来做秘密管理,它们更适合这种情况