使用Python代码运行OpenShift AI的Elyra Pipeline时遇SSL证书错误
解决OpenShift AI中kfp-tekton客户端SSL证书验证失败问题
错误提示SSLCertVerificationError表明Python客户端不认可OpenShift集群的SSL证书,通常是因为集群使用自签名或内部CA签发的证书。以下是两种解决方式:
方法1:临时禁用SSL验证(仅限开发/测试环境)
在初始化TektonClient时添加verify=False参数,跳过证书验证步骤:
import kfp_tekton token = "[my_token]" route = "[My_projectURL]" client = kfp_tekton.TektonClient(host=route, existing_token=token, verify=False)
⚠️ 注意:该方法会绕过安全校验,严禁在生产环境使用。
方法2:添加信任的CA证书(生产环境推荐)
如果集群使用内部CA签发的证书,可将CA证书路径传入verify参数,让客户端信任该证书:
- 获取集群CA证书:
- 方式一:登录OpenShift控制台,进入对应项目的"网络"->"路由"页面,下载目标路由的证书;
- 方式二:通过
oc命令导出证书:oc get secret router-ca -n openshift-ingress-operator -o jsonpath='{.data.tls\.crt}' | base64 -d > cluster-ca.crt
- 修改Python代码,指定CA证书路径:
import kfp_tekton
token = "[my_token]"
route = "[My_projectURL]"
ca_cert_path = "/path/to/cluster-ca.crt" # 替换为你的证书实际路径
client = kfp_tekton.TektonClient(host=route, existing_token=token, verify=ca_cert_path)
额外检查:错误日志中请求的是OpenShift控制台的地址,确认`route`参数是否为KFP/Tekton的正确API地址(而非控制台地址),正确地址可在OpenShift AI的Pipeline页面获取,格式通常为`https://ds-pipeline.<集群域名>`。 内容的提问来源于stack exchange,提问作者Diego
相关产品推荐
相关产品推荐

