如果我使用kubectl從一個id_rsa文件中創建一個祕密:創建SSH祕密kubernetes密鑰文件
kubectl create secret generic hcom-secret --from-file=ssh-privatekey=./.ssh/id_rsa
,然後裝入祕密入容器
"volumeMounts": [
{"name": "cfg", "readOnly": false, "mountPath": "/home/hcom/.ssh"}
]
"volumes": [
{"name": "cfg", "secret": { "secretName": "hcom-ssh" }}
],
得到的文件是不id_rsa但SSH-專用密鑰,並且都在它的許可證是不是600,SSH預計
這是一個正確的做法,或任何人都可以請詳細說明這個應該怎麼做?
如果你想要的名稱爲id_rsa,你應該是正在執行'--from-file = id_rsa =。/。ssh/id_rsa' – ffledgling
id_rsa不是有效的文件名 - 正則表達式驗證失敗。即使我生成一個json文件並嘗試編輯它並使用id_rsa作爲文件名,它也不會加載該祕密 –
我看,似乎Kubernetes有一個奇怪的限制,其中祕密名稱(以及其他名稱,如標籤) ,必須是有效的DNS名稱,符合'[a-z0-9]([ - a-z0-9] * [a-z0-9])'這裏是[相關代碼](https:// github。 COM/kubernetes/kubernetes/BLOB/7f2d0c0f710617ef1f5eec4745b23e0d3f360037 /包裝/ UTIL/validation.go#L26) – ffledgling