我有一个 Kubernetes pod,其持久卷安装在/data
。我正尝试使用该 pod 进行远程开发,因此需要确保我的私有 ssh 密钥在 pod 重启后仍然存在,这样我就可以继续向 GitHub 进行身份验证而无需生成新密钥。
我尝试export HOME="/data"
并指向ssh-keygen
,/data/.ssh
但仍然无法向 GitHub 进行身份验证。大概是 ssh 没有查看/data/.ssh
我的私钥。这里的解决方案是什么?如果有任何必要的配置,我确实可以控制用于 pod 的 Dockerfile。
答案1
为了在 Pod 重启期间保持私有 SSH 密钥有效,并确保 SSH 使用正确的密钥位置。您可以尝试以下步骤。
在 Dockerfile 中的 Docker 镜像中包含一个“/data”目录。然后,将您的私有 SSH 密钥复制到“/data/.ssh”,并为密钥提供必要的权限。
创建 pod 清单时,请确保包含一个 PersistentVolumeClaim(PVC) 来声明“/data”所需的持久卷。
将卷和卷挂载定义添加到 pod 规范中,以将 PVC 挂载到“/data”目录。
遵循文档使用 SSH 的 GitHub和设置 SSH 密钥了解更多信息。