gpt4 book ai didi

ssh - 在 kubernetes 中创建 ssh secrets key 文件

转载 作者:行者123 更新时间:2023-12-04 10:47:43 26 4
gpt4 key购买 nike

如果我使用 kubectl 从 id_rsa 文件创建一个 secret :

kubectl create secret generic hcom-secret --from-file=ssh-privatekey=./.ssh/id_rsa

然后将 secret 挂载到容器中
"volumeMounts": [
{"name": "cfg", "readOnly": false, "mountPath": "/home/hcom/.ssh"}
]

"volumes": [
{"name": "cfg", "secret": { "secretName": "hcom-ssh" }}
],

生成的文件不是 id_rsa 而是 ssh-privatekey 并且其上的许可不是 ssh 期望的 600

这是一种正确的方法,或者任何人都可以详细说明应该如何做到这一点?

最佳答案

Kubernetes 官方 secret 文档涵盖 this exact use-case .

要创建 secret ,请使用:

$ kubectl create secret generic my-secret --from-file=ssh-privatekey=/path/to/.ssh/id_rsa --from-file=ssh-publickey=/path/to/.ssh/id_rsa.pub

要在容器中挂载 secret ,请使用以下 Pod 配置:
{
"kind": "Pod",
"apiVersion": "v1",
"metadata": {
"name": "secret-test-pod",
"labels": {
"name": "secret-test"
}
},
"spec": {
"volumes": [
{
"name": "secret-volume",
"secret": {
"secretName": "my-secret"
}
}
],
"containers": [
{
"name": "ssh-test-container",
"image": "mySshImage",
"volumeMounts": [
{
"name": "secret-volume",
"readOnly": true,
"mountPath": "/etc/secret-volume"
}
]
}
]
}
}

截至目前,Kubernetes 实际上没有办法控制 secret 文件的权限,但是 a recent Pull Request确实添加了对更改 secret 路径的支持。此支持是通过 1.3 添加的根据 this comment

以下是与权限相关的 Github 问题:
  • https://github.com/kubernetes/kubernetes/issues/4789
  • https://github.com/kubernetes/kubernetes/issues/28317
  • 关于ssh - 在 kubernetes 中创建 ssh secrets key 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39568412/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com