本文详解 openshift 0.3.3 sample-app 部署时因工作目录错位导致的自签名证书校验失败问题,指出关键在于 `openshift ex` 命令需在正确子目录下执行,以确保客户端能自动加载生成的本地证书。
在 OpenShift Origin v0.3.3 的早期部署流程中(如 CentOS 6.6 环境),运行 openshift ex policy add-user 或 openshift ex registry --create 时频繁报出如下错误:
x509: certificate signed by unknown authority
该错误并非证书本身无效,而是客户端无法定位或加载 OpenShift 自动签发的本地 CA 证书与客户端证书对。根本原因在于文档中隐含的目录上下文切换未被明确强调:
✅ 正确操作顺序示例:
# 1. 进入 sample 目录生成证书和配置
cd origin/sample/
./build.sh # 或按 README 执行初始化
# 2. 切回 origin 根目录(关键!)
cd ../
# 3. 在 origin/ 下执行所有 openshift ex 命令
openshift ex policy add-user view anypassword:test-admin
openshift ex registry --create --credentials="${KUBECONFIG}"⚠️ 注意事项:
rm -rf openshift.local.config/ ~/.kube/configcd sample && ./build.sh && cd ..
? 总结:OpenShift v0.3.3 的证书机制高度依赖工作目录结构。严格遵循「在 sample/ 初始化 → 在 origin/ 执行命令」的路径约定,即可让 openshift ex 自动发现并使用正确的证书链,彻底避免 x509: certificate signed by unknown authority 错误。