如果我使用kubectl从id_rsa文件创建一个秘密:
kubectl create secret generic hcom-secret --from-file=ssh-privatekey=./.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
然后将秘密装入容器中
"volumeMounts": [
{"name": "cfg", "readOnly": false, "mountPath": "/home/hcom/.ssh"}
]
"volumes": [
{"name": "cfg", "secret": { "secretName": "hcom-ssh" }}
],
Run Code Online (Sandbox Code Playgroud)
结果文件不是id_rsa,而是ssh-privatekey,其上的许可证不是ssh所期望的600
这是一种正确的方法,还是有人可以详细说明应该如何做到这一点?
ffl*_*ing 11
官方Kubernetes秘密文档涵盖了这个确切的用例.
要创建秘密,请使用:
$ 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
Run Code Online (Sandbox Code Playgroud)
要在容器中安装机密,请使用以下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"
}
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,Kubernetes实际上没有办法控制秘密的文件权限,但最近的Pull Request确实增加了对更改秘密路径的支持.1.3根据此评论添加了此支持
以下是与Github相关的权限问题:
kub*_*zyk 11
从 kubernetes-1.4 开始,事情变得更简单了。这是我的看法,基于旧的指南。
要创建秘密,请使用:
kubectl create secret generic ssh-keys --from-file=id_rsa=/path/to/.ssh/id_rsa --from-file=id_rsa.pub=/path/to/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
要将机密装载到容器中,请使用以下 Pod 配置:
kubectl create secret generic ssh-keys --from-file=id_rsa=/path/to/.ssh/id_rsa --from-file=id_rsa.pub=/path/to/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
还有吹毛求疵:这个id_rsa.pub几乎从来没有被使用过,除非需要,我不会费心去保密它。
| 归档时间: |
|
| 查看次数: |
8749 次 |
| 最近记录: |